blob: f15d3cc5edb6c3c5ee93500093f3c0f1ff7fb048 [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
Mario Sixa1b6b0a2017-01-11 16:01:00 +01005
Stefan Roesef61aefc2016-05-17 15:00:30 +02006config ARMADA_32BIT
7 bool
Michal Simek58008cb2018-07-23 15:55:15 +02008 select BOARD_EARLY_INIT_F
Lokesh Vutlaacf15002018-04-26 18:21:26 +05309 select CPU_V7A
Stefan Roese237b6292019-04-11 08:58:32 +020010 select SPL_DM if SPL
11 select SPL_DM_SEQ_ALIAS if SPL
12 select SPL_OF_CONTROL if SPL
Tom Rini7609e022021-10-15 10:54:41 -040013 select SPL_SKIP_LOWLEVEL_INIT if SPL
Stefan Roese237b6292019-04-11 08:58:32 +020014 select SPL_SIMPLE_BUS if SPL
Michal Simek58008cb2018-07-23 15:55:15 +020015 select SUPPORT_SPL
Philip Oberfichtner11168882022-08-17 15:07:12 +020016 select SYS_L2_PL310 if !SYS_L2CACHE_OFF
Stefan Roesef2100f62019-04-12 16:42:28 +020017 select TRANSLATION_OFFSET
Alexander Dahlb646a102023-12-21 08:26:10 +010018 select TOOLS_KWBIMAGE if SPL
Pali Rohár2975bba2022-04-06 16:20:20 +020019 select SPL_SYS_NO_VECTOR_TABLE if SPL
Pali Rohár5bb2c552022-05-06 11:05:14 +020020 select ARCH_VERY_EARLY_INIT
Marek Behún383969d2024-04-04 09:50:59 +020021 select ARMADA_32BIT_SYSCON_RESET if DM_RESET && PCI_MVEBU
Marek Behún0c350a62024-04-04 09:51:00 +020022 select ARMADA_32BIT_SYSCON_SYSRESET if SYSRESET
Stefan Roesef61aefc2016-05-17 15:00:30 +020023
Stefan Roesef61aefc2016-05-17 15:00:30 +020024# ARMv7 SoCs...
Stefan Roese606576d2016-01-29 09:14:54 +010025config ARMADA_375
26 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020027 select ARMADA_32BIT
Stefan Roese606576d2016-01-29 09:14:54 +010028
Stefan Roese81e33f42015-12-21 13:56:33 +010029config ARMADA_38X
30 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020031 select ARMADA_32BIT
Mario Sixa1b6b0a2017-01-11 16:01:00 +010032 select HAVE_MVEBU_EFUSE
Stefan Roese81e33f42015-12-21 13:56:33 +010033
Joshua Scott28f0cbc2020-11-09 10:14:08 +130034config ARMADA_38X_HS_IMPEDANCE_THRESH
35 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
36 depends on ARMADA_38X
37 default 0x6
38 range 0x0 0x7
39
Stefan Roese81e33f42015-12-21 13:56:33 +010040config ARMADA_XP
41 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020042 select ARMADA_32BIT
Stefan Roese81e33f42015-12-21 13:56:33 +010043
Stefan Roesef61aefc2016-05-17 15:00:30 +020044# ARMv8 SoCs...
45config ARMADA_3700
46 bool
47 select ARM64
Pali Rohár10154b82022-02-23 14:15:45 +010048 select HAVE_MVEBU_EFUSE
Stefan Roesef61aefc2016-05-17 15:00:30 +020049
Stefan Roese21b29fc2016-05-25 08:13:45 +020050# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
51config ARMADA_8K
52 bool
53 select ARM64
54
Chris Packham7d7bb992022-11-05 17:23:59 +130055config ALLEYCAT_5
56 bool
57 select ARM64
58
Chris Packhama53d97a2016-10-26 14:08:30 +130059# Armada PLL frequency (used for NAND clock generation)
60config SYS_MVEBU_PLL_CLOCK
61 int
Chris Packham0d0df462019-04-11 22:22:50 +120062 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packhama53d97a2016-10-26 14:08:30 +130063 default "1000000000" if ARMADA_38X || ARMADA_375
64
Stefan Roesef61aefc2016-05-17 15:00:30 +020065# Armada XP/38x SoC types...
Phil Sutter42902522015-12-25 14:41:22 +010066config MV78230
67 bool
68 select ARMADA_XP
69
70config MV78260
71 bool
72 select ARMADA_XP
Simon Glass3bf926c2017-06-14 21:28:24 -060073 imply CMD_SATA
Phil Sutter42902522015-12-25 14:41:22 +010074
75config MV78460
76 bool
77 select ARMADA_XP
78
Chris Packham0d0df462019-04-11 22:22:50 +120079config ARMADA_MSYS
80 bool
81 select ARMADA_32BIT
82
83config 98DX4251
84 bool
85 select ARMADA_MSYS
86
87config 98DX3336
88 bool
89 select ARMADA_MSYS
90
91config 98DX3236
92 bool
93 select ARMADA_MSYS
94
Chris Packham53d601f2016-09-22 12:56:13 +120095config 88F6820
Phil Sutter42902522015-12-25 14:41:22 +010096 bool
97 select ARMADA_38X
98
Tom Rini53dbf112022-03-30 18:07:24 -040099config CUSTOMER_BOARD_SUPPORT
100 bool
101
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800102config DDR4
103 bool "Support Marvell DDR4 Training driver"
104
Stefan Roesec3d89142015-08-25 13:18:38 +0200105choice
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300106 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
Stefan Roesec3d89142015-08-25 13:18:38 +0200107 optional
108
Stefan Roese0299c902015-10-20 15:14:47 +0200109config TARGET_CLEARFOG
110 bool "Support ClearFog"
Chris Packham53d601f2016-09-22 12:56:13 +1200111 select 88F6820
Baruch Siach867572f2020-01-20 14:20:13 +0200112 select BOARD_LATE_INIT
Martin Rowec733fe92023-03-27 21:24:09 +1000113 select OF_BOARD_SETUP
Stefan Roese0299c902015-10-20 15:14:47 +0200114
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500115config TARGET_HELIOS4
116 bool "Support Helios4"
117 select 88F6820
118
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200119config TARGET_MVEBU_ARMADA_37XX
120 bool "Support Armada 37xx platforms"
Stefan Roese01e62c72016-05-17 15:04:16 +0200121 select ARMADA_3700
Simon Glassfedb4282017-06-14 21:28:21 -0600122 imply SCSI
Stefan Roese01e62c72016-05-17 15:04:16 +0200123
Stefan Roese606576d2016-01-29 09:14:54 +0100124config TARGET_DB_88F6720
125 bool "Support DB-88F6720 Armada 375"
126 select ARMADA_375
127
Stefan Roesec3d89142015-08-25 13:18:38 +0200128config TARGET_DB_88F6820_GP
129 bool "Support DB-88F6820-GP"
Chris Packham53d601f2016-09-22 12:56:13 +1200130 select 88F6820
Stefan Roesec3d89142015-08-25 13:18:38 +0200131
Chris Packhamc0def242016-09-22 12:56:14 +1200132config TARGET_DB_88F6820_AMC
133 bool "Support DB-88F6820-AMC"
134 select 88F6820
135
Marek Behúnb6ee8602017-06-09 19:28:45 +0200136config TARGET_TURRIS_OMNIA
137 bool "Support Turris Omnia"
138 select 88F6820
Marek Behún539f0242019-05-02 16:53:37 +0200139 select BOARD_LATE_INIT
Marek Behún8420edc2019-05-02 16:53:28 +0200140 select DM_I2C
141 select I2C_MUX
142 select I2C_MUX_PCA954x
Marek Behún6d7bfb62021-10-09 19:33:46 +0200143 select SPL_DRIVERS_MISC
Marek Behún8420edc2019-05-02 16:53:28 +0200144 select SPL_I2C_MUX
Marek Behún2c8a4e42021-10-09 19:33:45 +0200145 select SPL_SYS_MALLOC_SIMPLE
Marek Behún8420edc2019-05-02 16:53:28 +0200146 select SYS_I2C_MVTWSI
Marek Behún6b26f3e2019-05-02 16:53:32 +0200147 select ATSHA204A
Marek Behúnb6ee8602017-06-09 19:28:45 +0200148
Marek Behún80af1a92018-04-24 17:21:31 +0200149config TARGET_TURRIS_MOX
Marek Behún94c0f0b2023-10-20 16:29:16 +0200150 bool "Support CZ.NIC's Turris Mox / RIPE Atlas Probe"
Marek Behún80af1a92018-04-24 17:21:31 +0200151 select ARMADA_3700
Marek Behún94c0f0b2023-10-20 16:29:16 +0200152 select BOARD_TYPES
153 select ENV_IS_IN_MMC
154 select ENV_IS_IN_SPI_FLASH
155 select MULTI_DTB_FIT
Marek Behún80af1a92018-04-24 17:21:31 +0200156
Stefan Roese633fa0e2016-10-25 10:56:19 +0200157config TARGET_MVEBU_ARMADA_8K
158 bool "Support Armada 7k/8k platforms"
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200159 select ARMADA_8K
Tom Rinie5ec4812017-01-22 19:43:11 -0500160 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600161 imply SCSI
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200162
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300163config TARGET_MVEBU_ALLEYCAT5
164 bool "Support AlleyCat 5 platforms"
165 select ALLEYCAT_5
166
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100167config TARGET_OCTEONTX2_CN913x
168 bool "Support CN913x platforms"
169 select ARMADA_8K
170 imply BOARD_EARLY_INIT_R
171 select BOARD_LATE_INIT
172 imply SCSI
173
Stefan Roesec3d89142015-08-25 13:18:38 +0200174config TARGET_DB_MV784MP_GP
175 bool "Support db-mv784mp-gp"
Tom Rinida8592d2022-02-25 11:19:46 -0500176 select BOARD_ECC_SUPPORT
Phil Sutter42902522015-12-25 14:41:22 +0100177 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200178
Tony Dinhb21f87a52023-02-09 14:00:03 -0800179config TARGET_DS116
180 bool "Support Synology DS116"
181 select 88F6820
182
Phil Sutteraefb8f42015-12-25 14:41:25 +0100183config TARGET_DS414
184 bool "Support Synology DS414"
185 select MV78230
186
Stefan Roesec3d89142015-08-25 13:18:38 +0200187config TARGET_MAXBCM
188 bool "Support maxbcm"
Tom Rinida8592d2022-02-25 11:19:46 -0500189 select BOARD_ECC_SUPPORT
Phil Sutter42902522015-12-25 14:41:22 +0100190 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200191
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800192config TARGET_N2350
193 bool "Support Thecus N2350"
194 select 88F6820
195 select DDR4
196
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100197config TARGET_THEADORABLE
198 bool "Support theadorable Armada XP"
Tom Rinie5ec4812017-01-22 19:43:11 -0500199 select BOARD_LATE_INIT if USB
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100200 select MV78260
Simon Glass3bf926c2017-06-14 21:28:24 -0600201 imply CMD_SATA
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100202
Dirk Eibach60083262017-02-22 16:07:23 +0100203config TARGET_CONTROLCENTERDC
204 bool "Support CONTROLCENTERDC"
205 select 88F6820
Tom Rini53dbf112022-03-30 18:07:24 -0400206 select CUSTOMER_BOARD_SUPPORT
Dirk Eibach60083262017-02-22 16:07:23 +0100207
Chris Packham0e316662019-01-10 21:01:00 +1300208config TARGET_X530
209 bool "Support Allied Telesis x530"
210 select 88F6820
211
Chris Packham4c97c4b2023-07-10 10:47:36 +1200212config TARGET_X240
213 bool "Support Allied Telesis x240"
214 select ALLEYCAT_5
215
Chris Packham4db944a2019-04-11 22:22:53 +1200216config TARGET_DB_XC3_24G4XG
217 bool "Support DB-XC3-24G4XG"
218 select 98DX3336
219
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200220config TARGET_CRS3XX_98DX3236
221 bool "Support CRS3XX-98DX3236"
Luka Kovacic22bb9132019-05-07 19:35:55 +0200222 select 98DX3236
223
Stefan Roesec3d89142015-08-25 13:18:38 +0200224endchoice
225
Tom Rini5b527c52021-08-21 13:50:13 -0400226choice
227 prompt "DDR bus width"
228 default DDR_64BIT
229 depends on ARMADA_XP
230
231config DDR_64BIT
232 bool "64bit bus width"
233
234config DDR_32BIT
235 bool "32bit bus width"
236
237endchoice
238
Tom Rinif66a3fd2021-08-21 13:50:15 -0400239config DDR_LOG_LEVEL
240 int "DDR training code log level"
241 depends on ARMADA_XP
242 default 0
243 range 0 3
244 help
245 Amount of information provided on error while running the DDR
246 training code. At level 0, provides an error code in a case of
247 failure, RL, WL errors and other algorithm failure. At level 1,
248 provides the D-Unit setup (SPD/Static configuration). At level 2,
249 provides the windows margin as a results of DQS centeralization.
250 At level 3, rovides the windows margin of each DQ as a results of
251 DQS centeralization.
252
Marek Behún871ee662022-02-17 13:54:42 +0100253config DDR_RESET_ON_TRAINING_FAILURE
254 bool "Reset the board on DDR training failure instead of hanging"
255 depends on ARMADA_38X || ARMADA_XP
256 help
257 If DDR training fails in SPL, reset the board instead of hanging.
258 Some boards are known to fail DDR training occasionally and an
259 immediate reset may be preferable to waiting until the board is
260 reset by watchdog (if there even is one).
261
262 Note that if booting via UART and the DDR training fails, the
263 device will still hang - it doesn't make sense to reset the board
264 in such a case.
265
Tom Rinida8592d2022-02-25 11:19:46 -0500266config BOARD_ECC_SUPPORT
267 bool
268
Stefan Roeseb322c832015-12-21 13:40:37 +0100269config SYS_BOARD
270 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500271 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200272 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100273 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100274 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200275 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200276 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200277 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese633fa0e2016-10-25 10:56:19 +0200278 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100279 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb322c832015-12-21 13:40:37 +0100280 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinhb21f87a52023-02-09 14:00:03 -0800281 default "ds116" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100282 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100283 default "maxbcm" if TARGET_MAXBCM
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800284 default "n2350" if TARGET_N2350
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100285 default "theadorable" if TARGET_THEADORABLE
Baruch Siachd38f04f2018-06-18 21:56:23 +0300286 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300287 default "x530" if TARGET_X530
Chris Packham4c97c4b2023-07-10 10:47:36 +1200288 default "x240" if TARGET_X240
Chris Packham4db944a2019-04-11 22:22:53 +1200289 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200290 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300291 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100292
293config SYS_CONFIG_NAME
294 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500295 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200296 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100297 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100298 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200299 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200300 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100301 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb322c832015-12-21 13:40:37 +0100302 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinhb21f87a52023-02-09 14:00:03 -0800303 default "ds116" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100304 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100305 default "maxbcm" if TARGET_MAXBCM
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800306 default "n2350" if TARGET_N2350
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100307 default "theadorable" if TARGET_THEADORABLE
Marek Behúnb6ee8602017-06-09 19:28:45 +0200308 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200309 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300310 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300311 default "x530" if TARGET_X530
Chris Packham4c97c4b2023-07-10 10:47:36 +1200312 default "x240" if TARGET_X240
Chris Packham4db944a2019-04-11 22:22:53 +1200313 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200314 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300315 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100316
317config SYS_VENDOR
318 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200319 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100320 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100321 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200322 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200323 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100324 default "Marvell" if TARGET_OCTEONTX2_CN913x
Chris Packham4db944a2019-04-11 22:22:53 +1200325 default "Marvell" if TARGET_DB_XC3_24G4XG
326 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb322c832015-12-21 13:40:37 +0100327 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500328 default "kobol" if TARGET_HELIOS4
Tony Dinhb21f87a52023-02-09 14:00:03 -0800329 default "Synology" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100330 default "Synology" if TARGET_DS414
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800331 default "thecus" if TARGET_N2350
Marek Behúnb6ee8602017-06-09 19:28:45 +0200332 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200333 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300334 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300335 default "alliedtelesis" if TARGET_X530
Chris Packham4c97c4b2023-07-10 10:47:36 +1200336 default "alliedtelesis" if TARGET_X240
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200337 default "mikrotik" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300338 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100339
Stefan Roesec3d89142015-08-25 13:18:38 +0200340config SYS_SOC
341 default "mvebu"
342
Marek Behúnb6ee8602017-06-09 19:28:45 +0200343choice
Baruch Siachad105f52018-06-18 21:56:24 +0300344 prompt "Boot method"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600345 depends on SPL
Marek Behúnb6ee8602017-06-09 19:28:45 +0200346
Baruch Siachad105f52018-06-18 21:56:24 +0300347config MVEBU_SPL_BOOT_DEVICE_SPI
Pali Rohár41d52f32023-01-10 23:13:01 +0100348 bool "NOR flash (SPI or parallel)"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600349 imply ENV_IS_IN_SPI_FLASH
Pali Rohár2226ca12021-07-23 11:14:29 +0200350 imply SPL_DM_SPI
351 imply SPL_SPI_FLASH_SUPPORT
352 imply SPL_SPI_LOAD
Simon Glassea2ca7e2021-08-08 12:20:14 -0600353 imply SPL_SPI
Pali Rohár9d0225b2021-07-23 11:14:25 +0200354 select SPL_BOOTROM_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200355
Pali Rohár67bd6152023-01-10 22:55:21 +0100356config MVEBU_SPL_BOOT_DEVICE_NAND
357 bool "NAND flash (SPI or parallel)"
358 select MTD_RAW_NAND
359 select SPL_BOOTROM_SUPPORT
360
Baruch Siachad105f52018-06-18 21:56:24 +0300361config MVEBU_SPL_BOOT_DEVICE_MMC
Pali Rohár41d52f32023-01-10 23:13:01 +0100362 bool "eMMC or SD card"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600363 imply ENV_IS_IN_MMC
364 # GPIO needed for eMMC/SD card presence detection
Pali Rohár2226ca12021-07-23 11:14:29 +0200365 imply SPL_DM_GPIO
366 imply SPL_DM_MMC
367 imply SPL_GPIO
368 imply SPL_LIBDISK_SUPPORT
Simon Glass103c5f12021-08-08 12:20:09 -0600369 imply SPL_MMC
Pali Rohár2f27db22023-01-08 13:31:41 +0100370 select SUPPORT_EMMC_BOOT if SPL_MMC
Pali Rohár913d7562023-01-09 00:52:09 +0100371 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
Pali Rohár9d0225b2021-07-23 11:14:25 +0200372 select SPL_BOOTROM_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200373
Baruch Siach22c65452019-05-16 13:03:58 +0300374config MVEBU_SPL_BOOT_DEVICE_SATA
375 bool "SATA"
Simon Glassf7560372021-08-08 12:20:17 -0600376 imply SPL_SATA
Pali Rohár2226ca12021-07-23 11:14:29 +0200377 imply SPL_LIBDISK_SUPPORT
Pali Rohár9d0225b2021-07-23 11:14:25 +0200378 select SPL_BOOTROM_SUPPORT
Baruch Siach22c65452019-05-16 13:03:58 +0300379
Pali Rohár50afad52023-01-10 23:09:15 +0100380config MVEBU_SPL_BOOT_DEVICE_PEX
381 bool "PCI Express"
382 select SPL_BOOTROM_SUPPORT
383
Baruch Siach72c4e672018-06-18 21:56:26 +0300384config MVEBU_SPL_BOOT_DEVICE_UART
385 bool "UART"
Pali Rohár9d0225b2021-07-23 11:14:25 +0200386 select SPL_BOOTROM_SUPPORT
Baruch Siach72c4e672018-06-18 21:56:26 +0300387
Marek Behúnb6ee8602017-06-09 19:28:45 +0200388endchoice
389
Pali Rohár67bd6152023-01-10 22:55:21 +0100390config MVEBU_SPL_NAND_BADBLK_LOCATION
391 hex "NAND Bad block indicator location"
392 depends on MVEBU_SPL_BOOT_DEVICE_NAND
393 range 0x0 0x1
394 help
395 Value 0x0 = SLC flash = BBI at page 0 or page 1
396 Value 0x1 = MLC flash = BBI at last page in the block
397
Pali Rohárc62af152023-03-29 21:25:58 +0200398config MVEBU_SPL_SATA_BLKSZ
399 int "SATA block size"
400 depends on MVEBU_SPL_BOOT_DEVICE_SATA
401 range 512 32768
402 default 512
403 help
404 Block size of the SATA disk in bytes.
405 Typically 512 bytes for majority of disks
406 and 4096 bytes for 4K Native disks.
407
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100408config MVEBU_EFUSE
409 bool "Enable eFuse support"
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100410 depends on HAVE_MVEBU_EFUSE
411 help
412 Enable support for reading and writing eFuses on mvebu SoCs.
413
414config MVEBU_EFUSE_FAKE
415 bool "Fake eFuse access (dry run)"
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100416 depends on MVEBU_EFUSE
417 help
418 This enables a "dry run" mode where eFuses are not really programmed.
419 Instead the eFuse accesses are emulated by writing to and reading
420 from a memory block.
421 This is can be used for testing prog scripts.
422
Pali Rohár8092d1d2022-09-22 13:43:45 +0200423config MVEBU_EFUSE_VHV_GPIO
424 string "VHV_Enable GPIO name for eFuse programming"
425 depends on MVEBU_EFUSE && !ARMADA_3700
426 help
427 The eFuse programing (burning) phase requires supplying 1.8V to the
428 device on the VHV power pin, while for normal operation the VHV power
429 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
430 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
431 .
432 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
433
434config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
435 bool "VHV_Enable GPIO is Active Low"
436 depends on MVEBU_EFUSE_VHV_GPIO != ""
437
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100438config SECURED_MODE_IMAGE
439 bool "Build image for trusted boot"
440 default false
441 depends on 88F6820
442 help
443 Build an image that employs the ARMADA SoC's trusted boot framework
444 for securely booting images.
445
446config SECURED_MODE_CSK_INDEX
447 int "Index of active CSK"
448 default 0
449 depends on SECURED_MODE_IMAGE
450
Tony Dinh21f62272023-03-02 19:27:29 -0800451config SF_DEFAULT_SPEED
452 int "Default speed for SPI flash in Hz"
453 default 10000000
454 depends on MVEBU_SPL_BOOT_DEVICE_SPI
455
456config SF_DEFAULT_MODE
457 hex "Default mode for SPI flash"
458 default 0x0
459 depends on MVEBU_SPL_BOOT_DEVICE_SPI
460
Marek Behún0c350a62024-04-04 09:51:00 +0200461config ARMADA_32BIT_SYSCON
462 bool
463 depends on ARMADA_32BIT
464 select REGMAP
465 select SYSCON
466
Marek Behúnab900a62024-04-04 09:50:58 +0200467config ARMADA_32BIT_SYSCON_RESET
468 bool "Support Armada XP/375/38x/39x reset controller"
469 depends on ARMADA_32BIT
470 depends on DM_RESET
Marek Behún0c350a62024-04-04 09:51:00 +0200471 select ARMADA_32BIT_SYSCON
Marek Behúnab900a62024-04-04 09:50:58 +0200472 help
473 Build support for Armada XP/375/38x/39x reset controller. This is
474 needed for PCIe support.
475
Marek Behún0c350a62024-04-04 09:51:00 +0200476config ARMADA_32BIT_SYSCON_SYSRESET
477 bool "Support Armada XP/375/38x/39x sysreset via driver model"
478 depends on ARMADA_32BIT
479 depends on SYSRESET
480 select ARMADA_32BIT_SYSCON
481 help
482 Build support for Armada XP/375/38x/39x system reset via driver model.
483
Joel Johnson9f205d62020-03-23 14:21:32 -0600484source "board/solidrun/clearfog/Kconfig"
Dennis Gilmore5a3db5d2020-12-08 21:07:36 -0600485source "board/kobol/helios4/Kconfig"
Joel Johnson9f205d62020-03-23 14:21:32 -0600486
Stefan Roesec3d89142015-08-25 13:18:38 +0200487endif