blob: 4a8328760eb58e9b0d0770b5978ae4a3f1f5bb94 [file] [log] [blame]
Stefan Roese383e0c12015-08-25 13:18:38 +02001if ARCH_MVEBU
2
Mario Six10d14492017-01-11 16:01:00 +01003config HAVE_MVEBU_EFUSE
4 bool
Mario Six10d14492017-01-11 16:01:00 +01005
Stefan Roese05b17652016-05-17 15:00:30 +02006config ARMADA_32BIT
7 bool
Michal Simek7e7ba3b2018-07-23 15:55:15 +02008 select BOARD_EARLY_INIT_F
Lokesh Vutla81b1a672018-04-26 18:21:26 +05309 select CPU_V7A
Stefan Roese1f1b3e92019-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 Rinib7cc2fe2021-10-15 10:54:41 -040013 select SPL_SKIP_LOWLEVEL_INIT if SPL
Stefan Roese1f1b3e92019-04-11 08:58:32 +020014 select SPL_SIMPLE_BUS if SPL
Michal Simek7e7ba3b2018-07-23 15:55:15 +020015 select SUPPORT_SPL
Philip Oberfichtner5833e1b2022-08-17 15:07:12 +020016 select SYS_L2_PL310 if !SYS_L2CACHE_OFF
Stefan Roese85bddff2019-04-12 16:42:28 +020017 select TRANSLATION_OFFSET
Alexander Dahl3f3c8382023-12-21 08:26:10 +010018 select TOOLS_KWBIMAGE if SPL
Pali Rohárc5c28df2022-04-06 16:20:20 +020019 select SPL_SYS_NO_VECTOR_TABLE if SPL
Pali Roháraaed3282022-05-06 11:05:14 +020020 select ARCH_VERY_EARLY_INIT
Marek Behún32a932a2024-04-04 09:50:59 +020021 select ARMADA_32BIT_SYSCON_RESET if DM_RESET && PCI_MVEBU
Marek Behún514628c2024-04-04 09:51:00 +020022 select ARMADA_32BIT_SYSCON_SYSRESET if SYSRESET
Stefan Roese05b17652016-05-17 15:00:30 +020023
Stefan Roese05b17652016-05-17 15:00:30 +020024# ARMv7 SoCs...
Stefan Roese9106ed02016-01-29 09:14:54 +010025config ARMADA_375
26 bool
Stefan Roese05b17652016-05-17 15:00:30 +020027 select ARMADA_32BIT
Stefan Roese9106ed02016-01-29 09:14:54 +010028
Stefan Roeseeb083e52015-12-21 13:56:33 +010029config ARMADA_38X
30 bool
Stefan Roese05b17652016-05-17 15:00:30 +020031 select ARMADA_32BIT
Mario Six10d14492017-01-11 16:01:00 +010032 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010033
Joshua Scott4ba8e992020-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
Marek Behúne4a2cca2024-06-18 17:34:38 +020040config ARMADA_38X_SUPPORT_OLD_DDR3_TRAINING
41 bool
42 depends on ARMADA_38X
43
Stefan Roeseeb083e52015-12-21 13:56:33 +010044config ARMADA_XP
45 bool
Stefan Roese05b17652016-05-17 15:00:30 +020046 select ARMADA_32BIT
47
48# ARMv8 SoCs...
49config ARMADA_3700
50 bool
51 select ARM64
Pali Rohár70d9bee2022-02-23 14:15:45 +010052 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010053
Stefan Roesecb410332016-05-25 08:13:45 +020054# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
55config ARMADA_8K
56 bool
57 select ARM64
58
Chris Packhameaab4612022-11-05 17:23:59 +130059config ALLEYCAT_5
60 bool
61 select ARM64
62
Chris Packham1d496682016-10-26 14:08:30 +130063# Armada PLL frequency (used for NAND clock generation)
64config SYS_MVEBU_PLL_CLOCK
65 int
Chris Packhama8f845e2019-04-11 22:22:50 +120066 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packham1d496682016-10-26 14:08:30 +130067 default "1000000000" if ARMADA_38X || ARMADA_375
68
Stefan Roese05b17652016-05-17 15:00:30 +020069# Armada XP/38x SoC types...
Phil Suttera7f94ad2015-12-25 14:41:22 +010070config MV78230
71 bool
72 select ARMADA_XP
73
74config MV78260
75 bool
76 select ARMADA_XP
Simon Glass203b3ab2017-06-14 21:28:24 -060077 imply CMD_SATA
Phil Suttera7f94ad2015-12-25 14:41:22 +010078
79config MV78460
80 bool
81 select ARMADA_XP
82
Chris Packhama8f845e2019-04-11 22:22:50 +120083config ARMADA_MSYS
84 bool
85 select ARMADA_32BIT
86
87config 98DX4251
88 bool
89 select ARMADA_MSYS
90
91config 98DX3336
92 bool
93 select ARMADA_MSYS
94
95config 98DX3236
96 bool
97 select ARMADA_MSYS
98
Chris Packhamf5fc25b2016-09-22 12:56:13 +120099config 88F6820
Phil Suttera7f94ad2015-12-25 14:41:22 +0100100 bool
101 select ARMADA_38X
102
Tom Rini40a325f2022-03-30 18:07:24 -0400103config CUSTOMER_BOARD_SUPPORT
104 bool
105
Tony Dinh63eba132023-02-01 15:13:05 -0800106config DDR4
107 bool "Support Marvell DDR4 Training driver"
108
Stefan Roese383e0c12015-08-25 13:18:38 +0200109choice
Chris Packham67b7d502022-11-05 17:24:00 +1300110 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
Stefan Roese383e0c12015-08-25 13:18:38 +0200111 optional
112
Stefan Roese73606402015-10-20 15:14:47 +0200113config TARGET_CLEARFOG
114 bool "Support ClearFog"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200115 select 88F6820
Baruch Siach1c5e95d2020-01-20 14:20:13 +0200116 select BOARD_LATE_INIT
Martin Rowe7eceb672023-03-27 21:24:09 +1000117 select OF_BOARD_SETUP
Stefan Roese73606402015-10-20 15:14:47 +0200118
Dennis Gilmore77c39402018-06-11 19:39:53 -0500119config TARGET_HELIOS4
120 bool "Support Helios4"
121 select 88F6820
122
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200123config TARGET_MVEBU_ARMADA_37XX
124 bool "Support Armada 37xx platforms"
Stefan Roese6edf27e2016-05-17 15:04:16 +0200125 select ARMADA_3700
Simon Glass0e5faf02017-06-14 21:28:21 -0600126 imply SCSI
Stefan Roese6edf27e2016-05-17 15:04:16 +0200127
Stefan Roese9106ed02016-01-29 09:14:54 +0100128config TARGET_DB_88F6720
129 bool "Support DB-88F6720 Armada 375"
130 select ARMADA_375
131
Stefan Roese383e0c12015-08-25 13:18:38 +0200132config TARGET_DB_88F6820_GP
133 bool "Support DB-88F6820-GP"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200134 select 88F6820
Stefan Roese383e0c12015-08-25 13:18:38 +0200135
Chris Packhama90dd4c2016-09-22 12:56:14 +1200136config TARGET_DB_88F6820_AMC
137 bool "Support DB-88F6820-AMC"
138 select 88F6820
139
Marek Behún09e16b82017-06-09 19:28:45 +0200140config TARGET_TURRIS_OMNIA
141 bool "Support Turris Omnia"
142 select 88F6820
Marek Behún0f2e66a2019-05-02 16:53:37 +0200143 select BOARD_LATE_INIT
Marek Behún1e4cbb92019-05-02 16:53:28 +0200144 select DM_I2C
145 select I2C_MUX
146 select I2C_MUX_PCA954x
Marek Behún4c3abea2021-10-09 19:33:46 +0200147 select SPL_DRIVERS_MISC
Marek Behún1e4cbb92019-05-02 16:53:28 +0200148 select SPL_I2C_MUX
Marek Behúnca6095b2021-10-09 19:33:45 +0200149 select SPL_SYS_MALLOC_SIMPLE
Marek Behún1e4cbb92019-05-02 16:53:28 +0200150 select SYS_I2C_MVTWSI
Marek Behún5e92efe2019-05-02 16:53:32 +0200151 select ATSHA204A
Marek Behúnd1e68442024-06-18 17:34:39 +0200152 select ARMADA_38X_SUPPORT_OLD_DDR3_TRAINING
Marek Behún09e16b82017-06-09 19:28:45 +0200153
Marek Behúnf835bed2018-04-24 17:21:31 +0200154config TARGET_TURRIS_MOX
Marek Behún1b010112023-10-20 16:29:16 +0200155 bool "Support CZ.NIC's Turris Mox / RIPE Atlas Probe"
Marek Behúnf835bed2018-04-24 17:21:31 +0200156 select ARMADA_3700
Marek Behún1b010112023-10-20 16:29:16 +0200157 select BOARD_TYPES
158 select ENV_IS_IN_MMC
159 select ENV_IS_IN_SPI_FLASH
160 select MULTI_DTB_FIT
Marek Behúnf835bed2018-04-24 17:21:31 +0200161
Stefan Roese5c806f12016-10-25 10:56:19 +0200162config TARGET_MVEBU_ARMADA_8K
163 bool "Support Armada 7k/8k platforms"
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200164 select ARMADA_8K
Tom Rini22d567e2017-01-22 19:43:11 -0500165 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600166 imply SCSI
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200167
Chris Packham67b7d502022-11-05 17:24:00 +1300168config TARGET_MVEBU_ALLEYCAT5
169 bool "Support AlleyCat 5 platforms"
170 select ALLEYCAT_5
171
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100172config TARGET_OCTEONTX2_CN913x
173 bool "Support CN913x platforms"
174 select ARMADA_8K
175 imply BOARD_EARLY_INIT_R
176 select BOARD_LATE_INIT
177 imply SCSI
178
Stefan Roese383e0c12015-08-25 13:18:38 +0200179config TARGET_DB_MV784MP_GP
180 bool "Support db-mv784mp-gp"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500181 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100182 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200183
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800184config TARGET_DS116
185 bool "Support Synology DS116"
186 select 88F6820
187
Phil Sutterd76eba62015-12-25 14:41:25 +0100188config TARGET_DS414
189 bool "Support Synology DS414"
190 select MV78230
191
Stefan Roese383e0c12015-08-25 13:18:38 +0200192config TARGET_MAXBCM
193 bool "Support maxbcm"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500194 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100195 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200196
Tony Dinh63eba132023-02-01 15:13:05 -0800197config TARGET_N2350
198 bool "Support Thecus N2350"
199 select 88F6820
200 select DDR4
201
Stefan Roese459e0642016-01-20 08:13:29 +0100202config TARGET_THEADORABLE
203 bool "Support theadorable Armada XP"
Tom Rini22d567e2017-01-22 19:43:11 -0500204 select BOARD_LATE_INIT if USB
Stefan Roese459e0642016-01-20 08:13:29 +0100205 select MV78260
Simon Glass203b3ab2017-06-14 21:28:24 -0600206 imply CMD_SATA
Stefan Roese459e0642016-01-20 08:13:29 +0100207
Dirk Eibachfb605942017-02-22 16:07:23 +0100208config TARGET_CONTROLCENTERDC
209 bool "Support CONTROLCENTERDC"
210 select 88F6820
Tom Rini40a325f2022-03-30 18:07:24 -0400211 select CUSTOMER_BOARD_SUPPORT
Dirk Eibachfb605942017-02-22 16:07:23 +0100212
Chris Packhamb55b2c92019-01-10 21:01:00 +1300213config TARGET_X530
214 bool "Support Allied Telesis x530"
215 select 88F6820
216
Chris Packham7325f1f2023-07-10 10:47:36 +1200217config TARGET_X240
218 bool "Support Allied Telesis x240"
219 select ALLEYCAT_5
220
Chris Packham199e3182019-04-11 22:22:53 +1200221config TARGET_DB_XC3_24G4XG
222 bool "Support DB-XC3-24G4XG"
223 select 98DX3336
224
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200225config TARGET_CRS3XX_98DX3236
226 bool "Support CRS3XX-98DX3236"
Luka Kovacicb686e222019-05-07 19:35:55 +0200227 select 98DX3236
228
Stefan Roese383e0c12015-08-25 13:18:38 +0200229endchoice
230
Tom Rini59180392021-08-21 13:50:13 -0400231choice
232 prompt "DDR bus width"
233 default DDR_64BIT
234 depends on ARMADA_XP
235
236config DDR_64BIT
237 bool "64bit bus width"
238
239config DDR_32BIT
240 bool "32bit bus width"
241
242endchoice
243
Tom Rini592bcd02021-08-21 13:50:15 -0400244config DDR_LOG_LEVEL
245 int "DDR training code log level"
246 depends on ARMADA_XP
247 default 0
248 range 0 3
249 help
250 Amount of information provided on error while running the DDR
251 training code. At level 0, provides an error code in a case of
252 failure, RL, WL errors and other algorithm failure. At level 1,
253 provides the D-Unit setup (SPD/Static configuration). At level 2,
254 provides the windows margin as a results of DQS centeralization.
255 At level 3, rovides the windows margin of each DQ as a results of
256 DQS centeralization.
257
Marek Behúne8bd7582024-06-18 17:34:28 +0200258config DDR_IMMUTABLE_DEBUG_SETTINGS
259 bool "Immutable DDR debug level (always DEBUG_LEVEL_ERROR)"
260 depends on ARMADA_38X
261 help
262 Makes the DDR training code debug level settings immutable.
263 The debug level setting from board topology definition is ignored.
264 The debug level is always set to DEBUG_LEVEL_ERROR and register
265 dumps are disabled.
266 This can save around 10 KiB of space in SPL binary.
267
Marek Behún90555af2022-02-17 13:54:42 +0100268config DDR_RESET_ON_TRAINING_FAILURE
269 bool "Reset the board on DDR training failure instead of hanging"
270 depends on ARMADA_38X || ARMADA_XP
271 help
272 If DDR training fails in SPL, reset the board instead of hanging.
273 Some boards are known to fail DDR training occasionally and an
274 immediate reset may be preferable to waiting until the board is
275 reset by watchdog (if there even is one).
276
277 Note that if booting via UART and the DDR training fails, the
278 device will still hang - it doesn't make sense to reset the board
279 in such a case.
280
Tom Rini9a04d7d2022-02-25 11:19:46 -0500281config BOARD_ECC_SUPPORT
282 bool
283
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100284config SYS_BOARD
285 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500286 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200287 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100288 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100289 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200290 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behún09e16b82017-06-09 19:28:45 +0200291 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200292 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese5c806f12016-10-25 10:56:19 +0200293 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100294 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100295 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800296 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100297 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100298 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800299 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100300 default "theadorable" if TARGET_THEADORABLE
Baruch Siachdaa6f082018-06-18 21:56:23 +0300301 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300302 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200303 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200304 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200305 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300306 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100307
308config SYS_CONFIG_NAME
309 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500310 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200311 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100312 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100313 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200314 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200315 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100316 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100317 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800318 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100319 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100320 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800321 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100322 default "theadorable" if TARGET_THEADORABLE
Marek Behún09e16b82017-06-09 19:28:45 +0200323 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200324 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300325 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300326 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200327 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200328 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200329 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300330 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100331
332config SYS_VENDOR
333 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200334 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100335 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100336 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200337 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200338 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100339 default "Marvell" if TARGET_OCTEONTX2_CN913x
Chris Packham199e3182019-04-11 22:22:53 +1200340 default "Marvell" if TARGET_DB_XC3_24G4XG
341 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100342 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500343 default "kobol" if TARGET_HELIOS4
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800344 default "Synology" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100345 default "Synology" if TARGET_DS414
Tony Dinh63eba132023-02-01 15:13:05 -0800346 default "thecus" if TARGET_N2350
Marek Behún09e16b82017-06-09 19:28:45 +0200347 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200348 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300349 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300350 default "alliedtelesis" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200351 default "alliedtelesis" if TARGET_X240
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200352 default "mikrotik" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300353 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100354
Stefan Roese383e0c12015-08-25 13:18:38 +0200355config SYS_SOC
356 default "mvebu"
357
Marek Behún09e16b82017-06-09 19:28:45 +0200358choice
Baruch Siach8d196a42018-06-18 21:56:24 +0300359 prompt "Boot method"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600360 depends on SPL
Marek Behún09e16b82017-06-09 19:28:45 +0200361
Baruch Siach8d196a42018-06-18 21:56:24 +0300362config MVEBU_SPL_BOOT_DEVICE_SPI
Pali Rohár8d110322023-01-10 23:13:01 +0100363 bool "NOR flash (SPI or parallel)"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600364 imply ENV_IS_IN_SPI_FLASH
Pali Rohárcf97b822021-07-23 11:14:29 +0200365 imply SPL_DM_SPI
366 imply SPL_SPI_FLASH_SUPPORT
367 imply SPL_SPI_LOAD
Simon Glassa5820472021-08-08 12:20:14 -0600368 imply SPL_SPI
Pali Rohára3a38e52021-07-23 11:14:25 +0200369 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200370
Pali Rohár5c5cf602023-01-10 22:55:21 +0100371config MVEBU_SPL_BOOT_DEVICE_NAND
372 bool "NAND flash (SPI or parallel)"
373 select MTD_RAW_NAND
374 select SPL_BOOTROM_SUPPORT
375
Baruch Siach8d196a42018-06-18 21:56:24 +0300376config MVEBU_SPL_BOOT_DEVICE_MMC
Pali Rohár8d110322023-01-10 23:13:01 +0100377 bool "eMMC or SD card"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600378 imply ENV_IS_IN_MMC
379 # GPIO needed for eMMC/SD card presence detection
Pali Rohárcf97b822021-07-23 11:14:29 +0200380 imply SPL_DM_GPIO
381 imply SPL_DM_MMC
382 imply SPL_GPIO
383 imply SPL_LIBDISK_SUPPORT
Simon Glassb58bfe02021-08-08 12:20:09 -0600384 imply SPL_MMC
Pali Rohárcefdc032023-01-08 13:31:41 +0100385 select SUPPORT_EMMC_BOOT if SPL_MMC
Pali Roháraa6244e2023-01-09 00:52:09 +0100386 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
Pali Rohára3a38e52021-07-23 11:14:25 +0200387 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200388
Baruch Siachb936a272019-05-16 13:03:58 +0300389config MVEBU_SPL_BOOT_DEVICE_SATA
390 bool "SATA"
Simon Glass081a45a2021-08-08 12:20:17 -0600391 imply SPL_SATA
Pali Rohárcf97b822021-07-23 11:14:29 +0200392 imply SPL_LIBDISK_SUPPORT
Pali Rohára3a38e52021-07-23 11:14:25 +0200393 select SPL_BOOTROM_SUPPORT
Baruch Siachb936a272019-05-16 13:03:58 +0300394
Pali Rohárea876902023-01-10 23:09:15 +0100395config MVEBU_SPL_BOOT_DEVICE_PEX
396 bool "PCI Express"
397 select SPL_BOOTROM_SUPPORT
398
Baruch Siachb35c4472018-06-18 21:56:26 +0300399config MVEBU_SPL_BOOT_DEVICE_UART
400 bool "UART"
Pali Rohára3a38e52021-07-23 11:14:25 +0200401 select SPL_BOOTROM_SUPPORT
Baruch Siachb35c4472018-06-18 21:56:26 +0300402
Marek Behún09e16b82017-06-09 19:28:45 +0200403endchoice
404
Pali Rohár5c5cf602023-01-10 22:55:21 +0100405config MVEBU_SPL_NAND_BADBLK_LOCATION
406 hex "NAND Bad block indicator location"
407 depends on MVEBU_SPL_BOOT_DEVICE_NAND
408 range 0x0 0x1
409 help
410 Value 0x0 = SLC flash = BBI at page 0 or page 1
411 Value 0x1 = MLC flash = BBI at last page in the block
412
Pali Rohár7085f822023-03-29 21:25:58 +0200413config MVEBU_SPL_SATA_BLKSZ
414 int "SATA block size"
415 depends on MVEBU_SPL_BOOT_DEVICE_SATA
416 range 512 32768
417 default 512
418 help
419 Block size of the SATA disk in bytes.
420 Typically 512 bytes for majority of disks
421 and 4096 bytes for 4K Native disks.
422
Mario Six10d14492017-01-11 16:01:00 +0100423config MVEBU_EFUSE
424 bool "Enable eFuse support"
Mario Six10d14492017-01-11 16:01:00 +0100425 depends on HAVE_MVEBU_EFUSE
426 help
427 Enable support for reading and writing eFuses on mvebu SoCs.
428
429config MVEBU_EFUSE_FAKE
430 bool "Fake eFuse access (dry run)"
Mario Six10d14492017-01-11 16:01:00 +0100431 depends on MVEBU_EFUSE
432 help
433 This enables a "dry run" mode where eFuses are not really programmed.
434 Instead the eFuse accesses are emulated by writing to and reading
435 from a memory block.
436 This is can be used for testing prog scripts.
437
Pali Rohár2662d2c2022-09-22 13:43:45 +0200438config MVEBU_EFUSE_VHV_GPIO
439 string "VHV_Enable GPIO name for eFuse programming"
440 depends on MVEBU_EFUSE && !ARMADA_3700
441 help
442 The eFuse programing (burning) phase requires supplying 1.8V to the
443 device on the VHV power pin, while for normal operation the VHV power
444 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
445 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
446 .
447 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
448
449config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
450 bool "VHV_Enable GPIO is Active Low"
451 depends on MVEBU_EFUSE_VHV_GPIO != ""
452
Mario Six10d14492017-01-11 16:01:00 +0100453config SECURED_MODE_IMAGE
454 bool "Build image for trusted boot"
455 default false
456 depends on 88F6820
457 help
458 Build an image that employs the ARMADA SoC's trusted boot framework
459 for securely booting images.
460
461config SECURED_MODE_CSK_INDEX
462 int "Index of active CSK"
463 default 0
464 depends on SECURED_MODE_IMAGE
465
Tony Dinh89dc46d2023-03-02 19:27:29 -0800466config SF_DEFAULT_SPEED
467 int "Default speed for SPI flash in Hz"
468 default 10000000
469 depends on MVEBU_SPL_BOOT_DEVICE_SPI
470
471config SF_DEFAULT_MODE
472 hex "Default mode for SPI flash"
473 default 0x0
474 depends on MVEBU_SPL_BOOT_DEVICE_SPI
475
Marek Behún514628c2024-04-04 09:51:00 +0200476config ARMADA_32BIT_SYSCON
477 bool
478 depends on ARMADA_32BIT
479 select REGMAP
480 select SYSCON
481
Marek Behún1c657bc2024-04-04 09:50:58 +0200482config ARMADA_32BIT_SYSCON_RESET
483 bool "Support Armada XP/375/38x/39x reset controller"
484 depends on ARMADA_32BIT
485 depends on DM_RESET
Marek Behún514628c2024-04-04 09:51:00 +0200486 select ARMADA_32BIT_SYSCON
Marek Behún1c657bc2024-04-04 09:50:58 +0200487 help
488 Build support for Armada XP/375/38x/39x reset controller. This is
489 needed for PCIe support.
490
Marek Behún514628c2024-04-04 09:51:00 +0200491config ARMADA_32BIT_SYSCON_SYSRESET
492 bool "Support Armada XP/375/38x/39x sysreset via driver model"
493 depends on ARMADA_32BIT
494 depends on SYSRESET
495 select ARMADA_32BIT_SYSCON
496 help
497 Build support for Armada XP/375/38x/39x system reset via driver model.
498
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600499source "board/solidrun/clearfog/Kconfig"
Dennis Gilmore838e49b2020-12-08 21:07:36 -0600500source "board/kobol/helios4/Kconfig"
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600501
Stefan Roese383e0c12015-08-25 13:18:38 +0200502endif