blob: 2058c95ca2d0eb058db5e519ed0dc487e913fcc6 [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
Stefan Roese05b17652016-05-17 15:00:30 +020021
Stefan Roese05b17652016-05-17 15:00:30 +020022# ARMv7 SoCs...
Stefan Roese9106ed02016-01-29 09:14:54 +010023config ARMADA_375
24 bool
Stefan Roese05b17652016-05-17 15:00:30 +020025 select ARMADA_32BIT
Stefan Roese9106ed02016-01-29 09:14:54 +010026
Stefan Roeseeb083e52015-12-21 13:56:33 +010027config ARMADA_38X
28 bool
Stefan Roese05b17652016-05-17 15:00:30 +020029 select ARMADA_32BIT
Mario Six10d14492017-01-11 16:01:00 +010030 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010031
Joshua Scott4ba8e992020-11-09 10:14:08 +130032config ARMADA_38X_HS_IMPEDANCE_THRESH
33 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
34 depends on ARMADA_38X
35 default 0x6
36 range 0x0 0x7
37
Stefan Roeseeb083e52015-12-21 13:56:33 +010038config ARMADA_XP
39 bool
Stefan Roese05b17652016-05-17 15:00:30 +020040 select ARMADA_32BIT
41
42# ARMv8 SoCs...
43config ARMADA_3700
44 bool
45 select ARM64
Pali Rohár70d9bee2022-02-23 14:15:45 +010046 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010047
Stefan Roesecb410332016-05-25 08:13:45 +020048# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
49config ARMADA_8K
50 bool
51 select ARM64
52
Chris Packhameaab4612022-11-05 17:23:59 +130053config ALLEYCAT_5
54 bool
55 select ARM64
56
Chris Packham1d496682016-10-26 14:08:30 +130057# Armada PLL frequency (used for NAND clock generation)
58config SYS_MVEBU_PLL_CLOCK
59 int
Chris Packhama8f845e2019-04-11 22:22:50 +120060 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packham1d496682016-10-26 14:08:30 +130061 default "1000000000" if ARMADA_38X || ARMADA_375
62
Stefan Roese05b17652016-05-17 15:00:30 +020063# Armada XP/38x SoC types...
Phil Suttera7f94ad2015-12-25 14:41:22 +010064config MV78230
65 bool
66 select ARMADA_XP
67
68config MV78260
69 bool
70 select ARMADA_XP
Simon Glass203b3ab2017-06-14 21:28:24 -060071 imply CMD_SATA
Phil Suttera7f94ad2015-12-25 14:41:22 +010072
73config MV78460
74 bool
75 select ARMADA_XP
76
Chris Packhama8f845e2019-04-11 22:22:50 +120077config ARMADA_MSYS
78 bool
79 select ARMADA_32BIT
80
81config 98DX4251
82 bool
83 select ARMADA_MSYS
84
85config 98DX3336
86 bool
87 select ARMADA_MSYS
88
89config 98DX3236
90 bool
91 select ARMADA_MSYS
92
Chris Packhamf5fc25b2016-09-22 12:56:13 +120093config 88F6820
Phil Suttera7f94ad2015-12-25 14:41:22 +010094 bool
95 select ARMADA_38X
96
Tom Rini40a325f2022-03-30 18:07:24 -040097config CUSTOMER_BOARD_SUPPORT
98 bool
99
Tony Dinh63eba132023-02-01 15:13:05 -0800100config DDR4
101 bool "Support Marvell DDR4 Training driver"
102
Stefan Roese383e0c12015-08-25 13:18:38 +0200103choice
Chris Packham67b7d502022-11-05 17:24:00 +1300104 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
Stefan Roese383e0c12015-08-25 13:18:38 +0200105 optional
106
Stefan Roese73606402015-10-20 15:14:47 +0200107config TARGET_CLEARFOG
108 bool "Support ClearFog"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200109 select 88F6820
Baruch Siach1c5e95d2020-01-20 14:20:13 +0200110 select BOARD_LATE_INIT
Martin Rowe7eceb672023-03-27 21:24:09 +1000111 select OF_BOARD_SETUP
Stefan Roese73606402015-10-20 15:14:47 +0200112
Dennis Gilmore77c39402018-06-11 19:39:53 -0500113config TARGET_HELIOS4
114 bool "Support Helios4"
115 select 88F6820
116
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200117config TARGET_MVEBU_ARMADA_37XX
118 bool "Support Armada 37xx platforms"
Stefan Roese6edf27e2016-05-17 15:04:16 +0200119 select ARMADA_3700
Simon Glass0e5faf02017-06-14 21:28:21 -0600120 imply SCSI
Stefan Roese6edf27e2016-05-17 15:04:16 +0200121
Stefan Roese9106ed02016-01-29 09:14:54 +0100122config TARGET_DB_88F6720
123 bool "Support DB-88F6720 Armada 375"
124 select ARMADA_375
125
Stefan Roese383e0c12015-08-25 13:18:38 +0200126config TARGET_DB_88F6820_GP
127 bool "Support DB-88F6820-GP"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200128 select 88F6820
Stefan Roese383e0c12015-08-25 13:18:38 +0200129
Chris Packhama90dd4c2016-09-22 12:56:14 +1200130config TARGET_DB_88F6820_AMC
131 bool "Support DB-88F6820-AMC"
132 select 88F6820
133
Marek Behún09e16b82017-06-09 19:28:45 +0200134config TARGET_TURRIS_OMNIA
135 bool "Support Turris Omnia"
136 select 88F6820
Marek Behún0f2e66a2019-05-02 16:53:37 +0200137 select BOARD_LATE_INIT
Marek Behún1e4cbb92019-05-02 16:53:28 +0200138 select DM_I2C
139 select I2C_MUX
140 select I2C_MUX_PCA954x
Marek Behún4c3abea2021-10-09 19:33:46 +0200141 select SPL_DRIVERS_MISC
Marek Behún1e4cbb92019-05-02 16:53:28 +0200142 select SPL_I2C_MUX
Marek Behúnca6095b2021-10-09 19:33:45 +0200143 select SPL_SYS_MALLOC_SIMPLE
Marek Behún1e4cbb92019-05-02 16:53:28 +0200144 select SYS_I2C_MVTWSI
Marek Behún5e92efe2019-05-02 16:53:32 +0200145 select ATSHA204A
Marek Behún09e16b82017-06-09 19:28:45 +0200146
Marek Behúnf835bed2018-04-24 17:21:31 +0200147config TARGET_TURRIS_MOX
Marek Behún1b010112023-10-20 16:29:16 +0200148 bool "Support CZ.NIC's Turris Mox / RIPE Atlas Probe"
Marek Behúnf835bed2018-04-24 17:21:31 +0200149 select ARMADA_3700
Marek Behún1b010112023-10-20 16:29:16 +0200150 select BOARD_TYPES
151 select ENV_IS_IN_MMC
152 select ENV_IS_IN_SPI_FLASH
153 select MULTI_DTB_FIT
Marek Behúnf835bed2018-04-24 17:21:31 +0200154
Stefan Roese5c806f12016-10-25 10:56:19 +0200155config TARGET_MVEBU_ARMADA_8K
156 bool "Support Armada 7k/8k platforms"
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200157 select ARMADA_8K
Tom Rini22d567e2017-01-22 19:43:11 -0500158 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600159 imply SCSI
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200160
Chris Packham67b7d502022-11-05 17:24:00 +1300161config TARGET_MVEBU_ALLEYCAT5
162 bool "Support AlleyCat 5 platforms"
163 select ALLEYCAT_5
164
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100165config TARGET_OCTEONTX2_CN913x
166 bool "Support CN913x platforms"
167 select ARMADA_8K
168 imply BOARD_EARLY_INIT_R
169 select BOARD_LATE_INIT
170 imply SCSI
171
Stefan Roese383e0c12015-08-25 13:18:38 +0200172config TARGET_DB_MV784MP_GP
173 bool "Support db-mv784mp-gp"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500174 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100175 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200176
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800177config TARGET_DS116
178 bool "Support Synology DS116"
179 select 88F6820
180
Phil Sutterd76eba62015-12-25 14:41:25 +0100181config TARGET_DS414
182 bool "Support Synology DS414"
183 select MV78230
184
Stefan Roese383e0c12015-08-25 13:18:38 +0200185config TARGET_MAXBCM
186 bool "Support maxbcm"
Tom Rini9a04d7d2022-02-25 11:19:46 -0500187 select BOARD_ECC_SUPPORT
Phil Suttera7f94ad2015-12-25 14:41:22 +0100188 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200189
Tony Dinh63eba132023-02-01 15:13:05 -0800190config TARGET_N2350
191 bool "Support Thecus N2350"
192 select 88F6820
193 select DDR4
194
Stefan Roese459e0642016-01-20 08:13:29 +0100195config TARGET_THEADORABLE
196 bool "Support theadorable Armada XP"
Tom Rini22d567e2017-01-22 19:43:11 -0500197 select BOARD_LATE_INIT if USB
Stefan Roese459e0642016-01-20 08:13:29 +0100198 select MV78260
Simon Glass203b3ab2017-06-14 21:28:24 -0600199 imply CMD_SATA
Stefan Roese459e0642016-01-20 08:13:29 +0100200
Dirk Eibachfb605942017-02-22 16:07:23 +0100201config TARGET_CONTROLCENTERDC
202 bool "Support CONTROLCENTERDC"
203 select 88F6820
Tom Rini40a325f2022-03-30 18:07:24 -0400204 select CUSTOMER_BOARD_SUPPORT
Dirk Eibachfb605942017-02-22 16:07:23 +0100205
Chris Packhamb55b2c92019-01-10 21:01:00 +1300206config TARGET_X530
207 bool "Support Allied Telesis x530"
208 select 88F6820
209
Chris Packham7325f1f2023-07-10 10:47:36 +1200210config TARGET_X240
211 bool "Support Allied Telesis x240"
212 select ALLEYCAT_5
213
Chris Packham199e3182019-04-11 22:22:53 +1200214config TARGET_DB_XC3_24G4XG
215 bool "Support DB-XC3-24G4XG"
216 select 98DX3336
217
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200218config TARGET_CRS3XX_98DX3236
219 bool "Support CRS3XX-98DX3236"
Luka Kovacicb686e222019-05-07 19:35:55 +0200220 select 98DX3236
221
Stefan Roese383e0c12015-08-25 13:18:38 +0200222endchoice
223
Tom Rini59180392021-08-21 13:50:13 -0400224choice
225 prompt "DDR bus width"
226 default DDR_64BIT
227 depends on ARMADA_XP
228
229config DDR_64BIT
230 bool "64bit bus width"
231
232config DDR_32BIT
233 bool "32bit bus width"
234
235endchoice
236
Tom Rini592bcd02021-08-21 13:50:15 -0400237config DDR_LOG_LEVEL
238 int "DDR training code log level"
239 depends on ARMADA_XP
240 default 0
241 range 0 3
242 help
243 Amount of information provided on error while running the DDR
244 training code. At level 0, provides an error code in a case of
245 failure, RL, WL errors and other algorithm failure. At level 1,
246 provides the D-Unit setup (SPD/Static configuration). At level 2,
247 provides the windows margin as a results of DQS centeralization.
248 At level 3, rovides the windows margin of each DQ as a results of
249 DQS centeralization.
250
Marek Behún90555af2022-02-17 13:54:42 +0100251config DDR_RESET_ON_TRAINING_FAILURE
252 bool "Reset the board on DDR training failure instead of hanging"
253 depends on ARMADA_38X || ARMADA_XP
254 help
255 If DDR training fails in SPL, reset the board instead of hanging.
256 Some boards are known to fail DDR training occasionally and an
257 immediate reset may be preferable to waiting until the board is
258 reset by watchdog (if there even is one).
259
260 Note that if booting via UART and the DDR training fails, the
261 device will still hang - it doesn't make sense to reset the board
262 in such a case.
263
Tom Rini9a04d7d2022-02-25 11:19:46 -0500264config BOARD_ECC_SUPPORT
265 bool
266
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100267config SYS_BOARD
268 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500269 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200270 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100271 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100272 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200273 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behún09e16b82017-06-09 19:28:45 +0200274 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200275 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese5c806f12016-10-25 10:56:19 +0200276 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100277 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100278 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800279 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100280 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100281 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800282 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100283 default "theadorable" if TARGET_THEADORABLE
Baruch Siachdaa6f082018-06-18 21:56:23 +0300284 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300285 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200286 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200287 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200288 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300289 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100290
291config SYS_CONFIG_NAME
292 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500293 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200294 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100295 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100296 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200297 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200298 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100299 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100300 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800301 default "ds116" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100302 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100303 default "maxbcm" if TARGET_MAXBCM
Tony Dinh63eba132023-02-01 15:13:05 -0800304 default "n2350" if TARGET_N2350
Stefan Roese459e0642016-01-20 08:13:29 +0100305 default "theadorable" if TARGET_THEADORABLE
Marek Behún09e16b82017-06-09 19:28:45 +0200306 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200307 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300308 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300309 default "x530" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200310 default "x240" if TARGET_X240
Chris Packham199e3182019-04-11 22:22:53 +1200311 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200312 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300313 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100314
315config SYS_VENDOR
316 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200317 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100318 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100319 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200320 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200321 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkin1d6ff1f2021-03-16 17:20:57 +0100322 default "Marvell" if TARGET_OCTEONTX2_CN913x
Chris Packham199e3182019-04-11 22:22:53 +1200323 default "Marvell" if TARGET_DB_XC3_24G4XG
324 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100325 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500326 default "kobol" if TARGET_HELIOS4
Tony Dinh6aebc1a2023-02-09 14:00:03 -0800327 default "Synology" if TARGET_DS116
Phil Sutterd76eba62015-12-25 14:41:25 +0100328 default "Synology" if TARGET_DS414
Tony Dinh63eba132023-02-01 15:13:05 -0800329 default "thecus" if TARGET_N2350
Marek Behún09e16b82017-06-09 19:28:45 +0200330 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200331 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300332 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300333 default "alliedtelesis" if TARGET_X530
Chris Packham7325f1f2023-07-10 10:47:36 +1200334 default "alliedtelesis" if TARGET_X240
Luka Kovacic25acb8b2020-05-26 20:17:50 +0200335 default "mikrotik" if TARGET_CRS3XX_98DX3236
Chris Packham67b7d502022-11-05 17:24:00 +1300336 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100337
Stefan Roese383e0c12015-08-25 13:18:38 +0200338config SYS_SOC
339 default "mvebu"
340
Marek Behún09e16b82017-06-09 19:28:45 +0200341choice
Baruch Siach8d196a42018-06-18 21:56:24 +0300342 prompt "Boot method"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600343 depends on SPL
Marek Behún09e16b82017-06-09 19:28:45 +0200344
Baruch Siach8d196a42018-06-18 21:56:24 +0300345config MVEBU_SPL_BOOT_DEVICE_SPI
Pali Rohár8d110322023-01-10 23:13:01 +0100346 bool "NOR flash (SPI or parallel)"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600347 imply ENV_IS_IN_SPI_FLASH
Pali Rohárcf97b822021-07-23 11:14:29 +0200348 imply SPL_DM_SPI
349 imply SPL_SPI_FLASH_SUPPORT
350 imply SPL_SPI_LOAD
Simon Glassa5820472021-08-08 12:20:14 -0600351 imply SPL_SPI
Pali Rohára3a38e52021-07-23 11:14:25 +0200352 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200353
Pali Rohár5c5cf602023-01-10 22:55:21 +0100354config MVEBU_SPL_BOOT_DEVICE_NAND
355 bool "NAND flash (SPI or parallel)"
356 select MTD_RAW_NAND
357 select SPL_BOOTROM_SUPPORT
358
Baruch Siach8d196a42018-06-18 21:56:24 +0300359config MVEBU_SPL_BOOT_DEVICE_MMC
Pali Rohár8d110322023-01-10 23:13:01 +0100360 bool "eMMC or SD card"
Joel Johnsona2018ab2020-04-17 01:19:05 -0600361 imply ENV_IS_IN_MMC
362 # GPIO needed for eMMC/SD card presence detection
Pali Rohárcf97b822021-07-23 11:14:29 +0200363 imply SPL_DM_GPIO
364 imply SPL_DM_MMC
365 imply SPL_GPIO
366 imply SPL_LIBDISK_SUPPORT
Simon Glassb58bfe02021-08-08 12:20:09 -0600367 imply SPL_MMC
Pali Rohárcefdc032023-01-08 13:31:41 +0100368 select SUPPORT_EMMC_BOOT if SPL_MMC
Pali Roháraa6244e2023-01-09 00:52:09 +0100369 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
Pali Rohára3a38e52021-07-23 11:14:25 +0200370 select SPL_BOOTROM_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200371
Baruch Siachb936a272019-05-16 13:03:58 +0300372config MVEBU_SPL_BOOT_DEVICE_SATA
373 bool "SATA"
Simon Glass081a45a2021-08-08 12:20:17 -0600374 imply SPL_SATA
Pali Rohárcf97b822021-07-23 11:14:29 +0200375 imply SPL_LIBDISK_SUPPORT
Pali Rohára3a38e52021-07-23 11:14:25 +0200376 select SPL_BOOTROM_SUPPORT
Baruch Siachb936a272019-05-16 13:03:58 +0300377
Pali Rohárea876902023-01-10 23:09:15 +0100378config MVEBU_SPL_BOOT_DEVICE_PEX
379 bool "PCI Express"
380 select SPL_BOOTROM_SUPPORT
381
Baruch Siachb35c4472018-06-18 21:56:26 +0300382config MVEBU_SPL_BOOT_DEVICE_UART
383 bool "UART"
Pali Rohára3a38e52021-07-23 11:14:25 +0200384 select SPL_BOOTROM_SUPPORT
Baruch Siachb35c4472018-06-18 21:56:26 +0300385
Marek Behún09e16b82017-06-09 19:28:45 +0200386endchoice
387
Pali Rohár5c5cf602023-01-10 22:55:21 +0100388config MVEBU_SPL_NAND_BADBLK_LOCATION
389 hex "NAND Bad block indicator location"
390 depends on MVEBU_SPL_BOOT_DEVICE_NAND
391 range 0x0 0x1
392 help
393 Value 0x0 = SLC flash = BBI at page 0 or page 1
394 Value 0x1 = MLC flash = BBI at last page in the block
395
Pali Rohár7085f822023-03-29 21:25:58 +0200396config MVEBU_SPL_SATA_BLKSZ
397 int "SATA block size"
398 depends on MVEBU_SPL_BOOT_DEVICE_SATA
399 range 512 32768
400 default 512
401 help
402 Block size of the SATA disk in bytes.
403 Typically 512 bytes for majority of disks
404 and 4096 bytes for 4K Native disks.
405
Mario Six10d14492017-01-11 16:01:00 +0100406config MVEBU_EFUSE
407 bool "Enable eFuse support"
Mario Six10d14492017-01-11 16:01:00 +0100408 depends on HAVE_MVEBU_EFUSE
409 help
410 Enable support for reading and writing eFuses on mvebu SoCs.
411
412config MVEBU_EFUSE_FAKE
413 bool "Fake eFuse access (dry run)"
Mario Six10d14492017-01-11 16:01:00 +0100414 depends on MVEBU_EFUSE
415 help
416 This enables a "dry run" mode where eFuses are not really programmed.
417 Instead the eFuse accesses are emulated by writing to and reading
418 from a memory block.
419 This is can be used for testing prog scripts.
420
Pali Rohár2662d2c2022-09-22 13:43:45 +0200421config MVEBU_EFUSE_VHV_GPIO
422 string "VHV_Enable GPIO name for eFuse programming"
423 depends on MVEBU_EFUSE && !ARMADA_3700
424 help
425 The eFuse programing (burning) phase requires supplying 1.8V to the
426 device on the VHV power pin, while for normal operation the VHV power
427 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
428 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
429 .
430 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
431
432config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
433 bool "VHV_Enable GPIO is Active Low"
434 depends on MVEBU_EFUSE_VHV_GPIO != ""
435
Mario Six10d14492017-01-11 16:01:00 +0100436config SECURED_MODE_IMAGE
437 bool "Build image for trusted boot"
438 default false
439 depends on 88F6820
440 help
441 Build an image that employs the ARMADA SoC's trusted boot framework
442 for securely booting images.
443
444config SECURED_MODE_CSK_INDEX
445 int "Index of active CSK"
446 default 0
447 depends on SECURED_MODE_IMAGE
448
Tony Dinh89dc46d2023-03-02 19:27:29 -0800449config SF_DEFAULT_SPEED
450 int "Default speed for SPI flash in Hz"
451 default 10000000
452 depends on MVEBU_SPL_BOOT_DEVICE_SPI
453
454config SF_DEFAULT_MODE
455 hex "Default mode for SPI flash"
456 default 0x0
457 depends on MVEBU_SPL_BOOT_DEVICE_SPI
458
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600459source "board/solidrun/clearfog/Kconfig"
Dennis Gilmore838e49b2020-12-08 21:07:36 -0600460source "board/kobol/helios4/Kconfig"
Joel Johnson28bf4ca2020-03-23 14:21:32 -0600461
Stefan Roese383e0c12015-08-25 13:18:38 +0200462endif