blob: 623432a60ebdb7966ee17f98c8ec3688b32864d5 [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
Stefan Roese05b17652016-05-17 15:00:30 +020022
Stefan Roese05b17652016-05-17 15:00:30 +020023# ARMv7 SoCs...
Stefan Roese9106ed02016-01-29 09:14:54 +010024config ARMADA_375
25 bool
Stefan Roese05b17652016-05-17 15:00:30 +020026 select ARMADA_32BIT
Stefan Roese9106ed02016-01-29 09:14:54 +010027
Stefan Roeseeb083e52015-12-21 13:56:33 +010028config ARMADA_38X
29 bool
Stefan Roese05b17652016-05-17 15:00:30 +020030 select ARMADA_32BIT
Mario Six10d14492017-01-11 16:01:00 +010031 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010032
Joshua Scott4ba8e992020-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 Roeseeb083e52015-12-21 13:56:33 +010039config ARMADA_XP
40 bool
Stefan Roese05b17652016-05-17 15:00:30 +020041 select ARMADA_32BIT
42
43# ARMv8 SoCs...
44config ARMADA_3700
45 bool
46 select ARM64
Pali Rohár70d9bee2022-02-23 14:15:45 +010047 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010048
Stefan Roesecb410332016-05-25 08:13:45 +020049# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
50config ARMADA_8K
51 bool
52 select ARM64
53
Chris Packhameaab4612022-11-05 17:23:59 +130054config ALLEYCAT_5
55 bool
56 select ARM64
57
Chris Packham1d496682016-10-26 14:08:30 +130058# Armada PLL frequency (used for NAND clock generation)
59config SYS_MVEBU_PLL_CLOCK
60 int
Chris Packhama8f845e2019-04-11 22:22:50 +120061 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packham1d496682016-10-26 14:08:30 +130062 default "1000000000" if ARMADA_38X || ARMADA_375
63
Stefan Roese05b17652016-05-17 15:00:30 +020064# Armada XP/38x SoC types...
Phil Suttera7f94ad2015-12-25 14:41:22 +010065config MV78230
66 bool
67 select ARMADA_XP
68
69config MV78260
70 bool
71 select ARMADA_XP
Simon Glass203b3ab2017-06-14 21:28:24 -060072 imply CMD_SATA
Phil Suttera7f94ad2015-12-25 14:41:22 +010073
74config MV78460
75 bool
76 select ARMADA_XP
77
Chris Packhama8f845e2019-04-11 22:22:50 +120078config ARMADA_MSYS
79 bool
80 select ARMADA_32BIT
81
82config 98DX4251
83 bool
84 select ARMADA_MSYS
85
86config 98DX3336
87 bool
88 select ARMADA_MSYS
89
90config 98DX3236
91 bool
92 select ARMADA_MSYS
93
Chris Packhamf5fc25b2016-09-22 12:56:13 +120094config 88F6820
Phil Suttera7f94ad2015-12-25 14:41:22 +010095 bool
96 select ARMADA_38X
97
Tom Rini40a325f2022-03-30 18:07:24 -040098config CUSTOMER_BOARD_SUPPORT
99 bool
100
Tony Dinh63eba132023-02-01 15:13:05 -0800101config DDR4
102 bool "Support Marvell DDR4 Training driver"
103
Stefan Roese383e0c12015-08-25 13:18:38 +0200104choice
Chris Packham67b7d502022-11-05 17:24:00 +1300105 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
Stefan Roese383e0c12015-08-25 13:18:38 +0200106 optional
107
Stefan Roese73606402015-10-20 15:14:47 +0200108config TARGET_CLEARFOG
109 bool "Support ClearFog"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200110 select 88F6820
Baruch Siach1c5e95d2020-01-20 14:20:13 +0200111 select BOARD_LATE_INIT
Martin Rowe7eceb672023-03-27 21:24:09 +1000112 select OF_BOARD_SETUP
Stefan Roese73606402015-10-20 15:14:47 +0200113
Dennis Gilmore77c39402018-06-11 19:39:53 -0500114config TARGET_HELIOS4
115 bool "Support Helios4"
116 select 88F6820
117
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200118config TARGET_MVEBU_ARMADA_37XX
119 bool "Support Armada 37xx platforms"
Stefan Roese6edf27e2016-05-17 15:04:16 +0200120 select ARMADA_3700
Simon Glass0e5faf02017-06-14 21:28:21 -0600121 imply SCSI
Stefan Roese6edf27e2016-05-17 15:04:16 +0200122
Stefan Roese9106ed02016-01-29 09:14:54 +0100123config TARGET_DB_88F6720
124 bool "Support DB-88F6720 Armada 375"
125 select ARMADA_375
126
Stefan Roese383e0c12015-08-25 13:18:38 +0200127config TARGET_DB_88F6820_GP
128 bool "Support DB-88F6820-GP"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200129 select 88F6820
Stefan Roese383e0c12015-08-25 13:18:38 +0200130
Chris Packhama90dd4c2016-09-22 12:56:14 +1200131config TARGET_DB_88F6820_AMC
132 bool "Support DB-88F6820-AMC"
133 select 88F6820
134
Marek Behún09e16b82017-06-09 19:28:45 +0200135config TARGET_TURRIS_OMNIA
136 bool "Support Turris Omnia"
137 select 88F6820
Marek Behún0f2e66a2019-05-02 16:53:37 +0200138 select BOARD_LATE_INIT
Marek Behún1e4cbb92019-05-02 16:53:28 +0200139 select DM_I2C
140 select I2C_MUX
141 select I2C_MUX_PCA954x
Marek Behún4c3abea2021-10-09 19:33:46 +0200142 select SPL_DRIVERS_MISC
Marek Behún1e4cbb92019-05-02 16:53:28 +0200143 select SPL_I2C_MUX
Marek Behúnca6095b2021-10-09 19:33:45 +0200144 select SPL_SYS_MALLOC_SIMPLE
Marek Behún1e4cbb92019-05-02 16:53:28 +0200145 select SYS_I2C_MVTWSI
Marek Behún5e92efe2019-05-02 16:53:32 +0200146 select ATSHA204A
Marek Behún09e16b82017-06-09 19:28:45 +0200147
Marek Behúnf835bed2018-04-24 17:21:31 +0200148config TARGET_TURRIS_MOX
Marek Behún1b010112023-10-20 16:29:16 +0200149 bool "Support CZ.NIC's Turris Mox / RIPE Atlas Probe"
Marek Behúnf835bed2018-04-24 17:21:31 +0200150 select ARMADA_3700
Marek Behún1b010112023-10-20 16:29:16 +0200151 select BOARD_TYPES
152 select ENV_IS_IN_MMC
153 select ENV_IS_IN_SPI_FLASH
154 select MULTI_DTB_FIT
Marek Behúnf835bed2018-04-24 17:21:31 +0200155
Stefan Roese5c806f12016-10-25 10:56:19 +0200156config TARGET_MVEBU_ARMADA_8K
157 bool "Support Armada 7k/8k platforms"
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200158 select ARMADA_8K
Tom Rini22d567e2017-01-22 19:43:11 -0500159 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600160 imply SCSI
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200161
Chris Packham67b7d502022-11-05 17:24:00 +1300162config TARGET_MVEBU_ALLEYCAT5
163 bool "Support AlleyCat 5 platforms"
164 select ALLEYCAT_5
165
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100166config TARGET_OCTEONTX2_CN913x
167 bool "Support CN913x platforms"
168 select ARMADA_8K
169 imply BOARD_EARLY_INIT_R
170 select BOARD_LATE_INIT
171 imply SCSI
172
Stefan Roese383e0c12015-08-25 13:18:38 +0200173config TARGET_DB_MV784MP_GP
174 bool "Support db-mv784mp-gp"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500175 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100176 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200177
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800178config TARGET_DS116
179 bool "Support Synology DS116"
180 select 88F6820
181
Phil Sutterd76eba62015-12-25 14:41:25 +0100182config TARGET_DS414
183 bool "Support Synology DS414"
184 select MV78230
185
Stefan Roese383e0c12015-08-25 13:18:38 +0200186config TARGET_MAXBCM
187 bool "Support maxbcm"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500188 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100189 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200190
Tony Dinh63eba132023-02-01 15:13:05 -0800191config TARGET_N2350
192 bool "Support Thecus N2350"
193 select 88F6820
194 select DDR4
195
Stefan Roese459e0642016-01-20 08:13:29 +0100196config TARGET_THEADORABLE
197 bool "Support theadorable Armada XP"
Tom Rini22d567e2017-01-22 19:43:11 -0500198 select BOARD_LATE_INIT if USB
Stefan Roese459e0642016-01-20 08:13:29 +0100199 select MV78260
Simon Glass203b3ab2017-06-14 21:28:24 -0600200 imply CMD_SATA
Stefan Roese459e0642016-01-20 08:13:29 +0100201
Dirk Eibachfb605942017-02-22 16:07:23 +0100202config TARGET_CONTROLCENTERDC
203 bool "Support CONTROLCENTERDC"
204 select 88F6820
Tom Rini40a325f2022-03-30 18:07:24 -0400205 select CUSTOMER_BOARD_SUPPORT
Dirk Eibachfb605942017-02-22 16:07:23 +0100206
Chris Packhamb55b2c92019-01-10 21:01:00 +1300207config TARGET_X530
208 bool "Support Allied Telesis x530"
209 select 88F6820
210
Chris Packham7325f1f2023-07-10 10:47:36 +1200211config TARGET_X240
212 bool "Support Allied Telesis x240"
213 select ALLEYCAT_5
214
Chris Packham199e3182019-04-11 22:22:53 +1200215config TARGET_DB_XC3_24G4XG
216 bool "Support DB-XC3-24G4XG"
217 select 98DX3336
218
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200219config TARGET_CRS3XX_98DX3236
220 bool "Support CRS3XX-98DX3236"
Luka Kovacicb686e222019-05-07 19:35:55 +0200221 select 98DX3236
222
Stefan Roese383e0c12015-08-25 13:18:38 +0200223endchoice
224
Tom Rini59180392021-08-21 13:50:13 -0400225choice
226 prompt "DDR bus width"
227 default DDR_64BIT
228 depends on ARMADA_XP
229
230config DDR_64BIT
231 bool "64bit bus width"
232
233config DDR_32BIT
234 bool "32bit bus width"
235
236endchoice
237
Tom Rini592bcd02021-08-21 13:50:15 -0400238config DDR_LOG_LEVEL
239 int "DDR training code log level"
240 depends on ARMADA_XP
241 default 0
242 range 0 3
243 help
244 Amount of information provided on error while running the DDR
245 training code. At level 0, provides an error code in a case of
246 failure, RL, WL errors and other algorithm failure. At level 1,
247 provides the D-Unit setup (SPD/Static configuration). At level 2,
248 provides the windows margin as a results of DQS centeralization.
249 At level 3, rovides the windows margin of each DQ as a results of
250 DQS centeralization.
251
Marek Behún90555af2022-02-17 13:54:42 +0100252config DDR_RESET_ON_TRAINING_FAILURE
253 bool "Reset the board on DDR training failure instead of hanging"
254 depends on ARMADA_38X || ARMADA_XP
255 help
256 If DDR training fails in SPL, reset the board instead of hanging.
257 Some boards are known to fail DDR training occasionally and an
258 immediate reset may be preferable to waiting until the board is
259 reset by watchdog (if there even is one).
260
261 Note that if booting via UART and the DDR training fails, the
262 device will still hang - it doesn't make sense to reset the board
263 in such a case.
264
Tom Rini9a04d7d2022-02-25 11:19:46 -0500265config BOARD_ECC_SUPPORT
266 bool
267
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100268config SYS_BOARD
269 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500270 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200271 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100272 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100273 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200274 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behún09e16b82017-06-09 19:28:45 +0200275 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200276 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese5c806f12016-10-25 10:56:19 +0200277 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100278 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100279 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800280 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100281 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100282 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800283 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100284 default "theadorable" if TARGET_THEADORABLE
Baruch Siachdaa6f082018-06-18 21:56:23 +0300285 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300286 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200287 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200288 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200289 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300290 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100291
292config SYS_CONFIG_NAME
293 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500294 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200295 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100296 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100297 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200298 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200299 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100300 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100301 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800302 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100303 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100304 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800305 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100306 default "theadorable" if TARGET_THEADORABLE
Marek Behún09e16b82017-06-09 19:28:45 +0200307 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200308 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300309 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300310 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200311 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200312 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200313 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300314 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100315
316config SYS_VENDOR
317 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200318 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100319 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100320 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200321 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200322 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100323 default "Marvell" if TARGET_OCTEONTX2_CN913x
Chris Packham199e3182019-04-11 22:22:53 +1200324 default "Marvell" if TARGET_DB_XC3_24G4XG
325 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100326 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500327 default "kobol" if TARGET_HELIOS4
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800328 default "Synology" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100329 default "Synology" if TARGET_DS414
Tony Dinh63eba132023-02-01 15:13:05 -0800330 default "thecus" if TARGET_N2350
Marek Behún09e16b82017-06-09 19:28:45 +0200331 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200332 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300333 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300334 default "alliedtelesis" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200335 default "alliedtelesis" if TARGET_X240
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200336 default "mikrotik" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300337 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100338
Stefan Roese383e0c12015-08-25 13:18:38 +0200339config SYS_SOC
340 default "mvebu"
341
Marek Behún09e16b82017-06-09 19:28:45 +0200342choice
Baruch Siach8d196a42018-06-18 21:56:24 +0300343 prompt "Boot method"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600344 depends on SPL
Marek Behún09e16b82017-06-09 19:28:45 +0200345
Baruch Siach8d196a42018-06-18 21:56:24 +0300346config MVEBU_SPL_BOOT_DEVICE_SPI
Pali Rohár8d110322023-01-10 23:13:01 +0100347 bool "NOR flash (SPI or parallel)"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600348 imply ENV_IS_IN_SPI_FLASH
Pali Rohárcf97b822021-07-23 11:14:29 +0200349 imply SPL_DM_SPI
350 imply SPL_SPI_FLASH_SUPPORT
351 imply SPL_SPI_LOAD
Simon Glassa5820472021-08-08 12:20:14 -0600352 imply SPL_SPI
Pali Rohára3a38e52021-07-23 11:14:25 +0200353 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200354
Pali Rohár5c5cf602023-01-10 22:55:21 +0100355config MVEBU_SPL_BOOT_DEVICE_NAND
356 bool "NAND flash (SPI or parallel)"
357 select MTD_RAW_NAND
358 select SPL_BOOTROM_SUPPORT
359
Baruch Siach8d196a42018-06-18 21:56:24 +0300360config MVEBU_SPL_BOOT_DEVICE_MMC
Pali Rohár8d110322023-01-10 23:13:01 +0100361 bool "eMMC or SD card"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600362 imply ENV_IS_IN_MMC
363 # GPIO needed for eMMC/SD card presence detection
Pali Rohárcf97b822021-07-23 11:14:29 +0200364 imply SPL_DM_GPIO
365 imply SPL_DM_MMC
366 imply SPL_GPIO
367 imply SPL_LIBDISK_SUPPORT
Simon Glassb58bfe02021-08-08 12:20:09 -0600368 imply SPL_MMC
Pali Rohárcefdc032023-01-08 13:31:41 +0100369 select SUPPORT_EMMC_BOOT if SPL_MMC
Pali Roháraa6244e2023-01-09 00:52:09 +0100370 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
Pali Rohára3a38e52021-07-23 11:14:25 +0200371 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200372
Baruch Siachb936a272019-05-16 13:03:58 +0300373config MVEBU_SPL_BOOT_DEVICE_SATA
374 bool "SATA"
Simon Glass081a45a2021-08-08 12:20:17 -0600375 imply SPL_SATA
Pali Rohárcf97b822021-07-23 11:14:29 +0200376 imply SPL_LIBDISK_SUPPORT
Pali Rohára3a38e52021-07-23 11:14:25 +0200377 select SPL_BOOTROM_SUPPORT
Baruch Siachb936a272019-05-16 13:03:58 +0300378
Pali Rohárea876902023-01-10 23:09:15 +0100379config MVEBU_SPL_BOOT_DEVICE_PEX
380 bool "PCI Express"
381 select SPL_BOOTROM_SUPPORT
382
Baruch Siachb35c4472018-06-18 21:56:26 +0300383config MVEBU_SPL_BOOT_DEVICE_UART
384 bool "UART"
Pali Rohára3a38e52021-07-23 11:14:25 +0200385 select SPL_BOOTROM_SUPPORT
Baruch Siachb35c4472018-06-18 21:56:26 +0300386
Marek Behún09e16b82017-06-09 19:28:45 +0200387endchoice
388
Pali Rohár5c5cf602023-01-10 22:55:21 +0100389config MVEBU_SPL_NAND_BADBLK_LOCATION
390 hex "NAND Bad block indicator location"
391 depends on MVEBU_SPL_BOOT_DEVICE_NAND
392 range 0x0 0x1
393 help
394 Value 0x0 = SLC flash = BBI at page 0 or page 1
395 Value 0x1 = MLC flash = BBI at last page in the block
396
Pali Rohár7085f822023-03-29 21:25:58 +0200397config MVEBU_SPL_SATA_BLKSZ
398 int "SATA block size"
399 depends on MVEBU_SPL_BOOT_DEVICE_SATA
400 range 512 32768
401 default 512
402 help
403 Block size of the SATA disk in bytes.
404 Typically 512 bytes for majority of disks
405 and 4096 bytes for 4K Native disks.
406
Mario Six10d14492017-01-11 16:01:00 +0100407config MVEBU_EFUSE
408 bool "Enable eFuse support"
Mario Six10d14492017-01-11 16:01:00 +0100409 depends on HAVE_MVEBU_EFUSE
410 help
411 Enable support for reading and writing eFuses on mvebu SoCs.
412
413config MVEBU_EFUSE_FAKE
414 bool "Fake eFuse access (dry run)"
Mario Six10d14492017-01-11 16:01:00 +0100415 depends on MVEBU_EFUSE
416 help
417 This enables a "dry run" mode where eFuses are not really programmed.
418 Instead the eFuse accesses are emulated by writing to and reading
419 from a memory block.
420 This is can be used for testing prog scripts.
421
Pali Rohár2662d2c2022-09-22 13:43:45 +0200422config MVEBU_EFUSE_VHV_GPIO
423 string "VHV_Enable GPIO name for eFuse programming"
424 depends on MVEBU_EFUSE && !ARMADA_3700
425 help
426 The eFuse programing (burning) phase requires supplying 1.8V to the
427 device on the VHV power pin, while for normal operation the VHV power
428 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
429 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
430 .
431 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
432
433config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
434 bool "VHV_Enable GPIO is Active Low"
435 depends on MVEBU_EFUSE_VHV_GPIO != ""
436
Mario Six10d14492017-01-11 16:01:00 +0100437config SECURED_MODE_IMAGE
438 bool "Build image for trusted boot"
439 default false
440 depends on 88F6820
441 help
442 Build an image that employs the ARMADA SoC's trusted boot framework
443 for securely booting images.
444
445config SECURED_MODE_CSK_INDEX
446 int "Index of active CSK"
447 default 0
448 depends on SECURED_MODE_IMAGE
449
Tony Dinh89dc46d2023-03-02 19:27:29 -0800450config SF_DEFAULT_SPEED
451 int "Default speed for SPI flash in Hz"
452 default 10000000
453 depends on MVEBU_SPL_BOOT_DEVICE_SPI
454
455config SF_DEFAULT_MODE
456 hex "Default mode for SPI flash"
457 default 0x0
458 depends on MVEBU_SPL_BOOT_DEVICE_SPI
459
Marek Behún1c657bc2024-04-04 09:50:58 +0200460config ARMADA_32BIT_SYSCON_RESET
461 bool "Support Armada XP/375/38x/39x reset controller"
462 depends on ARMADA_32BIT
463 depends on DM_RESET
464 select REGMAP
465 select SYSCON
466 help
467 Build support for Armada XP/375/38x/39x reset controller. This is
468 needed for PCIe support.
469
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600470source "board/solidrun/clearfog/Kconfig"
Dennis Gilmore838e49b2020-12-08 21:07:36 -0600471source "board/kobol/helios4/Kconfig"
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600472
Stefan Roese383e0c12015-08-25 13:18:38 +0200473endif