blob: c80d8587b14935bfe6854122bdafcd382c0154d4 [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
Pali Rohárc5c28df2022-04-06 16:20:20 +020018 select SPL_SYS_NO_VECTOR_TABLE if SPL
Pali Roháraaed3282022-05-06 11:05:14 +020019 select ARCH_VERY_EARLY_INIT
Stefan Roese05b17652016-05-17 15:00:30 +020020
Stefan Roese05b17652016-05-17 15:00:30 +020021# ARMv7 SoCs...
Stefan Roese9106ed02016-01-29 09:14:54 +010022config ARMADA_375
23 bool
Stefan Roese05b17652016-05-17 15:00:30 +020024 select ARMADA_32BIT
Stefan Roese9106ed02016-01-29 09:14:54 +010025
Stefan Roeseeb083e52015-12-21 13:56:33 +010026config ARMADA_38X
27 bool
Stefan Roese05b17652016-05-17 15:00:30 +020028 select ARMADA_32BIT
Mario Six10d14492017-01-11 16:01:00 +010029 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010030
Joshua Scott4ba8e992020-11-09 10:14:08 +130031config ARMADA_38X_HS_IMPEDANCE_THRESH
32 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
33 depends on ARMADA_38X
34 default 0x6
35 range 0x0 0x7
36
Stefan Roeseeb083e52015-12-21 13:56:33 +010037config ARMADA_XP
38 bool
Stefan Roese05b17652016-05-17 15:00:30 +020039 select ARMADA_32BIT
40
41# ARMv8 SoCs...
42config ARMADA_3700
43 bool
44 select ARM64
Pali Rohár70d9bee2022-02-23 14:15:45 +010045 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010046
Stefan Roesecb410332016-05-25 08:13:45 +020047# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
48config ARMADA_8K
49 bool
50 select ARM64
51
Chris Packhameaab4612022-11-05 17:23:59 +130052config ALLEYCAT_5
53 bool
54 select ARM64
55
Chris Packham1d496682016-10-26 14:08:30 +130056# Armada PLL frequency (used for NAND clock generation)
57config SYS_MVEBU_PLL_CLOCK
58 int
Chris Packhama8f845e2019-04-11 22:22:50 +120059 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packham1d496682016-10-26 14:08:30 +130060 default "1000000000" if ARMADA_38X || ARMADA_375
61
Stefan Roese05b17652016-05-17 15:00:30 +020062# Armada XP/38x SoC types...
Phil Suttera7f94ad2015-12-25 14:41:22 +010063config MV78230
64 bool
65 select ARMADA_XP
66
67config MV78260
68 bool
69 select ARMADA_XP
Simon Glass203b3ab2017-06-14 21:28:24 -060070 imply CMD_SATA
Phil Suttera7f94ad2015-12-25 14:41:22 +010071
72config MV78460
73 bool
74 select ARMADA_XP
75
Chris Packhama8f845e2019-04-11 22:22:50 +120076config ARMADA_MSYS
77 bool
78 select ARMADA_32BIT
79
80config 98DX4251
81 bool
82 select ARMADA_MSYS
83
84config 98DX3336
85 bool
86 select ARMADA_MSYS
87
88config 98DX3236
89 bool
90 select ARMADA_MSYS
91
Chris Packhamf5fc25b2016-09-22 12:56:13 +120092config 88F6820
Phil Suttera7f94ad2015-12-25 14:41:22 +010093 bool
94 select ARMADA_38X
95
Tom Rini40a325f2022-03-30 18:07:24 -040096config CUSTOMER_BOARD_SUPPORT
97 bool
98
Tony Dinh63eba132023-02-01 15:13:05 -080099config DDR4
100 bool "Support Marvell DDR4 Training driver"
101
Stefan Roese383e0c12015-08-25 13:18:38 +0200102choice
Chris Packham67b7d502022-11-05 17:24:00 +1300103 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
Stefan Roese383e0c12015-08-25 13:18:38 +0200104 optional
105
Stefan Roese73606402015-10-20 15:14:47 +0200106config TARGET_CLEARFOG
107 bool "Support ClearFog"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200108 select 88F6820
Baruch Siach1c5e95d2020-01-20 14:20:13 +0200109 select BOARD_LATE_INIT
Martin Rowe7eceb672023-03-27 21:24:09 +1000110 select OF_BOARD_SETUP
Stefan Roese73606402015-10-20 15:14:47 +0200111
Dennis Gilmore77c39402018-06-11 19:39:53 -0500112config TARGET_HELIOS4
113 bool "Support Helios4"
114 select 88F6820
115
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200116config TARGET_MVEBU_ARMADA_37XX
117 bool "Support Armada 37xx platforms"
Stefan Roese6edf27e2016-05-17 15:04:16 +0200118 select ARMADA_3700
Simon Glass0e5faf02017-06-14 21:28:21 -0600119 imply SCSI
Stefan Roese6edf27e2016-05-17 15:04:16 +0200120
Stefan Roese9106ed02016-01-29 09:14:54 +0100121config TARGET_DB_88F6720
122 bool "Support DB-88F6720 Armada 375"
123 select ARMADA_375
124
Stefan Roese383e0c12015-08-25 13:18:38 +0200125config TARGET_DB_88F6820_GP
126 bool "Support DB-88F6820-GP"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200127 select 88F6820
Stefan Roese383e0c12015-08-25 13:18:38 +0200128
Chris Packhama90dd4c2016-09-22 12:56:14 +1200129config TARGET_DB_88F6820_AMC
130 bool "Support DB-88F6820-AMC"
131 select 88F6820
132
Marek Behún09e16b82017-06-09 19:28:45 +0200133config TARGET_TURRIS_OMNIA
134 bool "Support Turris Omnia"
135 select 88F6820
Marek Behún0f2e66a2019-05-02 16:53:37 +0200136 select BOARD_LATE_INIT
Marek Behún1e4cbb92019-05-02 16:53:28 +0200137 select DM_I2C
138 select I2C_MUX
139 select I2C_MUX_PCA954x
Marek Behún4c3abea2021-10-09 19:33:46 +0200140 select SPL_DRIVERS_MISC
Marek Behún1e4cbb92019-05-02 16:53:28 +0200141 select SPL_I2C_MUX
Marek Behúnca6095b2021-10-09 19:33:45 +0200142 select SPL_SYS_MALLOC_SIMPLE
Marek Behún1e4cbb92019-05-02 16:53:28 +0200143 select SYS_I2C_MVTWSI
Marek Behún5e92efe2019-05-02 16:53:32 +0200144 select ATSHA204A
Marek Behún09e16b82017-06-09 19:28:45 +0200145
Marek Behúnf835bed2018-04-24 17:21:31 +0200146config TARGET_TURRIS_MOX
Marek Behún1b010112023-10-20 16:29:16 +0200147 bool "Support CZ.NIC's Turris Mox / RIPE Atlas Probe"
Marek Behúnf835bed2018-04-24 17:21:31 +0200148 select ARMADA_3700
Marek Behún1b010112023-10-20 16:29:16 +0200149 select BOARD_TYPES
150 select ENV_IS_IN_MMC
151 select ENV_IS_IN_SPI_FLASH
152 select MULTI_DTB_FIT
Marek Behúnf835bed2018-04-24 17:21:31 +0200153
Stefan Roese5c806f12016-10-25 10:56:19 +0200154config TARGET_MVEBU_ARMADA_8K
155 bool "Support Armada 7k/8k platforms"
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200156 select ARMADA_8K
Tom Rini22d567e2017-01-22 19:43:11 -0500157 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600158 imply SCSI
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200159
Chris Packham67b7d502022-11-05 17:24:00 +1300160config TARGET_MVEBU_ALLEYCAT5
161 bool "Support AlleyCat 5 platforms"
162 select ALLEYCAT_5
163
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100164config TARGET_OCTEONTX2_CN913x
165 bool "Support CN913x platforms"
166 select ARMADA_8K
167 imply BOARD_EARLY_INIT_R
168 select BOARD_LATE_INIT
169 imply SCSI
170
Stefan Roese383e0c12015-08-25 13:18:38 +0200171config TARGET_DB_MV784MP_GP
172 bool "Support db-mv784mp-gp"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500173 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100174 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200175
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800176config TARGET_DS116
177 bool "Support Synology DS116"
178 select 88F6820
179
Phil Sutterd76eba62015-12-25 14:41:25 +0100180config TARGET_DS414
181 bool "Support Synology DS414"
182 select MV78230
183
Stefan Roese383e0c12015-08-25 13:18:38 +0200184config TARGET_MAXBCM
185 bool "Support maxbcm"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500186 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100187 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200188
Tony Dinh63eba132023-02-01 15:13:05 -0800189config TARGET_N2350
190 bool "Support Thecus N2350"
191 select 88F6820
192 select DDR4
193
Stefan Roese459e0642016-01-20 08:13:29 +0100194config TARGET_THEADORABLE
195 bool "Support theadorable Armada XP"
Tom Rini22d567e2017-01-22 19:43:11 -0500196 select BOARD_LATE_INIT if USB
Stefan Roese459e0642016-01-20 08:13:29 +0100197 select MV78260
Simon Glass203b3ab2017-06-14 21:28:24 -0600198 imply CMD_SATA
Stefan Roese459e0642016-01-20 08:13:29 +0100199
Dirk Eibachfb605942017-02-22 16:07:23 +0100200config TARGET_CONTROLCENTERDC
201 bool "Support CONTROLCENTERDC"
202 select 88F6820
Tom Rini40a325f2022-03-30 18:07:24 -0400203 select CUSTOMER_BOARD_SUPPORT
Dirk Eibachfb605942017-02-22 16:07:23 +0100204
Chris Packhamb55b2c92019-01-10 21:01:00 +1300205config TARGET_X530
206 bool "Support Allied Telesis x530"
207 select 88F6820
208
Chris Packham7325f1f2023-07-10 10:47:36 +1200209config TARGET_X240
210 bool "Support Allied Telesis x240"
211 select ALLEYCAT_5
212
Chris Packham199e3182019-04-11 22:22:53 +1200213config TARGET_DB_XC3_24G4XG
214 bool "Support DB-XC3-24G4XG"
215 select 98DX3336
216
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200217config TARGET_CRS3XX_98DX3236
218 bool "Support CRS3XX-98DX3236"
Luka Kovacicb686e222019-05-07 19:35:55 +0200219 select 98DX3236
220
Stefan Roese383e0c12015-08-25 13:18:38 +0200221endchoice
222
Tom Rini59180392021-08-21 13:50:13 -0400223choice
224 prompt "DDR bus width"
225 default DDR_64BIT
226 depends on ARMADA_XP
227
228config DDR_64BIT
229 bool "64bit bus width"
230
231config DDR_32BIT
232 bool "32bit bus width"
233
234endchoice
235
Tom Rini592bcd02021-08-21 13:50:15 -0400236config DDR_LOG_LEVEL
237 int "DDR training code log level"
238 depends on ARMADA_XP
239 default 0
240 range 0 3
241 help
242 Amount of information provided on error while running the DDR
243 training code. At level 0, provides an error code in a case of
244 failure, RL, WL errors and other algorithm failure. At level 1,
245 provides the D-Unit setup (SPD/Static configuration). At level 2,
246 provides the windows margin as a results of DQS centeralization.
247 At level 3, rovides the windows margin of each DQ as a results of
248 DQS centeralization.
249
Marek Behún90555af2022-02-17 13:54:42 +0100250config DDR_RESET_ON_TRAINING_FAILURE
251 bool "Reset the board on DDR training failure instead of hanging"
252 depends on ARMADA_38X || ARMADA_XP
253 help
254 If DDR training fails in SPL, reset the board instead of hanging.
255 Some boards are known to fail DDR training occasionally and an
256 immediate reset may be preferable to waiting until the board is
257 reset by watchdog (if there even is one).
258
259 Note that if booting via UART and the DDR training fails, the
260 device will still hang - it doesn't make sense to reset the board
261 in such a case.
262
Tom Rini9a04d7d2022-02-25 11:19:46 -0500263config BOARD_ECC_SUPPORT
264 bool
265
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100266config SYS_BOARD
267 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500268 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200269 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100270 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100271 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200272 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behún09e16b82017-06-09 19:28:45 +0200273 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200274 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese5c806f12016-10-25 10:56:19 +0200275 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100276 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100277 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800278 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100279 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100280 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800281 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100282 default "theadorable" if TARGET_THEADORABLE
Baruch Siachdaa6f082018-06-18 21:56:23 +0300283 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300284 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200285 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200286 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200287 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300288 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100289
290config SYS_CONFIG_NAME
291 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500292 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200293 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100294 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100295 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200296 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200297 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100298 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100299 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800300 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100301 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100302 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800303 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100304 default "theadorable" if TARGET_THEADORABLE
Marek Behún09e16b82017-06-09 19:28:45 +0200305 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200306 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300307 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300308 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200309 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200310 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200311 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300312 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100313
314config SYS_VENDOR
315 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200316 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100317 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100318 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200319 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200320 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100321 default "Marvell" if TARGET_OCTEONTX2_CN913x
Chris Packham199e3182019-04-11 22:22:53 +1200322 default "Marvell" if TARGET_DB_XC3_24G4XG
323 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100324 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500325 default "kobol" if TARGET_HELIOS4
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800326 default "Synology" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100327 default "Synology" if TARGET_DS414
Tony Dinh63eba132023-02-01 15:13:05 -0800328 default "thecus" if TARGET_N2350
Marek Behún09e16b82017-06-09 19:28:45 +0200329 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200330 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300331 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300332 default "alliedtelesis" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200333 default "alliedtelesis" if TARGET_X240
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200334 default "mikrotik" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300335 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100336
Stefan Roese383e0c12015-08-25 13:18:38 +0200337config SYS_SOC
338 default "mvebu"
339
Marek Behún09e16b82017-06-09 19:28:45 +0200340choice
Baruch Siach8d196a42018-06-18 21:56:24 +0300341 prompt "Boot method"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600342 depends on SPL
Marek Behún09e16b82017-06-09 19:28:45 +0200343
Baruch Siach8d196a42018-06-18 21:56:24 +0300344config MVEBU_SPL_BOOT_DEVICE_SPI
Pali Rohár8d110322023-01-10 23:13:01 +0100345 bool "NOR flash (SPI or parallel)"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600346 imply ENV_IS_IN_SPI_FLASH
Pali Rohárcf97b822021-07-23 11:14:29 +0200347 imply SPL_DM_SPI
348 imply SPL_SPI_FLASH_SUPPORT
349 imply SPL_SPI_LOAD
Simon Glassa5820472021-08-08 12:20:14 -0600350 imply SPL_SPI
Pali Rohára3a38e52021-07-23 11:14:25 +0200351 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200352
Pali Rohár5c5cf602023-01-10 22:55:21 +0100353config MVEBU_SPL_BOOT_DEVICE_NAND
354 bool "NAND flash (SPI or parallel)"
355 select MTD_RAW_NAND
356 select SPL_BOOTROM_SUPPORT
357
Baruch Siach8d196a42018-06-18 21:56:24 +0300358config MVEBU_SPL_BOOT_DEVICE_MMC
Pali Rohár8d110322023-01-10 23:13:01 +0100359 bool "eMMC or SD card"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600360 imply ENV_IS_IN_MMC
361 # GPIO needed for eMMC/SD card presence detection
Pali Rohárcf97b822021-07-23 11:14:29 +0200362 imply SPL_DM_GPIO
363 imply SPL_DM_MMC
364 imply SPL_GPIO
365 imply SPL_LIBDISK_SUPPORT
Simon Glassb58bfe02021-08-08 12:20:09 -0600366 imply SPL_MMC
Pali Rohárcefdc032023-01-08 13:31:41 +0100367 select SUPPORT_EMMC_BOOT if SPL_MMC
Pali Roháraa6244e2023-01-09 00:52:09 +0100368 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
Pali Rohára3a38e52021-07-23 11:14:25 +0200369 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200370
Baruch Siachb936a272019-05-16 13:03:58 +0300371config MVEBU_SPL_BOOT_DEVICE_SATA
372 bool "SATA"
Simon Glass081a45a2021-08-08 12:20:17 -0600373 imply SPL_SATA
Pali Rohárcf97b822021-07-23 11:14:29 +0200374 imply SPL_LIBDISK_SUPPORT
Pali Rohára3a38e52021-07-23 11:14:25 +0200375 select SPL_BOOTROM_SUPPORT
Baruch Siachb936a272019-05-16 13:03:58 +0300376
Pali Rohárea876902023-01-10 23:09:15 +0100377config MVEBU_SPL_BOOT_DEVICE_PEX
378 bool "PCI Express"
379 select SPL_BOOTROM_SUPPORT
380
Baruch Siachb35c4472018-06-18 21:56:26 +0300381config MVEBU_SPL_BOOT_DEVICE_UART
382 bool "UART"
Pali Rohára3a38e52021-07-23 11:14:25 +0200383 select SPL_BOOTROM_SUPPORT
Baruch Siachb35c4472018-06-18 21:56:26 +0300384
Marek Behún09e16b82017-06-09 19:28:45 +0200385endchoice
386
Pali Rohár5c5cf602023-01-10 22:55:21 +0100387config MVEBU_SPL_NAND_BADBLK_LOCATION
388 hex "NAND Bad block indicator location"
389 depends on MVEBU_SPL_BOOT_DEVICE_NAND
390 range 0x0 0x1
391 help
392 Value 0x0 = SLC flash = BBI at page 0 or page 1
393 Value 0x1 = MLC flash = BBI at last page in the block
394
Pali Rohár7085f822023-03-29 21:25:58 +0200395config MVEBU_SPL_SATA_BLKSZ
396 int "SATA block size"
397 depends on MVEBU_SPL_BOOT_DEVICE_SATA
398 range 512 32768
399 default 512
400 help
401 Block size of the SATA disk in bytes.
402 Typically 512 bytes for majority of disks
403 and 4096 bytes for 4K Native disks.
404
Mario Six10d14492017-01-11 16:01:00 +0100405config MVEBU_EFUSE
406 bool "Enable eFuse support"
Mario Six10d14492017-01-11 16:01:00 +0100407 depends on HAVE_MVEBU_EFUSE
408 help
409 Enable support for reading and writing eFuses on mvebu SoCs.
410
411config MVEBU_EFUSE_FAKE
412 bool "Fake eFuse access (dry run)"
Mario Six10d14492017-01-11 16:01:00 +0100413 depends on MVEBU_EFUSE
414 help
415 This enables a "dry run" mode where eFuses are not really programmed.
416 Instead the eFuse accesses are emulated by writing to and reading
417 from a memory block.
418 This is can be used for testing prog scripts.
419
Pali Rohár2662d2c2022-09-22 13:43:45 +0200420config MVEBU_EFUSE_VHV_GPIO
421 string "VHV_Enable GPIO name for eFuse programming"
422 depends on MVEBU_EFUSE && !ARMADA_3700
423 help
424 The eFuse programing (burning) phase requires supplying 1.8V to the
425 device on the VHV power pin, while for normal operation the VHV power
426 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
427 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
428 .
429 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
430
431config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
432 bool "VHV_Enable GPIO is Active Low"
433 depends on MVEBU_EFUSE_VHV_GPIO != ""
434
Mario Six10d14492017-01-11 16:01:00 +0100435config SECURED_MODE_IMAGE
436 bool "Build image for trusted boot"
437 default false
438 depends on 88F6820
439 help
440 Build an image that employs the ARMADA SoC's trusted boot framework
441 for securely booting images.
442
443config SECURED_MODE_CSK_INDEX
444 int "Index of active CSK"
445 default 0
446 depends on SECURED_MODE_IMAGE
447
Tony Dinh89dc46d2023-03-02 19:27:29 -0800448config SF_DEFAULT_SPEED
449 int "Default speed for SPI flash in Hz"
450 default 10000000
451 depends on MVEBU_SPL_BOOT_DEVICE_SPI
452
453config SF_DEFAULT_MODE
454 hex "Default mode for SPI flash"
455 default 0x0
456 depends on MVEBU_SPL_BOOT_DEVICE_SPI
457
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600458source "board/solidrun/clearfog/Kconfig"
Dennis Gilmore838e49b2020-12-08 21:07:36 -0600459source "board/kobol/helios4/Kconfig"
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600460
Stefan Roese383e0c12015-08-25 13:18:38 +0200461endif