blob: bc5eaa5a767962757bff081928c45d005022f745 [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 Roese237b6292019-04-11 08:58:32 +020012 select SPL_DM if SPL
13 select SPL_DM_SEQ_ALIAS if SPL
14 select SPL_OF_CONTROL if SPL
15 select SPL_SIMPLE_BUS if SPL
Michal Simek58008cb2018-07-23 15:55:15 +020016 select SUPPORT_SPL
Stefan Roesef2100f62019-04-12 16:42:28 +020017 select TRANSLATION_OFFSET
Stefan Roesef61aefc2016-05-17 15:00:30 +020018
19config ARMADA_64BIT
20 bool
21 select ARM64
22
23# ARMv7 SoCs...
Stefan Roese606576d2016-01-29 09:14:54 +010024config ARMADA_375
25 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020026 select ARMADA_32BIT
Stefan Roese606576d2016-01-29 09:14:54 +010027
Stefan Roese81e33f42015-12-21 13:56:33 +010028config ARMADA_38X
29 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020030 select ARMADA_32BIT
Mario Sixa1b6b0a2017-01-11 16:01:00 +010031 select HAVE_MVEBU_EFUSE
Stefan Roese81e33f42015-12-21 13:56:33 +010032
33config ARMADA_XP
34 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020035 select ARMADA_32BIT
Stefan Roese81e33f42015-12-21 13:56:33 +010036
Stefan Roesef61aefc2016-05-17 15:00:30 +020037# ARMv8 SoCs...
38config ARMADA_3700
39 bool
40 select ARM64
41
Stefan Roese21b29fc2016-05-25 08:13:45 +020042# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
43config ARMADA_8K
44 bool
45 select ARM64
46
Chris Packhama53d97a2016-10-26 14:08:30 +130047# Armada PLL frequency (used for NAND clock generation)
48config SYS_MVEBU_PLL_CLOCK
49 int
Chris Packham0d0df462019-04-11 22:22:50 +120050 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packhama53d97a2016-10-26 14:08:30 +130051 default "1000000000" if ARMADA_38X || ARMADA_375
52
Stefan Roesef61aefc2016-05-17 15:00:30 +020053# Armada XP/38x SoC types...
Phil Sutter42902522015-12-25 14:41:22 +010054config MV78230
55 bool
56 select ARMADA_XP
57
58config MV78260
59 bool
60 select ARMADA_XP
Simon Glass3bf926c2017-06-14 21:28:24 -060061 imply CMD_SATA
Phil Sutter42902522015-12-25 14:41:22 +010062
63config MV78460
64 bool
65 select ARMADA_XP
66
Chris Packham0d0df462019-04-11 22:22:50 +120067config ARMADA_MSYS
68 bool
69 select ARMADA_32BIT
70
71config 98DX4251
72 bool
73 select ARMADA_MSYS
74
75config 98DX3336
76 bool
77 select ARMADA_MSYS
78
79config 98DX3236
80 bool
81 select ARMADA_MSYS
82
Chris Packham53d601f2016-09-22 12:56:13 +120083config 88F6820
Phil Sutter42902522015-12-25 14:41:22 +010084 bool
85 select ARMADA_38X
86
Stefan Roesec3d89142015-08-25 13:18:38 +020087choice
Stefan Roese21b29fc2016-05-25 08:13:45 +020088 prompt "Armada XP/375/38x/3700/7K/8K board select"
Stefan Roesec3d89142015-08-25 13:18:38 +020089 optional
90
Stefan Roese0299c902015-10-20 15:14:47 +020091config TARGET_CLEARFOG
92 bool "Support ClearFog"
Chris Packham53d601f2016-09-22 12:56:13 +120093 select 88F6820
Baruch Siach867572f2020-01-20 14:20:13 +020094 select BOARD_LATE_INIT
Stefan Roese0299c902015-10-20 15:14:47 +020095
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -050096config TARGET_HELIOS4
97 bool "Support Helios4"
98 select 88F6820
99
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200100config TARGET_MVEBU_ARMADA_37XX
101 bool "Support Armada 37xx platforms"
Stefan Roese01e62c72016-05-17 15:04:16 +0200102 select ARMADA_3700
Simon Glassfedb4282017-06-14 21:28:21 -0600103 imply SCSI
Stefan Roese01e62c72016-05-17 15:04:16 +0200104
Stefan Roese606576d2016-01-29 09:14:54 +0100105config TARGET_DB_88F6720
106 bool "Support DB-88F6720 Armada 375"
107 select ARMADA_375
108
Stefan Roesec3d89142015-08-25 13:18:38 +0200109config TARGET_DB_88F6820_GP
110 bool "Support DB-88F6820-GP"
Chris Packham53d601f2016-09-22 12:56:13 +1200111 select 88F6820
Stefan Roesec3d89142015-08-25 13:18:38 +0200112
Chris Packhamc0def242016-09-22 12:56:14 +1200113config TARGET_DB_88F6820_AMC
114 bool "Support DB-88F6820-AMC"
115 select 88F6820
116
Marek Behúnb6ee8602017-06-09 19:28:45 +0200117config TARGET_TURRIS_OMNIA
118 bool "Support Turris Omnia"
119 select 88F6820
Marek Behún539f0242019-05-02 16:53:37 +0200120 select BOARD_LATE_INIT
Marek Behún8420edc2019-05-02 16:53:28 +0200121 select DM_I2C
122 select I2C_MUX
123 select I2C_MUX_PCA954x
124 select SPL_I2C_MUX
125 select SYS_I2C_MVTWSI
Marek Behún6b26f3e2019-05-02 16:53:32 +0200126 select ATSHA204A
Marek Behúnb6ee8602017-06-09 19:28:45 +0200127
Marek Behún80af1a92018-04-24 17:21:31 +0200128config TARGET_TURRIS_MOX
129 bool "Support Turris Mox"
130 select ARMADA_3700
131
Stefan Roese633fa0e2016-10-25 10:56:19 +0200132config TARGET_MVEBU_ARMADA_8K
133 bool "Support Armada 7k/8k platforms"
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200134 select ARMADA_8K
Tom Rinie5ec4812017-01-22 19:43:11 -0500135 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600136 imply SCSI
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200137
Stefan Roesec3d89142015-08-25 13:18:38 +0200138config TARGET_DB_MV784MP_GP
139 bool "Support db-mv784mp-gp"
Phil Sutter42902522015-12-25 14:41:22 +0100140 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200141
Phil Sutteraefb8f42015-12-25 14:41:25 +0100142config TARGET_DS414
143 bool "Support Synology DS414"
144 select MV78230
145
Stefan Roesec3d89142015-08-25 13:18:38 +0200146config TARGET_MAXBCM
147 bool "Support maxbcm"
Phil Sutter42902522015-12-25 14:41:22 +0100148 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200149
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100150config TARGET_THEADORABLE
151 bool "Support theadorable Armada XP"
Tom Rinie5ec4812017-01-22 19:43:11 -0500152 select BOARD_LATE_INIT if USB
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100153 select MV78260
Simon Glass3bf926c2017-06-14 21:28:24 -0600154 imply CMD_SATA
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100155
Dirk Eibach60083262017-02-22 16:07:23 +0100156config TARGET_CONTROLCENTERDC
157 bool "Support CONTROLCENTERDC"
158 select 88F6820
159
Chris Packham0e316662019-01-10 21:01:00 +1300160config TARGET_X530
161 bool "Support Allied Telesis x530"
162 select 88F6820
163
Chris Packham4db944a2019-04-11 22:22:53 +1200164config TARGET_DB_XC3_24G4XG
165 bool "Support DB-XC3-24G4XG"
166 select 98DX3336
167
Luka Kovacic22bb9132019-05-07 19:35:55 +0200168config TARGET_CRS305_1G_4S
169 bool "Support CRS305-1G-4S"
170 select 98DX3236
171
Stefan Roesec3d89142015-08-25 13:18:38 +0200172endchoice
173
Stefan Roeseb322c832015-12-21 13:40:37 +0100174config SYS_BOARD
175 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500176 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200177 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100178 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100179 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200180 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200181 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200182 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese633fa0e2016-10-25 10:56:19 +0200183 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100184 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100185 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100186 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100187 default "theadorable" if TARGET_THEADORABLE
Baruch Siachd38f04f2018-06-18 21:56:23 +0300188 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300189 default "x530" if TARGET_X530
Chris Packham4db944a2019-04-11 22:22:53 +1200190 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic22bb9132019-05-07 19:35:55 +0200191 default "crs305-1g-4s" if TARGET_CRS305_1G_4S
Stefan Roeseb322c832015-12-21 13:40:37 +0100192
193config SYS_CONFIG_NAME
194 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500195 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200196 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100197 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100198 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200199 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200200 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100201 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100202 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100203 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100204 default "theadorable" if TARGET_THEADORABLE
Marek Behúnb6ee8602017-06-09 19:28:45 +0200205 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200206 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300207 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300208 default "x530" if TARGET_X530
Chris Packham4db944a2019-04-11 22:22:53 +1200209 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic22bb9132019-05-07 19:35:55 +0200210 default "crs305-1g-4s" if TARGET_CRS305_1G_4S
Stefan Roeseb322c832015-12-21 13:40:37 +0100211
212config SYS_VENDOR
213 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200214 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100215 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100216 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200217 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200218 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Chris Packham4db944a2019-04-11 22:22:53 +1200219 default "Marvell" if TARGET_DB_XC3_24G4XG
220 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb322c832015-12-21 13:40:37 +0100221 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500222 default "kobol" if TARGET_HELIOS4
Phil Sutteraefb8f42015-12-25 14:41:25 +0100223 default "Synology" if TARGET_DS414
Marek Behúnb6ee8602017-06-09 19:28:45 +0200224 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200225 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300226 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300227 default "alliedtelesis" if TARGET_X530
Luka Kovacic22bb9132019-05-07 19:35:55 +0200228 default "mikrotik" if TARGET_CRS305_1G_4S
Stefan Roeseb322c832015-12-21 13:40:37 +0100229
Stefan Roesec3d89142015-08-25 13:18:38 +0200230config SYS_SOC
231 default "mvebu"
232
Marek Behúnb6ee8602017-06-09 19:28:45 +0200233choice
Baruch Siachad105f52018-06-18 21:56:24 +0300234 prompt "Boot method"
Marek Behúnb6ee8602017-06-09 19:28:45 +0200235
Baruch Siachad105f52018-06-18 21:56:24 +0300236config MVEBU_SPL_BOOT_DEVICE_SPI
Marek Behúnb6ee8602017-06-09 19:28:45 +0200237 bool "SPI NOR flash"
238
Baruch Siachad105f52018-06-18 21:56:24 +0300239config MVEBU_SPL_BOOT_DEVICE_MMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200240 bool "SDIO/MMC card"
Baruch Siachad105f52018-06-18 21:56:24 +0300241 select SPL_LIBDISK_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200242
Baruch Siach22c65452019-05-16 13:03:58 +0300243config MVEBU_SPL_BOOT_DEVICE_SATA
244 bool "SATA"
245 select SPL_SATA_SUPPORT
246 select SPL_LIBDISK_SUPPORT
247
Baruch Siach72c4e672018-06-18 21:56:26 +0300248config MVEBU_SPL_BOOT_DEVICE_UART
249 bool "UART"
250
Marek Behúnb6ee8602017-06-09 19:28:45 +0200251endchoice
252
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100253config MVEBU_EFUSE
254 bool "Enable eFuse support"
255 default n
256 depends on HAVE_MVEBU_EFUSE
257 help
258 Enable support for reading and writing eFuses on mvebu SoCs.
259
260config MVEBU_EFUSE_FAKE
261 bool "Fake eFuse access (dry run)"
262 default n
263 depends on MVEBU_EFUSE
264 help
265 This enables a "dry run" mode where eFuses are not really programmed.
266 Instead the eFuse accesses are emulated by writing to and reading
267 from a memory block.
268 This is can be used for testing prog scripts.
269
270config SECURED_MODE_IMAGE
271 bool "Build image for trusted boot"
272 default false
273 depends on 88F6820
274 help
275 Build an image that employs the ARMADA SoC's trusted boot framework
276 for securely booting images.
277
278config SECURED_MODE_CSK_INDEX
279 int "Index of active CSK"
280 default 0
281 depends on SECURED_MODE_IMAGE
282
Stefan Roesec3d89142015-08-25 13:18:38 +0200283endif