mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-15 01:17:39 +00:00
94c0f0b177
Extend Turris Mox board code to support CZ.NIC's RIPE Atlas Probe. Signed-off-by: Marek Behún <kabel@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
461 lines
11 KiB
Text
461 lines
11 KiB
Text
if ARCH_MVEBU
|
|
|
|
config HAVE_MVEBU_EFUSE
|
|
bool
|
|
|
|
config ARMADA_32BIT
|
|
bool
|
|
select BOARD_EARLY_INIT_F
|
|
select CPU_V7A
|
|
select SPL_DM if SPL
|
|
select SPL_DM_SEQ_ALIAS if SPL
|
|
select SPL_OF_CONTROL if SPL
|
|
select SPL_SKIP_LOWLEVEL_INIT if SPL
|
|
select SPL_SIMPLE_BUS if SPL
|
|
select SUPPORT_SPL
|
|
select SYS_L2_PL310 if !SYS_L2CACHE_OFF
|
|
select TRANSLATION_OFFSET
|
|
select SPL_SYS_NO_VECTOR_TABLE if SPL
|
|
select ARCH_VERY_EARLY_INIT
|
|
|
|
# ARMv7 SoCs...
|
|
config ARMADA_375
|
|
bool
|
|
select ARMADA_32BIT
|
|
|
|
config ARMADA_38X
|
|
bool
|
|
select ARMADA_32BIT
|
|
select HAVE_MVEBU_EFUSE
|
|
|
|
config ARMADA_38X_HS_IMPEDANCE_THRESH
|
|
hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
|
|
depends on ARMADA_38X
|
|
default 0x6
|
|
range 0x0 0x7
|
|
|
|
config ARMADA_XP
|
|
bool
|
|
select ARMADA_32BIT
|
|
|
|
# ARMv8 SoCs...
|
|
config ARMADA_3700
|
|
bool
|
|
select ARM64
|
|
select HAVE_MVEBU_EFUSE
|
|
|
|
# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
|
|
config ARMADA_8K
|
|
bool
|
|
select ARM64
|
|
|
|
config ALLEYCAT_5
|
|
bool
|
|
select ARM64
|
|
|
|
# Armada PLL frequency (used for NAND clock generation)
|
|
config SYS_MVEBU_PLL_CLOCK
|
|
int
|
|
default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
|
|
default "1000000000" if ARMADA_38X || ARMADA_375
|
|
|
|
# Armada XP/38x SoC types...
|
|
config MV78230
|
|
bool
|
|
select ARMADA_XP
|
|
|
|
config MV78260
|
|
bool
|
|
select ARMADA_XP
|
|
imply CMD_SATA
|
|
|
|
config MV78460
|
|
bool
|
|
select ARMADA_XP
|
|
|
|
config ARMADA_MSYS
|
|
bool
|
|
select ARMADA_32BIT
|
|
|
|
config 98DX4251
|
|
bool
|
|
select ARMADA_MSYS
|
|
|
|
config 98DX3336
|
|
bool
|
|
select ARMADA_MSYS
|
|
|
|
config 98DX3236
|
|
bool
|
|
select ARMADA_MSYS
|
|
|
|
config 88F6820
|
|
bool
|
|
select ARMADA_38X
|
|
|
|
config CUSTOMER_BOARD_SUPPORT
|
|
bool
|
|
|
|
config DDR4
|
|
bool "Support Marvell DDR4 Training driver"
|
|
|
|
choice
|
|
prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
|
|
optional
|
|
|
|
config TARGET_CLEARFOG
|
|
bool "Support ClearFog"
|
|
select 88F6820
|
|
select BOARD_LATE_INIT
|
|
select OF_BOARD_SETUP
|
|
|
|
config TARGET_HELIOS4
|
|
bool "Support Helios4"
|
|
select 88F6820
|
|
|
|
config TARGET_MVEBU_ARMADA_37XX
|
|
bool "Support Armada 37xx platforms"
|
|
select ARMADA_3700
|
|
imply SCSI
|
|
|
|
config TARGET_DB_88F6720
|
|
bool "Support DB-88F6720 Armada 375"
|
|
select ARMADA_375
|
|
|
|
config TARGET_DB_88F6820_GP
|
|
bool "Support DB-88F6820-GP"
|
|
select 88F6820
|
|
|
|
config TARGET_DB_88F6820_AMC
|
|
bool "Support DB-88F6820-AMC"
|
|
select 88F6820
|
|
|
|
config TARGET_TURRIS_OMNIA
|
|
bool "Support Turris Omnia"
|
|
select 88F6820
|
|
select BOARD_LATE_INIT
|
|
select DM_I2C
|
|
select I2C_MUX
|
|
select I2C_MUX_PCA954x
|
|
select SPL_DRIVERS_MISC
|
|
select SPL_I2C_MUX
|
|
select SPL_SYS_MALLOC_SIMPLE
|
|
select SYS_I2C_MVTWSI
|
|
select ATSHA204A
|
|
|
|
config TARGET_TURRIS_MOX
|
|
bool "Support CZ.NIC's Turris Mox / RIPE Atlas Probe"
|
|
select ARMADA_3700
|
|
select BOARD_TYPES
|
|
select ENV_IS_IN_MMC
|
|
select ENV_IS_IN_SPI_FLASH
|
|
select MULTI_DTB_FIT
|
|
|
|
config TARGET_MVEBU_ARMADA_8K
|
|
bool "Support Armada 7k/8k platforms"
|
|
select ARMADA_8K
|
|
select BOARD_LATE_INIT
|
|
imply SCSI
|
|
|
|
config TARGET_MVEBU_ALLEYCAT5
|
|
bool "Support AlleyCat 5 platforms"
|
|
select ALLEYCAT_5
|
|
|
|
config TARGET_OCTEONTX2_CN913x
|
|
bool "Support CN913x platforms"
|
|
select ARMADA_8K
|
|
imply BOARD_EARLY_INIT_R
|
|
select BOARD_LATE_INIT
|
|
imply SCSI
|
|
|
|
config TARGET_DB_MV784MP_GP
|
|
bool "Support db-mv784mp-gp"
|
|
select BOARD_ECC_SUPPORT
|
|
select MV78460
|
|
|
|
config TARGET_DS116
|
|
bool "Support Synology DS116"
|
|
select 88F6820
|
|
|
|
config TARGET_DS414
|
|
bool "Support Synology DS414"
|
|
select MV78230
|
|
|
|
config TARGET_MAXBCM
|
|
bool "Support maxbcm"
|
|
select BOARD_ECC_SUPPORT
|
|
select MV78460
|
|
|
|
config TARGET_N2350
|
|
bool "Support Thecus N2350"
|
|
select 88F6820
|
|
select DDR4
|
|
|
|
config TARGET_THEADORABLE
|
|
bool "Support theadorable Armada XP"
|
|
select BOARD_LATE_INIT if USB
|
|
select MV78260
|
|
imply CMD_SATA
|
|
|
|
config TARGET_CONTROLCENTERDC
|
|
bool "Support CONTROLCENTERDC"
|
|
select 88F6820
|
|
select CUSTOMER_BOARD_SUPPORT
|
|
|
|
config TARGET_X530
|
|
bool "Support Allied Telesis x530"
|
|
select 88F6820
|
|
|
|
config TARGET_X240
|
|
bool "Support Allied Telesis x240"
|
|
select ALLEYCAT_5
|
|
|
|
config TARGET_DB_XC3_24G4XG
|
|
bool "Support DB-XC3-24G4XG"
|
|
select 98DX3336
|
|
|
|
config TARGET_CRS3XX_98DX3236
|
|
bool "Support CRS3XX-98DX3236"
|
|
select 98DX3236
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "DDR bus width"
|
|
default DDR_64BIT
|
|
depends on ARMADA_XP
|
|
|
|
config DDR_64BIT
|
|
bool "64bit bus width"
|
|
|
|
config DDR_32BIT
|
|
bool "32bit bus width"
|
|
|
|
endchoice
|
|
|
|
config DDR_LOG_LEVEL
|
|
int "DDR training code log level"
|
|
depends on ARMADA_XP
|
|
default 0
|
|
range 0 3
|
|
help
|
|
Amount of information provided on error while running the DDR
|
|
training code. At level 0, provides an error code in a case of
|
|
failure, RL, WL errors and other algorithm failure. At level 1,
|
|
provides the D-Unit setup (SPD/Static configuration). At level 2,
|
|
provides the windows margin as a results of DQS centeralization.
|
|
At level 3, rovides the windows margin of each DQ as a results of
|
|
DQS centeralization.
|
|
|
|
config DDR_RESET_ON_TRAINING_FAILURE
|
|
bool "Reset the board on DDR training failure instead of hanging"
|
|
depends on ARMADA_38X || ARMADA_XP
|
|
help
|
|
If DDR training fails in SPL, reset the board instead of hanging.
|
|
Some boards are known to fail DDR training occasionally and an
|
|
immediate reset may be preferable to waiting until the board is
|
|
reset by watchdog (if there even is one).
|
|
|
|
Note that if booting via UART and the DDR training fails, the
|
|
device will still hang - it doesn't make sense to reset the board
|
|
in such a case.
|
|
|
|
config BOARD_ECC_SUPPORT
|
|
bool
|
|
|
|
config SYS_BOARD
|
|
default "clearfog" if TARGET_CLEARFOG
|
|
default "helios4" if TARGET_HELIOS4
|
|
default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
|
|
default "db-88f6720" if TARGET_DB_88F6720
|
|
default "db-88f6820-gp" if TARGET_DB_88F6820_GP
|
|
default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
|
|
default "turris_omnia" if TARGET_TURRIS_OMNIA
|
|
default "turris_mox" if TARGET_TURRIS_MOX
|
|
default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
|
|
default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
|
|
default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
|
|
default "ds116" if TARGET_DS116
|
|
default "ds414" if TARGET_DS414
|
|
default "maxbcm" if TARGET_MAXBCM
|
|
default "n2350" if TARGET_N2350
|
|
default "theadorable" if TARGET_THEADORABLE
|
|
default "a38x" if TARGET_CONTROLCENTERDC
|
|
default "x530" if TARGET_X530
|
|
default "x240" if TARGET_X240
|
|
default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
|
|
default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
|
|
default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
|
|
|
|
config SYS_CONFIG_NAME
|
|
default "clearfog" if TARGET_CLEARFOG
|
|
default "helios4" if TARGET_HELIOS4
|
|
default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
|
|
default "db-88f6720" if TARGET_DB_88F6720
|
|
default "db-88f6820-gp" if TARGET_DB_88F6820_GP
|
|
default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
|
|
default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
|
|
default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
|
|
default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
|
|
default "ds116" if TARGET_DS116
|
|
default "ds414" if TARGET_DS414
|
|
default "maxbcm" if TARGET_MAXBCM
|
|
default "n2350" if TARGET_N2350
|
|
default "theadorable" if TARGET_THEADORABLE
|
|
default "turris_omnia" if TARGET_TURRIS_OMNIA
|
|
default "turris_mox" if TARGET_TURRIS_MOX
|
|
default "controlcenterdc" if TARGET_CONTROLCENTERDC
|
|
default "x530" if TARGET_X530
|
|
default "x240" if TARGET_X240
|
|
default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
|
|
default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
|
|
default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
|
|
|
|
config SYS_VENDOR
|
|
default "Marvell" if TARGET_DB_MV784MP_GP
|
|
default "Marvell" if TARGET_MVEBU_ARMADA_37XX
|
|
default "Marvell" if TARGET_DB_88F6720
|
|
default "Marvell" if TARGET_DB_88F6820_GP
|
|
default "Marvell" if TARGET_DB_88F6820_AMC
|
|
default "Marvell" if TARGET_MVEBU_ARMADA_8K
|
|
default "Marvell" if TARGET_OCTEONTX2_CN913x
|
|
default "Marvell" if TARGET_DB_XC3_24G4XG
|
|
default "Marvell" if TARGET_MVEBU_DB_88F7040
|
|
default "solidrun" if TARGET_CLEARFOG
|
|
default "kobol" if TARGET_HELIOS4
|
|
default "Synology" if TARGET_DS116
|
|
default "Synology" if TARGET_DS414
|
|
default "thecus" if TARGET_N2350
|
|
default "CZ.NIC" if TARGET_TURRIS_OMNIA
|
|
default "CZ.NIC" if TARGET_TURRIS_MOX
|
|
default "gdsys" if TARGET_CONTROLCENTERDC
|
|
default "alliedtelesis" if TARGET_X530
|
|
default "alliedtelesis" if TARGET_X240
|
|
default "mikrotik" if TARGET_CRS3XX_98DX3236
|
|
default "Marvell" if TARGET_MVEBU_ALLEYCAT5
|
|
|
|
config SYS_SOC
|
|
default "mvebu"
|
|
|
|
choice
|
|
prompt "Boot method"
|
|
depends on SPL
|
|
|
|
config MVEBU_SPL_BOOT_DEVICE_SPI
|
|
bool "NOR flash (SPI or parallel)"
|
|
imply ENV_IS_IN_SPI_FLASH
|
|
imply SPL_DM_SPI
|
|
imply SPL_SPI_FLASH_SUPPORT
|
|
imply SPL_SPI_LOAD
|
|
imply SPL_SPI
|
|
select SPL_BOOTROM_SUPPORT
|
|
|
|
config MVEBU_SPL_BOOT_DEVICE_NAND
|
|
bool "NAND flash (SPI or parallel)"
|
|
select MTD_RAW_NAND
|
|
select SPL_BOOTROM_SUPPORT
|
|
|
|
config MVEBU_SPL_BOOT_DEVICE_MMC
|
|
bool "eMMC or SD card"
|
|
imply ENV_IS_IN_MMC
|
|
# GPIO needed for eMMC/SD card presence detection
|
|
imply SPL_DM_GPIO
|
|
imply SPL_DM_MMC
|
|
imply SPL_GPIO
|
|
imply SPL_LIBDISK_SUPPORT
|
|
imply SPL_MMC
|
|
select SUPPORT_EMMC_BOOT if SPL_MMC
|
|
select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
|
|
select SPL_BOOTROM_SUPPORT
|
|
|
|
config MVEBU_SPL_BOOT_DEVICE_SATA
|
|
bool "SATA"
|
|
imply SPL_SATA
|
|
imply SPL_LIBDISK_SUPPORT
|
|
select SPL_BOOTROM_SUPPORT
|
|
|
|
config MVEBU_SPL_BOOT_DEVICE_PEX
|
|
bool "PCI Express"
|
|
select SPL_BOOTROM_SUPPORT
|
|
|
|
config MVEBU_SPL_BOOT_DEVICE_UART
|
|
bool "UART"
|
|
select SPL_BOOTROM_SUPPORT
|
|
|
|
endchoice
|
|
|
|
config MVEBU_SPL_NAND_BADBLK_LOCATION
|
|
hex "NAND Bad block indicator location"
|
|
depends on MVEBU_SPL_BOOT_DEVICE_NAND
|
|
range 0x0 0x1
|
|
help
|
|
Value 0x0 = SLC flash = BBI at page 0 or page 1
|
|
Value 0x1 = MLC flash = BBI at last page in the block
|
|
|
|
config MVEBU_SPL_SATA_BLKSZ
|
|
int "SATA block size"
|
|
depends on MVEBU_SPL_BOOT_DEVICE_SATA
|
|
range 512 32768
|
|
default 512
|
|
help
|
|
Block size of the SATA disk in bytes.
|
|
Typically 512 bytes for majority of disks
|
|
and 4096 bytes for 4K Native disks.
|
|
|
|
config MVEBU_EFUSE
|
|
bool "Enable eFuse support"
|
|
depends on HAVE_MVEBU_EFUSE
|
|
help
|
|
Enable support for reading and writing eFuses on mvebu SoCs.
|
|
|
|
config MVEBU_EFUSE_FAKE
|
|
bool "Fake eFuse access (dry run)"
|
|
depends on MVEBU_EFUSE
|
|
help
|
|
This enables a "dry run" mode where eFuses are not really programmed.
|
|
Instead the eFuse accesses are emulated by writing to and reading
|
|
from a memory block.
|
|
This is can be used for testing prog scripts.
|
|
|
|
config MVEBU_EFUSE_VHV_GPIO
|
|
string "VHV_Enable GPIO name for eFuse programming"
|
|
depends on MVEBU_EFUSE && !ARMADA_3700
|
|
help
|
|
The eFuse programing (burning) phase requires supplying 1.8V to the
|
|
device on the VHV power pin, while for normal operation the VHV power
|
|
rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
|
|
document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
|
|
.
|
|
This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
|
|
|
|
config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
|
|
bool "VHV_Enable GPIO is Active Low"
|
|
depends on MVEBU_EFUSE_VHV_GPIO != ""
|
|
|
|
config SECURED_MODE_IMAGE
|
|
bool "Build image for trusted boot"
|
|
default false
|
|
depends on 88F6820
|
|
help
|
|
Build an image that employs the ARMADA SoC's trusted boot framework
|
|
for securely booting images.
|
|
|
|
config SECURED_MODE_CSK_INDEX
|
|
int "Index of active CSK"
|
|
default 0
|
|
depends on SECURED_MODE_IMAGE
|
|
|
|
config SF_DEFAULT_SPEED
|
|
int "Default speed for SPI flash in Hz"
|
|
default 10000000
|
|
depends on MVEBU_SPL_BOOT_DEVICE_SPI
|
|
|
|
config SF_DEFAULT_MODE
|
|
hex "Default mode for SPI flash"
|
|
default 0x0
|
|
depends on MVEBU_SPL_BOOT_DEVICE_SPI
|
|
|
|
source "board/solidrun/clearfog/Kconfig"
|
|
source "board/kobol/helios4/Kconfig"
|
|
|
|
endif
|