3 config HAVE_MVEBU_EFUSE
9 select BOARD_EARLY_INIT_F
12 select SPL_DM_SEQ_ALIAS if SPL
13 select SPL_OF_CONTROL if SPL
14 select SPL_SKIP_LOWLEVEL_INIT if SPL
15 select SPL_SIMPLE_BUS if SPL
17 select SYS_L2_PL310 if !SYS_L2CACHE_OFF
18 select TRANSLATION_OFFSET
19 select SPL_SYS_NO_VECTOR_TABLE if SPL
20 select ARCH_VERY_EARLY_INIT
30 select HAVE_MVEBU_EFUSE
32 config ARMADA_38X_HS_IMPEDANCE_THRESH
33 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
46 select HAVE_MVEBU_EFUSE
48 # Armada 7K and 8K are very similar - use only one Kconfig symbol for both
57 # Armada PLL frequency (used for NAND clock generation)
58 config SYS_MVEBU_PLL_CLOCK
60 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
61 default "1000000000" if ARMADA_38X || ARMADA_375
63 # Armada XP/38x SoC types...
97 config CUSTOMER_BOARD_SUPPORT
101 bool "Support Marvell DDR4 Training driver"
104 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
107 config TARGET_CLEARFOG
108 bool "Support ClearFog"
110 select BOARD_LATE_INIT
112 config TARGET_HELIOS4
113 bool "Support Helios4"
116 config TARGET_MVEBU_ARMADA_37XX
117 bool "Support Armada 37xx platforms"
121 config TARGET_DB_88F6720
122 bool "Support DB-88F6720 Armada 375"
125 config TARGET_DB_88F6820_GP
126 bool "Support DB-88F6820-GP"
129 config TARGET_DB_88F6820_AMC
130 bool "Support DB-88F6820-AMC"
133 config TARGET_TURRIS_OMNIA
134 bool "Support Turris Omnia"
136 select BOARD_LATE_INIT
139 select I2C_MUX_PCA954x
140 select SPL_DRIVERS_MISC
142 select SPL_SYS_MALLOC_SIMPLE
143 select SYS_I2C_MVTWSI
146 config TARGET_TURRIS_MOX
147 bool "Support Turris Mox"
150 config TARGET_MVEBU_ARMADA_8K
151 bool "Support Armada 7k/8k platforms"
153 select BOARD_LATE_INIT
156 config TARGET_MVEBU_ALLEYCAT5
157 bool "Support AlleyCat 5 platforms"
160 config TARGET_OCTEONTX2_CN913x
161 bool "Support CN913x platforms"
163 imply BOARD_EARLY_INIT_R
164 select BOARD_LATE_INIT
167 config TARGET_DB_MV784MP_GP
168 bool "Support db-mv784mp-gp"
169 select BOARD_ECC_SUPPORT
173 bool "Support Synology DS414"
177 bool "Support maxbcm"
178 select BOARD_ECC_SUPPORT
182 bool "Support Thecus N2350"
186 config TARGET_THEADORABLE
187 bool "Support theadorable Armada XP"
188 select BOARD_LATE_INIT if USB
192 config TARGET_CONTROLCENTERDC
193 bool "Support CONTROLCENTERDC"
195 select CUSTOMER_BOARD_SUPPORT
198 bool "Support Allied Telesis x530"
201 config TARGET_DB_XC3_24G4XG
202 bool "Support DB-XC3-24G4XG"
205 config TARGET_CRS3XX_98DX3236
206 bool "Support CRS3XX-98DX3236"
212 prompt "DDR bus width"
217 bool "64bit bus width"
220 bool "32bit bus width"
225 int "DDR training code log level"
230 Amount of information provided on error while running the DDR
231 training code. At level 0, provides an error code in a case of
232 failure, RL, WL errors and other algorithm failure. At level 1,
233 provides the D-Unit setup (SPD/Static configuration). At level 2,
234 provides the windows margin as a results of DQS centeralization.
235 At level 3, rovides the windows margin of each DQ as a results of
238 config DDR_RESET_ON_TRAINING_FAILURE
239 bool "Reset the board on DDR training failure instead of hanging"
240 depends on ARMADA_38X || ARMADA_XP
242 If DDR training fails in SPL, reset the board instead of hanging.
243 Some boards are known to fail DDR training occasionally and an
244 immediate reset may be preferable to waiting until the board is
245 reset by watchdog (if there even is one).
247 Note that if booting via UART and the DDR training fails, the
248 device will still hang - it doesn't make sense to reset the board
251 config BOARD_ECC_SUPPORT
255 default "clearfog" if TARGET_CLEARFOG
256 default "helios4" if TARGET_HELIOS4
257 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
258 default "db-88f6720" if TARGET_DB_88F6720
259 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
260 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
261 default "turris_omnia" if TARGET_TURRIS_OMNIA
262 default "turris_mox" if TARGET_TURRIS_MOX
263 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
264 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
265 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
266 default "ds414" if TARGET_DS414
267 default "maxbcm" if TARGET_MAXBCM
268 default "n2350" if TARGET_N2350
269 default "theadorable" if TARGET_THEADORABLE
270 default "a38x" if TARGET_CONTROLCENTERDC
271 default "x530" if TARGET_X530
272 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
273 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
274 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
276 config SYS_CONFIG_NAME
277 default "clearfog" if TARGET_CLEARFOG
278 default "helios4" if TARGET_HELIOS4
279 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
280 default "db-88f6720" if TARGET_DB_88F6720
281 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
282 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
283 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
284 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
285 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
286 default "ds414" if TARGET_DS414
287 default "maxbcm" if TARGET_MAXBCM
288 default "n2350" if TARGET_N2350
289 default "theadorable" if TARGET_THEADORABLE
290 default "turris_omnia" if TARGET_TURRIS_OMNIA
291 default "turris_mox" if TARGET_TURRIS_MOX
292 default "controlcenterdc" if TARGET_CONTROLCENTERDC
293 default "x530" if TARGET_X530
294 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
295 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
296 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
299 default "Marvell" if TARGET_DB_MV784MP_GP
300 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
301 default "Marvell" if TARGET_DB_88F6720
302 default "Marvell" if TARGET_DB_88F6820_GP
303 default "Marvell" if TARGET_DB_88F6820_AMC
304 default "Marvell" if TARGET_MVEBU_ARMADA_8K
305 default "Marvell" if TARGET_OCTEONTX2_CN913x
306 default "Marvell" if TARGET_DB_XC3_24G4XG
307 default "Marvell" if TARGET_MVEBU_DB_88F7040
308 default "solidrun" if TARGET_CLEARFOG
309 default "kobol" if TARGET_HELIOS4
310 default "Synology" if TARGET_DS414
311 default "thecus" if TARGET_N2350
312 default "CZ.NIC" if TARGET_TURRIS_OMNIA
313 default "CZ.NIC" if TARGET_TURRIS_MOX
314 default "gdsys" if TARGET_CONTROLCENTERDC
315 default "alliedtelesis" if TARGET_X530
316 default "mikrotik" if TARGET_CRS3XX_98DX3236
317 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
326 config MVEBU_SPL_BOOT_DEVICE_SPI
328 imply ENV_IS_IN_SPI_FLASH
330 imply SPL_SPI_FLASH_SUPPORT
333 select SPL_BOOTROM_SUPPORT
335 config MVEBU_SPL_BOOT_DEVICE_MMC
338 # GPIO needed for eMMC/SD card presence detection
342 imply SPL_LIBDISK_SUPPORT
344 select SPL_BOOTROM_SUPPORT
346 config MVEBU_SPL_BOOT_DEVICE_SATA
349 imply SPL_LIBDISK_SUPPORT
350 select SPL_BOOTROM_SUPPORT
352 config MVEBU_SPL_BOOT_DEVICE_UART
354 select SPL_BOOTROM_SUPPORT
359 bool "Enable eFuse support"
360 depends on HAVE_MVEBU_EFUSE
362 Enable support for reading and writing eFuses on mvebu SoCs.
364 config MVEBU_EFUSE_FAKE
365 bool "Fake eFuse access (dry run)"
366 depends on MVEBU_EFUSE
368 This enables a "dry run" mode where eFuses are not really programmed.
369 Instead the eFuse accesses are emulated by writing to and reading
371 This is can be used for testing prog scripts.
373 config MVEBU_EFUSE_VHV_GPIO
374 string "VHV_Enable GPIO name for eFuse programming"
375 depends on MVEBU_EFUSE && !ARMADA_3700
377 The eFuse programing (burning) phase requires supplying 1.8V to the
378 device on the VHV power pin, while for normal operation the VHV power
379 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
380 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
382 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
384 config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
385 bool "VHV_Enable GPIO is Active Low"
386 depends on MVEBU_EFUSE_VHV_GPIO != ""
388 config SECURED_MODE_IMAGE
389 bool "Build image for trusted boot"
393 Build an image that employs the ARMADA SoC's trusted boot framework
394 for securely booting images.
396 config SECURED_MODE_CSK_INDEX
397 int "Index of active CSK"
399 depends on SECURED_MODE_IMAGE
401 source "board/solidrun/clearfog/Kconfig"
402 source "board/kobol/helios4/Kconfig"