blob: 72aee8b3e581d4991dfaecd8e623e5a886c00d38 [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
Joshua Scott28f0cbc2020-11-09 10:14:08 +130033config ARMADA_38X_HS_IMPEDANCE_THRESH
34 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
35 depends on ARMADA_38X
36 default 0x6
37 range 0x0 0x7
38
Stefan Roese81e33f42015-12-21 13:56:33 +010039config ARMADA_XP
40 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020041 select ARMADA_32BIT
Stefan Roese81e33f42015-12-21 13:56:33 +010042
Stefan Roesef61aefc2016-05-17 15:00:30 +020043# ARMv8 SoCs...
44config ARMADA_3700
45 bool
46 select ARM64
47
Stefan Roese21b29fc2016-05-25 08:13:45 +020048# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
49config ARMADA_8K
50 bool
51 select ARM64
52
Chris Packhama53d97a2016-10-26 14:08:30 +130053# Armada PLL frequency (used for NAND clock generation)
54config SYS_MVEBU_PLL_CLOCK
55 int
Chris Packham0d0df462019-04-11 22:22:50 +120056 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packhama53d97a2016-10-26 14:08:30 +130057 default "1000000000" if ARMADA_38X || ARMADA_375
58
Stefan Roesef61aefc2016-05-17 15:00:30 +020059# Armada XP/38x SoC types...
Phil Sutter42902522015-12-25 14:41:22 +010060config MV78230
61 bool
62 select ARMADA_XP
63
64config MV78260
65 bool
66 select ARMADA_XP
Simon Glass3bf926c2017-06-14 21:28:24 -060067 imply CMD_SATA
Phil Sutter42902522015-12-25 14:41:22 +010068
69config MV78460
70 bool
71 select ARMADA_XP
72
Chris Packham0d0df462019-04-11 22:22:50 +120073config ARMADA_MSYS
74 bool
75 select ARMADA_32BIT
76
77config 98DX4251
78 bool
79 select ARMADA_MSYS
80
81config 98DX3336
82 bool
83 select ARMADA_MSYS
84
85config 98DX3236
86 bool
87 select ARMADA_MSYS
88
Chris Packham53d601f2016-09-22 12:56:13 +120089config 88F6820
Phil Sutter42902522015-12-25 14:41:22 +010090 bool
91 select ARMADA_38X
92
Stefan Roesec3d89142015-08-25 13:18:38 +020093choice
Stefan Roese21b29fc2016-05-25 08:13:45 +020094 prompt "Armada XP/375/38x/3700/7K/8K board select"
Stefan Roesec3d89142015-08-25 13:18:38 +020095 optional
96
Stefan Roese0299c902015-10-20 15:14:47 +020097config TARGET_CLEARFOG
98 bool "Support ClearFog"
Chris Packham53d601f2016-09-22 12:56:13 +120099 select 88F6820
Baruch Siach867572f2020-01-20 14:20:13 +0200100 select BOARD_LATE_INIT
Stefan Roese0299c902015-10-20 15:14:47 +0200101
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500102config TARGET_HELIOS4
103 bool "Support Helios4"
104 select 88F6820
105
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200106config TARGET_MVEBU_ARMADA_37XX
107 bool "Support Armada 37xx platforms"
Stefan Roese01e62c72016-05-17 15:04:16 +0200108 select ARMADA_3700
Simon Glassfedb4282017-06-14 21:28:21 -0600109 imply SCSI
Stefan Roese01e62c72016-05-17 15:04:16 +0200110
Stefan Roese606576d2016-01-29 09:14:54 +0100111config TARGET_DB_88F6720
112 bool "Support DB-88F6720 Armada 375"
113 select ARMADA_375
114
Stefan Roesec3d89142015-08-25 13:18:38 +0200115config TARGET_DB_88F6820_GP
116 bool "Support DB-88F6820-GP"
Chris Packham53d601f2016-09-22 12:56:13 +1200117 select 88F6820
Stefan Roesec3d89142015-08-25 13:18:38 +0200118
Chris Packhamc0def242016-09-22 12:56:14 +1200119config TARGET_DB_88F6820_AMC
120 bool "Support DB-88F6820-AMC"
121 select 88F6820
122
Marek Behúnb6ee8602017-06-09 19:28:45 +0200123config TARGET_TURRIS_OMNIA
124 bool "Support Turris Omnia"
125 select 88F6820
Marek Behún539f0242019-05-02 16:53:37 +0200126 select BOARD_LATE_INIT
Marek Behún8420edc2019-05-02 16:53:28 +0200127 select DM_I2C
128 select I2C_MUX
129 select I2C_MUX_PCA954x
130 select SPL_I2C_MUX
131 select SYS_I2C_MVTWSI
Marek Behún6b26f3e2019-05-02 16:53:32 +0200132 select ATSHA204A
Marek Behúnb6ee8602017-06-09 19:28:45 +0200133
Marek Behún80af1a92018-04-24 17:21:31 +0200134config TARGET_TURRIS_MOX
135 bool "Support Turris Mox"
136 select ARMADA_3700
137
Stefan Roese633fa0e2016-10-25 10:56:19 +0200138config TARGET_MVEBU_ARMADA_8K
139 bool "Support Armada 7k/8k platforms"
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200140 select ARMADA_8K
Tom Rinie5ec4812017-01-22 19:43:11 -0500141 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600142 imply SCSI
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200143
Stefan Roesec3d89142015-08-25 13:18:38 +0200144config TARGET_DB_MV784MP_GP
145 bool "Support db-mv784mp-gp"
Phil Sutter42902522015-12-25 14:41:22 +0100146 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200147
Phil Sutteraefb8f42015-12-25 14:41:25 +0100148config TARGET_DS414
149 bool "Support Synology DS414"
150 select MV78230
151
Stefan Roesec3d89142015-08-25 13:18:38 +0200152config TARGET_MAXBCM
153 bool "Support maxbcm"
Phil Sutter42902522015-12-25 14:41:22 +0100154 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200155
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100156config TARGET_THEADORABLE
157 bool "Support theadorable Armada XP"
Tom Rinie5ec4812017-01-22 19:43:11 -0500158 select BOARD_LATE_INIT if USB
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100159 select MV78260
Simon Glass3bf926c2017-06-14 21:28:24 -0600160 imply CMD_SATA
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100161
Dirk Eibach60083262017-02-22 16:07:23 +0100162config TARGET_CONTROLCENTERDC
163 bool "Support CONTROLCENTERDC"
164 select 88F6820
165
Chris Packham0e316662019-01-10 21:01:00 +1300166config TARGET_X530
167 bool "Support Allied Telesis x530"
168 select 88F6820
169
Chris Packham4db944a2019-04-11 22:22:53 +1200170config TARGET_DB_XC3_24G4XG
171 bool "Support DB-XC3-24G4XG"
172 select 98DX3336
173
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200174config TARGET_CRS3XX_98DX3236
175 bool "Support CRS3XX-98DX3236"
Luka Kovacic22bb9132019-05-07 19:35:55 +0200176 select 98DX3236
177
Stefan Roesec3d89142015-08-25 13:18:38 +0200178endchoice
179
Stefan Roeseb322c832015-12-21 13:40:37 +0100180config SYS_BOARD
181 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500182 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200183 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100184 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100185 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200186 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200187 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200188 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese633fa0e2016-10-25 10:56:19 +0200189 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100190 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100191 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100192 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100193 default "theadorable" if TARGET_THEADORABLE
Baruch Siachd38f04f2018-06-18 21:56:23 +0300194 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300195 default "x530" if TARGET_X530
Chris Packham4db944a2019-04-11 22:22:53 +1200196 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200197 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Stefan Roeseb322c832015-12-21 13:40:37 +0100198
199config SYS_CONFIG_NAME
200 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500201 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200202 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100203 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100204 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200205 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200206 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100207 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100208 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100209 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100210 default "theadorable" if TARGET_THEADORABLE
Marek Behúnb6ee8602017-06-09 19:28:45 +0200211 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200212 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300213 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300214 default "x530" if TARGET_X530
Chris Packham4db944a2019-04-11 22:22:53 +1200215 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200216 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Stefan Roeseb322c832015-12-21 13:40:37 +0100217
218config SYS_VENDOR
219 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200220 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100221 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100222 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200223 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200224 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Chris Packham4db944a2019-04-11 22:22:53 +1200225 default "Marvell" if TARGET_DB_XC3_24G4XG
226 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb322c832015-12-21 13:40:37 +0100227 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500228 default "kobol" if TARGET_HELIOS4
Phil Sutteraefb8f42015-12-25 14:41:25 +0100229 default "Synology" if TARGET_DS414
Marek Behúnb6ee8602017-06-09 19:28:45 +0200230 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200231 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300232 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300233 default "alliedtelesis" if TARGET_X530
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200234 default "mikrotik" if TARGET_CRS3XX_98DX3236
Stefan Roeseb322c832015-12-21 13:40:37 +0100235
Stefan Roesec3d89142015-08-25 13:18:38 +0200236config SYS_SOC
237 default "mvebu"
238
Marek Behúnb6ee8602017-06-09 19:28:45 +0200239choice
Baruch Siachad105f52018-06-18 21:56:24 +0300240 prompt "Boot method"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600241 depends on SPL
Marek Behúnb6ee8602017-06-09 19:28:45 +0200242
Baruch Siachad105f52018-06-18 21:56:24 +0300243config MVEBU_SPL_BOOT_DEVICE_SPI
Marek Behúnb6ee8602017-06-09 19:28:45 +0200244 bool "SPI NOR flash"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600245 imply ENV_IS_IN_SPI_FLASH
246 select SPL_DM_SPI
247 select SPL_SPI_FLASH_SUPPORT
248 select SPL_SPI_LOAD
249 select SPL_SPI_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200250
Baruch Siachad105f52018-06-18 21:56:24 +0300251config MVEBU_SPL_BOOT_DEVICE_MMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200252 bool "SDIO/MMC card"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600253 imply ENV_IS_IN_MMC
254 # GPIO needed for eMMC/SD card presence detection
255 select SPL_DM_GPIO
256 select SPL_DM_MMC
257 select SPL_GPIO_SUPPORT
Baruch Siachad105f52018-06-18 21:56:24 +0300258 select SPL_LIBDISK_SUPPORT
Joel Johnsonab2f7572020-04-17 01:19:05 -0600259 select SPL_MMC_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200260
Baruch Siach22c65452019-05-16 13:03:58 +0300261config MVEBU_SPL_BOOT_DEVICE_SATA
262 bool "SATA"
263 select SPL_SATA_SUPPORT
264 select SPL_LIBDISK_SUPPORT
265
Baruch Siach72c4e672018-06-18 21:56:26 +0300266config MVEBU_SPL_BOOT_DEVICE_UART
267 bool "UART"
268
Marek Behúnb6ee8602017-06-09 19:28:45 +0200269endchoice
270
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100271config MVEBU_EFUSE
272 bool "Enable eFuse support"
273 default n
274 depends on HAVE_MVEBU_EFUSE
275 help
276 Enable support for reading and writing eFuses on mvebu SoCs.
277
278config MVEBU_EFUSE_FAKE
279 bool "Fake eFuse access (dry run)"
280 default n
281 depends on MVEBU_EFUSE
282 help
283 This enables a "dry run" mode where eFuses are not really programmed.
284 Instead the eFuse accesses are emulated by writing to and reading
285 from a memory block.
286 This is can be used for testing prog scripts.
287
288config SECURED_MODE_IMAGE
289 bool "Build image for trusted boot"
290 default false
291 depends on 88F6820
292 help
293 Build an image that employs the ARMADA SoC's trusted boot framework
294 for securely booting images.
295
296config SECURED_MODE_CSK_INDEX
297 int "Index of active CSK"
298 default 0
299 depends on SECURED_MODE_IMAGE
300
Joel Johnson9f205d62020-03-23 14:21:32 -0600301source "board/solidrun/clearfog/Kconfig"
302
Stefan Roesec3d89142015-08-25 13:18:38 +0200303endif