arm64: mvebu: Add basic support for the Turris Mox board
[oweals/u-boot.git] / arch / arm / mach-mvebu / Kconfig
index 53117c4296d97887ddda65159369ba2b405c546f..f431cff9509796055606584f8a209eaa7ac35de9 100644 (file)
@@ -1,8 +1,12 @@
 if ARCH_MVEBU
 
+config HAVE_MVEBU_EFUSE
+       bool
+       default n
+
 config ARMADA_32BIT
        bool
-       select CPU_V7
+       select CPU_V7A
        select SUPPORT_SPL
        select SPL_DM
        select SPL_DM_SEQ_ALIAS
@@ -23,6 +27,7 @@ config ARMADA_375
 config ARMADA_38X
        bool
        select ARMADA_32BIT
+       select HAVE_MVEBU_EFUSE
 
 config ARMADA_XP
        bool
@@ -52,6 +57,7 @@ config MV78230
 config MV78260
        bool
        select ARMADA_XP
+       imply CMD_SATA
 
 config MV78460
        bool
@@ -69,9 +75,10 @@ config TARGET_CLEARFOG
        bool "Support ClearFog"
        select 88F6820
 
-config TARGET_MVEBU_DB_88F3720
-       bool "Support DB-88F3720 Armada 3720"
+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"
@@ -85,10 +92,19 @@ config TARGET_DB_88F6820_AMC
        bool "Support DB-88F6820-AMC"
        select 88F6820
 
+config TARGET_TURRIS_OMNIA
+       bool "Support Turris Omnia"
+       select 88F6820
+
+config TARGET_TURRIS_MOX
+       bool "Support Turris Mox"
+       select ARMADA_3700
+
 config TARGET_MVEBU_ARMADA_8K
        bool "Support Armada 7k/8k platforms"
        select ARMADA_8K
        select BOARD_LATE_INIT
+       imply SCSI
 
 config TARGET_DB_MV784MP_GP
        bool "Support db-mv784mp-gp"
@@ -106,15 +122,22 @@ 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
 
 endchoice
 
 config SYS_BOARD
        default "clearfog" if TARGET_CLEARFOG
-       default "mvebu_db-88f3720" if TARGET_MVEBU_DB_88F3720
+       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 "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
        default "ds414" if TARGET_DS414
@@ -123,7 +146,7 @@ config SYS_BOARD
 
 config SYS_CONFIG_NAME
        default "clearfog" if TARGET_CLEARFOG
-       default "mvebu_db-88f3720" if TARGET_MVEBU_DB_88F3720
+       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
@@ -132,18 +155,67 @@ config SYS_CONFIG_NAME
        default "ds414" if TARGET_DS414
        default "maxbcm" if TARGET_MAXBCM
        default "theadorable" if TARGET_THEADORABLE
+       default "turris_omnia" if TARGET_TURRIS_OMNIA
+       default "turris_mox" if TARGET_TURRIS_MOX
 
 config SYS_VENDOR
        default "Marvell" if TARGET_DB_MV784MP_GP
-       default "Marvell" if TARGET_MVEBU_DB_88F3720
+       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 "solidrun" if TARGET_CLEARFOG
        default "Synology" if TARGET_DS414
+       default "CZ.NIC" if TARGET_TURRIS_OMNIA
+       default "CZ.NIC" if TARGET_TURRIS_MOX
 
 config SYS_SOC
        default "mvebu"
 
+if TARGET_TURRIS_OMNIA
+
+choice
+       prompt "Turris Omnia boot method"
+
+config TURRIS_OMNIA_SPL_BOOT_DEVICE_SPI
+       bool "SPI NOR flash"
+
+config TURRIS_OMNIA_SPL_BOOT_DEVICE_MMC
+       bool "SDIO/MMC card"
+
+endchoice
+
+endif
+
+config MVEBU_EFUSE
+       bool "Enable eFuse support"
+       default n
+       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)"
+       default n
+       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 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
+
 endif