blob: d1f71338ac2a015a961f15e179912f4b0d4503d4 [file] [log] [blame]
Stefan Roesec3d89142015-08-25 13:18:38 +02001if ARCH_MVEBU
2
Mario Sixa1b6b0a2017-01-11 16:01:00 +01003config HAVE_MVEBU_EFUSE
4 bool
5 default n
6
Stefan Roesef61aefc2016-05-17 15:00:30 +02007config ARMADA_32BIT
8 bool
Michal Simek58008cb2018-07-23 15:55:15 +02009 select ARCH_MISC_INIT
10 select BOARD_EARLY_INIT_F
Lokesh Vutlaacf15002018-04-26 18:21:26 +053011 select CPU_V7A
Stefan Roesef61aefc2016-05-17 15:00:30 +020012 select SPL_DM
13 select SPL_DM_SEQ_ALIAS
14 select SPL_OF_CONTROL
15 select SPL_SIMPLE_BUS
Michal Simek58008cb2018-07-23 15:55:15 +020016 select SUPPORT_SPL
Stefan Roesef61aefc2016-05-17 15:00:30 +020017
18config ARMADA_64BIT
19 bool
20 select ARM64
21
22# ARMv7 SoCs...
Stefan Roese606576d2016-01-29 09:14:54 +010023config ARMADA_375
24 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020025 select ARMADA_32BIT
Stefan Roese606576d2016-01-29 09:14:54 +010026
Stefan Roese81e33f42015-12-21 13:56:33 +010027config ARMADA_38X
28 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020029 select ARMADA_32BIT
Mario Sixa1b6b0a2017-01-11 16:01:00 +010030 select HAVE_MVEBU_EFUSE
Stefan Roese81e33f42015-12-21 13:56:33 +010031
32config ARMADA_XP
33 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020034 select ARMADA_32BIT
Stefan Roese81e33f42015-12-21 13:56:33 +010035
Stefan Roesef61aefc2016-05-17 15:00:30 +020036# ARMv8 SoCs...
37config ARMADA_3700
38 bool
39 select ARM64
40
Stefan Roese21b29fc2016-05-25 08:13:45 +020041# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
42config ARMADA_8K
43 bool
44 select ARM64
45
Chris Packhama53d97a2016-10-26 14:08:30 +130046# Armada PLL frequency (used for NAND clock generation)
47config SYS_MVEBU_PLL_CLOCK
48 int
49 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K
50 default "1000000000" if ARMADA_38X || ARMADA_375
51
Stefan Roesef61aefc2016-05-17 15:00:30 +020052# Armada XP/38x SoC types...
Phil Sutter42902522015-12-25 14:41:22 +010053config MV78230
54 bool
55 select ARMADA_XP
56
57config MV78260
58 bool
59 select ARMADA_XP
Simon Glass3bf926c2017-06-14 21:28:24 -060060 imply CMD_SATA
Phil Sutter42902522015-12-25 14:41:22 +010061
62config MV78460
63 bool
64 select ARMADA_XP
65
Chris Packham53d601f2016-09-22 12:56:13 +120066config 88F6820
Phil Sutter42902522015-12-25 14:41:22 +010067 bool
68 select ARMADA_38X
69
Stefan Roesec3d89142015-08-25 13:18:38 +020070choice
Stefan Roese21b29fc2016-05-25 08:13:45 +020071 prompt "Armada XP/375/38x/3700/7K/8K board select"
Stefan Roesec3d89142015-08-25 13:18:38 +020072 optional
73
Stefan Roese0299c902015-10-20 15:14:47 +020074config TARGET_CLEARFOG
75 bool "Support ClearFog"
Chris Packham53d601f2016-09-22 12:56:13 +120076 select 88F6820
Stefan Roese0299c902015-10-20 15:14:47 +020077
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -050078config TARGET_HELIOS4
79 bool "Support Helios4"
80 select 88F6820
81
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +020082config TARGET_MVEBU_ARMADA_37XX
83 bool "Support Armada 37xx platforms"
Stefan Roese01e62c72016-05-17 15:04:16 +020084 select ARMADA_3700
Simon Glassfedb4282017-06-14 21:28:21 -060085 imply SCSI
Stefan Roese01e62c72016-05-17 15:04:16 +020086
Stefan Roese606576d2016-01-29 09:14:54 +010087config TARGET_DB_88F6720
88 bool "Support DB-88F6720 Armada 375"
89 select ARMADA_375
90
Stefan Roesec3d89142015-08-25 13:18:38 +020091config TARGET_DB_88F6820_GP
92 bool "Support DB-88F6820-GP"
Chris Packham53d601f2016-09-22 12:56:13 +120093 select 88F6820
Stefan Roesec3d89142015-08-25 13:18:38 +020094
Chris Packhamc0def242016-09-22 12:56:14 +120095config TARGET_DB_88F6820_AMC
96 bool "Support DB-88F6820-AMC"
97 select 88F6820
98
Marek Behúnb6ee8602017-06-09 19:28:45 +020099config TARGET_TURRIS_OMNIA
100 bool "Support Turris Omnia"
101 select 88F6820
102
Marek Behún80af1a92018-04-24 17:21:31 +0200103config TARGET_TURRIS_MOX
104 bool "Support Turris Mox"
105 select ARMADA_3700
106
Stefan Roese633fa0e2016-10-25 10:56:19 +0200107config TARGET_MVEBU_ARMADA_8K
108 bool "Support Armada 7k/8k platforms"
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200109 select ARMADA_8K
Tom Rinie5ec4812017-01-22 19:43:11 -0500110 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600111 imply SCSI
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200112
Stefan Roesec3d89142015-08-25 13:18:38 +0200113config TARGET_DB_MV784MP_GP
114 bool "Support db-mv784mp-gp"
Phil Sutter42902522015-12-25 14:41:22 +0100115 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100117config TARGET_DS414
118 bool "Support Synology DS414"
119 select MV78230
120
Stefan Roesec3d89142015-08-25 13:18:38 +0200121config TARGET_MAXBCM
122 bool "Support maxbcm"
Phil Sutter42902522015-12-25 14:41:22 +0100123 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200124
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100125config TARGET_THEADORABLE
126 bool "Support theadorable Armada XP"
Tom Rinie5ec4812017-01-22 19:43:11 -0500127 select BOARD_LATE_INIT if USB
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100128 select MV78260
Simon Glass3bf926c2017-06-14 21:28:24 -0600129 imply CMD_SATA
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100130
Dirk Eibach60083262017-02-22 16:07:23 +0100131config TARGET_CONTROLCENTERDC
132 bool "Support CONTROLCENTERDC"
133 select 88F6820
134
Stefan Roesec3d89142015-08-25 13:18:38 +0200135endchoice
136
Stefan Roeseb322c832015-12-21 13:40:37 +0100137config SYS_BOARD
138 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500139 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200140 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100141 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100142 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200143 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200144 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200145 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese633fa0e2016-10-25 10:56:19 +0200146 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100147 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100148 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100149 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100150 default "theadorable" if TARGET_THEADORABLE
Baruch Siachd38f04f2018-06-18 21:56:23 +0300151 default "a38x" if TARGET_CONTROLCENTERDC
Stefan Roeseb322c832015-12-21 13:40:37 +0100152
153config SYS_CONFIG_NAME
154 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500155 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200156 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100157 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100158 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200159 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200160 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100161 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100162 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100163 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100164 default "theadorable" if TARGET_THEADORABLE
Marek Behúnb6ee8602017-06-09 19:28:45 +0200165 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200166 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300167 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Stefan Roeseb322c832015-12-21 13:40:37 +0100168
169config SYS_VENDOR
170 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200171 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100172 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100173 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200174 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200175 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100176 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500177 default "kobol" if TARGET_HELIOS4
Phil Sutteraefb8f42015-12-25 14:41:25 +0100178 default "Synology" if TARGET_DS414
Marek Behúnb6ee8602017-06-09 19:28:45 +0200179 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200180 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300181 default "gdsys" if TARGET_CONTROLCENTERDC
Stefan Roeseb322c832015-12-21 13:40:37 +0100182
Stefan Roesec3d89142015-08-25 13:18:38 +0200183config SYS_SOC
184 default "mvebu"
185
Marek Behúnb6ee8602017-06-09 19:28:45 +0200186choice
Baruch Siachad105f52018-06-18 21:56:24 +0300187 prompt "Boot method"
Marek Behúnb6ee8602017-06-09 19:28:45 +0200188
Baruch Siachad105f52018-06-18 21:56:24 +0300189config MVEBU_SPL_BOOT_DEVICE_SPI
Marek Behúnb6ee8602017-06-09 19:28:45 +0200190 bool "SPI NOR flash"
191
Baruch Siachad105f52018-06-18 21:56:24 +0300192config MVEBU_SPL_BOOT_DEVICE_MMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200193 bool "SDIO/MMC card"
Baruch Siachad105f52018-06-18 21:56:24 +0300194 select SPL_LIBDISK_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200195
Baruch Siach72c4e672018-06-18 21:56:26 +0300196config MVEBU_SPL_BOOT_DEVICE_UART
197 bool "UART"
198
Marek Behúnb6ee8602017-06-09 19:28:45 +0200199endchoice
200
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100201config MVEBU_EFUSE
202 bool "Enable eFuse support"
203 default n
204 depends on HAVE_MVEBU_EFUSE
205 help
206 Enable support for reading and writing eFuses on mvebu SoCs.
207
208config MVEBU_EFUSE_FAKE
209 bool "Fake eFuse access (dry run)"
210 default n
211 depends on MVEBU_EFUSE
212 help
213 This enables a "dry run" mode where eFuses are not really programmed.
214 Instead the eFuse accesses are emulated by writing to and reading
215 from a memory block.
216 This is can be used for testing prog scripts.
217
218config SECURED_MODE_IMAGE
219 bool "Build image for trusted boot"
220 default false
221 depends on 88F6820
222 help
223 Build an image that employs the ARMADA SoC's trusted boot framework
224 for securely booting images.
225
226config SECURED_MODE_CSK_INDEX
227 int "Index of active CSK"
228 default 0
229 depends on SECURED_MODE_IMAGE
230
Stefan Roesec3d89142015-08-25 13:18:38 +0200231endif