arm64: mvebu: Add basic support for the Turris Mox board
[oweals/u-boot.git] / arch / arm / mach-mvebu / Kconfig
index 6e8026bde25308369a641aa6a57f96e7bcf8f458..f431cff9509796055606584f8a209eaa7ac35de9 100644 (file)
@@ -1,13 +1,19 @@
 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
        select SPL_OF_CONTROL
        select SPL_SIMPLE_BUS
+       select BOARD_EARLY_INIT_F
+       select ARCH_MISC_INIT
 
 config ARMADA_64BIT
        bool
@@ -21,6 +27,7 @@ config ARMADA_375
 config ARMADA_38X
        bool
        select ARMADA_32BIT
+       select HAVE_MVEBU_EFUSE
 
 config ARMADA_XP
        bool
@@ -36,6 +43,12 @@ config ARMADA_8K
        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
+       default "1000000000" if ARMADA_38X || ARMADA_375
+
 # Armada XP/38x SoC types...
 config MV78230
        bool
@@ -44,6 +57,7 @@ config MV78230
 config MV78260
        bool
        select ARMADA_XP
+       imply CMD_SATA
 
 config MV78460
        bool
@@ -61,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"
@@ -77,9 +92,19 @@ config TARGET_DB_88F6820_AMC
        bool "Support DB-88F6820-AMC"
        select 88F6820
 
-config TARGET_MVEBU_DB_88F7040
-       bool "Support DB-88F7040 Armada 7040"
+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"
@@ -95,17 +120,25 @@ config TARGET_MAXBCM
 
 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 "mvebu_db-88f7040" if TARGET_MVEBU_DB_88F7040
+       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
        default "maxbcm" if TARGET_MAXBCM
@@ -113,27 +146,76 @@ 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
-       default "mvebu_db-88f7040" if TARGET_MVEBU_DB_88F7040
+       default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
        default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
        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_DB_88F7040
+       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