3 config HAVE_MVEBU_EFUSE
8 select BOARD_EARLY_INIT_F
11 select SPL_DM_SEQ_ALIAS if SPL
12 select SPL_OF_CONTROL if SPL
13 select SPL_SKIP_LOWLEVEL_INIT if SPL
14 select SPL_SIMPLE_BUS if SPL
16 select SYS_L2_PL310 if !SYS_L2CACHE_OFF
17 select TRANSLATION_OFFSET
18 select SPL_SYS_NO_VECTOR_TABLE if SPL
19 select ARCH_VERY_EARLY_INIT
29 select HAVE_MVEBU_EFUSE
31 config ARMADA_38X_HS_IMPEDANCE_THRESH
32 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
45 select HAVE_MVEBU_EFUSE
47 # Armada 7K and 8K are very similar - use only one Kconfig symbol for both
56 # Armada PLL frequency (used for NAND clock generation)
57 config SYS_MVEBU_PLL_CLOCK
59 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
60 default "1000000000" if ARMADA_38X || ARMADA_375
62 # Armada XP/38x SoC types...
96 config CUSTOMER_BOARD_SUPPORT
100 bool "Support Marvell DDR4 Training driver"
103 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
106 config TARGET_CLEARFOG
107 bool "Support ClearFog"
109 select BOARD_LATE_INIT
110 select OF_BOARD_SETUP
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 DS116"
177 bool "Support Synology DS414"
181 bool "Support maxbcm"
182 select BOARD_ECC_SUPPORT
186 bool "Support Thecus N2350"
190 config TARGET_THEADORABLE
191 bool "Support theadorable Armada XP"
192 select BOARD_LATE_INIT if USB
196 config TARGET_CONTROLCENTERDC
197 bool "Support CONTROLCENTERDC"
199 select CUSTOMER_BOARD_SUPPORT
202 bool "Support Allied Telesis x530"
205 config TARGET_DB_XC3_24G4XG
206 bool "Support DB-XC3-24G4XG"
209 config TARGET_CRS3XX_98DX3236
210 bool "Support CRS3XX-98DX3236"
216 prompt "DDR bus width"
221 bool "64bit bus width"
224 bool "32bit bus width"
229 int "DDR training code log level"
234 Amount of information provided on error while running the DDR
235 training code. At level 0, provides an error code in a case of
236 failure, RL, WL errors and other algorithm failure. At level 1,
237 provides the D-Unit setup (SPD/Static configuration). At level 2,
238 provides the windows margin as a results of DQS centeralization.
239 At level 3, rovides the windows margin of each DQ as a results of
242 config DDR_RESET_ON_TRAINING_FAILURE
243 bool "Reset the board on DDR training failure instead of hanging"
244 depends on ARMADA_38X || ARMADA_XP
246 If DDR training fails in SPL, reset the board instead of hanging.
247 Some boards are known to fail DDR training occasionally and an
248 immediate reset may be preferable to waiting until the board is
249 reset by watchdog (if there even is one).
251 Note that if booting via UART and the DDR training fails, the
252 device will still hang - it doesn't make sense to reset the board
255 config BOARD_ECC_SUPPORT
259 default "clearfog" if TARGET_CLEARFOG
260 default "helios4" if TARGET_HELIOS4
261 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
262 default "db-88f6720" if TARGET_DB_88F6720
263 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
264 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
265 default "turris_omnia" if TARGET_TURRIS_OMNIA
266 default "turris_mox" if TARGET_TURRIS_MOX
267 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
268 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
269 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
270 default "ds116" if TARGET_DS116
271 default "ds414" if TARGET_DS414
272 default "maxbcm" if TARGET_MAXBCM
273 default "n2350" if TARGET_N2350
274 default "theadorable" if TARGET_THEADORABLE
275 default "a38x" if TARGET_CONTROLCENTERDC
276 default "x530" if TARGET_X530
277 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
278 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
279 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
281 config SYS_CONFIG_NAME
282 default "clearfog" if TARGET_CLEARFOG
283 default "helios4" if TARGET_HELIOS4
284 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
285 default "db-88f6720" if TARGET_DB_88F6720
286 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
287 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
288 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
289 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
290 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
291 default "ds116" if TARGET_DS116
292 default "ds414" if TARGET_DS414
293 default "maxbcm" if TARGET_MAXBCM
294 default "n2350" if TARGET_N2350
295 default "theadorable" if TARGET_THEADORABLE
296 default "turris_omnia" if TARGET_TURRIS_OMNIA
297 default "turris_mox" if TARGET_TURRIS_MOX
298 default "controlcenterdc" if TARGET_CONTROLCENTERDC
299 default "x530" if TARGET_X530
300 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
301 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
302 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
305 default "Marvell" if TARGET_DB_MV784MP_GP
306 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
307 default "Marvell" if TARGET_DB_88F6720
308 default "Marvell" if TARGET_DB_88F6820_GP
309 default "Marvell" if TARGET_DB_88F6820_AMC
310 default "Marvell" if TARGET_MVEBU_ARMADA_8K
311 default "Marvell" if TARGET_OCTEONTX2_CN913x
312 default "Marvell" if TARGET_DB_XC3_24G4XG
313 default "Marvell" if TARGET_MVEBU_DB_88F7040
314 default "solidrun" if TARGET_CLEARFOG
315 default "kobol" if TARGET_HELIOS4
316 default "Synology" if TARGET_DS116
317 default "Synology" if TARGET_DS414
318 default "thecus" if TARGET_N2350
319 default "CZ.NIC" if TARGET_TURRIS_OMNIA
320 default "CZ.NIC" if TARGET_TURRIS_MOX
321 default "gdsys" if TARGET_CONTROLCENTERDC
322 default "alliedtelesis" if TARGET_X530
323 default "mikrotik" if TARGET_CRS3XX_98DX3236
324 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
333 config MVEBU_SPL_BOOT_DEVICE_SPI
334 bool "NOR flash (SPI or parallel)"
335 imply ENV_IS_IN_SPI_FLASH
337 imply SPL_SPI_FLASH_SUPPORT
340 select SPL_BOOTROM_SUPPORT
342 config MVEBU_SPL_BOOT_DEVICE_NAND
343 bool "NAND flash (SPI or parallel)"
345 select SPL_BOOTROM_SUPPORT
347 config MVEBU_SPL_BOOT_DEVICE_MMC
348 bool "eMMC or SD card"
350 # GPIO needed for eMMC/SD card presence detection
354 imply SPL_LIBDISK_SUPPORT
356 select SUPPORT_EMMC_BOOT if SPL_MMC
357 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
358 select SPL_BOOTROM_SUPPORT
360 config MVEBU_SPL_BOOT_DEVICE_SATA
363 imply SPL_LIBDISK_SUPPORT
364 select SPL_BOOTROM_SUPPORT
366 config MVEBU_SPL_BOOT_DEVICE_PEX
368 select SPL_BOOTROM_SUPPORT
370 config MVEBU_SPL_BOOT_DEVICE_UART
372 select SPL_BOOTROM_SUPPORT
376 config MVEBU_SPL_NAND_BADBLK_LOCATION
377 hex "NAND Bad block indicator location"
378 depends on MVEBU_SPL_BOOT_DEVICE_NAND
381 Value 0x0 = SLC flash = BBI at page 0 or page 1
382 Value 0x1 = MLC flash = BBI at last page in the block
385 bool "Enable eFuse support"
386 depends on HAVE_MVEBU_EFUSE
388 Enable support for reading and writing eFuses on mvebu SoCs.
390 config MVEBU_EFUSE_FAKE
391 bool "Fake eFuse access (dry run)"
392 depends on MVEBU_EFUSE
394 This enables a "dry run" mode where eFuses are not really programmed.
395 Instead the eFuse accesses are emulated by writing to and reading
397 This is can be used for testing prog scripts.
399 config MVEBU_EFUSE_VHV_GPIO
400 string "VHV_Enable GPIO name for eFuse programming"
401 depends on MVEBU_EFUSE && !ARMADA_3700
403 The eFuse programing (burning) phase requires supplying 1.8V to the
404 device on the VHV power pin, while for normal operation the VHV power
405 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
406 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
408 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
410 config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
411 bool "VHV_Enable GPIO is Active Low"
412 depends on MVEBU_EFUSE_VHV_GPIO != ""
414 config SECURED_MODE_IMAGE
415 bool "Build image for trusted boot"
419 Build an image that employs the ARMADA SoC's trusted boot framework
420 for securely booting images.
422 config SECURED_MODE_CSK_INDEX
423 int "Index of active CSK"
425 depends on SECURED_MODE_IMAGE
427 config SF_DEFAULT_SPEED
428 int "Default speed for SPI flash in Hz"
430 depends on MVEBU_SPL_BOOT_DEVICE_SPI
432 config SF_DEFAULT_MODE
433 hex "Default mode for SPI flash"
435 depends on MVEBU_SPL_BOOT_DEVICE_SPI
437 source "board/solidrun/clearfog/Kconfig"
438 source "board/kobol/helios4/Kconfig"