arm: mach-k3: Add secure device support
[platform/kernel/u-boot.git] / arch / arm / Kconfig
index 2298e6e..0a76138 100644 (file)
@@ -528,6 +528,12 @@ config ARCH_BCM283X
        imply CMD_DM
        imply FAT_WRITE
 
+config ARCH_BCM63158
+       bool "Broadcom BCM63158 family"
+       select DM
+       select OF_CONTROL
+       imply CMD_DM
+
 config ARCH_BCM6858
        bool "Broadcom BCM6858 family"
        select DM
@@ -833,6 +839,8 @@ config ARCH_SOCFPGA
        imply DM_SPI
        imply DM_SPI_FLASH
        imply FAT_WRITE
+       imply SPL
+       imply SPL_DM
        imply SPL_LIBDISK_SUPPORT
        imply SPL_MMC_SUPPORT
        imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
@@ -846,10 +854,13 @@ config ARCH_SUNXI
        select CMD_GPIO
        select CMD_MMC if MMC
        select CMD_USB if DISTRO_DEFAULTS
+       select CLK
        select DM
        select DM_ETH
        select DM_GPIO
        select DM_KEYBOARD
+       select DM_MMC if MMC
+       select DM_SCSI if SCSI
        select DM_SERIAL
        select DM_USB if DISTRO_DEFAULTS
        select OF_BOARD_SETUP
@@ -997,6 +1008,7 @@ config TARGET_LS2080A_EMU
        select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
+       select FSL_DDR_SYNC_REFRESH
        help
          Support for Freescale LS2080A_EMU platform
          The LS2080A Development System (EMULATOR) is a pre silicon
@@ -1023,6 +1035,7 @@ config TARGET_LS1088AQDS
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
        select SUPPORT_SPL
+       select FSL_DDR_INTERACTIVE if !SD_BOOT
        help
          Support for NXP LS1088AQDS platform
          The LS1088A Development System (QDS) is a high-performance
@@ -1039,6 +1052,8 @@ config TARGET_LS2080AQDS
        select SUPPORT_SPL
        imply SCSI
        imply SCSI_AHCI
+       select FSL_DDR_BIST
+       select FSL_DDR_INTERACTIVE if !SPL
        help
          Support for Freescale LS2080AQDS platform
          The LS2080A Development System (QDS) is a high-performance
@@ -1053,6 +1068,8 @@ config TARGET_LS2080ARDB
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
        select SUPPORT_SPL
+       select FSL_DDR_BIST
+       select FSL_DDR_INTERACTIVE if !SPL
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1075,6 +1092,32 @@ config TARGET_LS2081ARDB
          development platform that supports the QorIQ LS2081A/LS2041A
          Layerscape Architecture processor.
 
+config TARGET_LX2160ARDB
+       bool "Support lx2160ardb"
+       select ARCH_LX2160A
+       select ARCH_MISC_INIT
+       select ARM64
+       select ARMV8_MULTIENTRY
+       select BOARD_LATE_INIT
+       help
+         Support for NXP LX2160ARDB platform.
+         The lx2160ardb (LX2160A Reference design board (RDB)
+         is a high-performance development platform that supports the
+         QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
+
+config TARGET_LX2160AQDS
+       bool "Support lx2160aqds"
+       select ARCH_LX2160A
+       select ARCH_MISC_INIT
+       select ARM64
+       select ARMV8_MULTIENTRY
+       select BOARD_LATE_INIT
+       help
+         Support for NXP LX2160AQDS platform.
+         The lx2160aqds (LX2160A QorIQ Development System (QDS)
+         is a high-performance development platform that supports the
+         QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
+
 config TARGET_HIKEY
        bool "Support HiKey 96boards Consumer Edition Platform"
        select ARM64
@@ -1171,6 +1214,7 @@ config TARGET_LS1088ARDB
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
        select SUPPORT_SPL
+       select FSL_DDR_INTERACTIVE if !SD_BOOT
        help
          Support for NXP LS1088ARDB platform.
          The LS1088A Reference design board (RDB) is a high-performance
@@ -1189,6 +1233,7 @@ config TARGET_LS1021AQDS
        select LS1_DEEP_SLEEP
        select SUPPORT_SPL
        select SYS_FSL_DDR
+       select FSL_DDR_INTERACTIVE
        imply SCSI
 
 config TARGET_LS1021ATWR
@@ -1228,7 +1273,9 @@ config TARGET_LS1043AQDS
        select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select SUPPORT_SPL
+       select FSL_DDR_INTERACTIVE if !SPL
        imply SCSI
+       imply SCSI_AHCI
        help
          Support for Freescale LS1043AQDS platform.
 
@@ -1240,7 +1287,6 @@ config TARGET_LS1043ARDB
        select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select SUPPORT_SPL
-       imply SCSI
        help
          Support for Freescale LS1043ARDB platform.
 
@@ -1253,6 +1299,9 @@ config TARGET_LS1046AQDS
        select BOARD_LATE_INIT
        select DM_SPI_FLASH if DM_SPI
        select SUPPORT_SPL
+       select FSL_DDR_BIST if !SPL
+       select FSL_DDR_INTERACTIVE  if !SPL
+       select FSL_DDR_INTERACTIVE if !SPL
        imply SCSI
        help
          Support for Freescale LS1046AQDS platform.
@@ -1270,6 +1319,8 @@ config TARGET_LS1046ARDB
        select DM_SPI_FLASH if DM_SPI
        select POWER_MC34VR500
        select SUPPORT_SPL
+       select FSL_DDR_BIST
+       select FSL_DDR_INTERACTIVE if !SPL
        imply SCSI
        help
          Support for Freescale LS1046ARDB platform.
@@ -1356,11 +1407,15 @@ config ARCH_STM32MP
        select SYSRESET
        select SYS_THUMB_BUILD
        imply CMD_DM
+       imply CMD_POWEROFF
+       imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        help
          Support for STM32MP SoC family developed by STMicroelectronics,
          MPUs based on ARM cortex A core
-         U-BOOT is running in DDR and SPL support is the unsecure First Stage
-         BootLoader (FSBL)
+         U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
+         FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
+         chain.
+         SPL is the unsecure FSBL for the basic boot chain.
 
 config ARCH_ROCKCHIP
        bool "Support Rockchip SoCs"
@@ -1409,7 +1464,7 @@ endchoice
 
 config TI_SECURE_DEVICE
        bool "HS Device Type Support"
-       depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
+       depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
        help
          If a high secure (HS) device type is being used, this config
          must be set. This option impacts various aspects of the
@@ -1417,6 +1472,21 @@ config TI_SECURE_DEVICE
          authenticated) and the code. See the doc/README.ti-secure
          file for further details.
 
+if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
+config ISW_ENTRY_ADDR
+       hex "Address in memory or XIP address of bootloader entry point"
+       default 0x402F4000 if AM43XX
+       default 0x402F0400 if AM33XX
+       default 0x40301350 if OMAP54XX
+       help
+         After any reset, the boot ROM searches the boot media for a valid
+         boot image. For non-XIP devices, the ROM then copies the image into
+         internal memory. For all boot modes, after the ROM processes the
+         boot image it eventually computes the entry point address depending
+         on the device type (secure/non-secure), boot media (xip/non-xip) and
+         image headers.
+endif
+
 source "arch/arm/mach-aspeed/Kconfig"
 
 source "arch/arm/mach-at91/Kconfig"
@@ -1516,6 +1586,7 @@ source "arch/arm/cpu/armv8/Kconfig"
 source "arch/arm/mach-imx/Kconfig"
 
 source "board/bosch/shc/Kconfig"
+source "board/bosch/guardian/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
 source "board/Marvell/gplugd/Kconfig"
@@ -1524,6 +1595,7 @@ source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/broadcom/bcm23550_w1d/Kconfig"
 source "board/broadcom/bcm28155_ap/Kconfig"
+source "board/broadcom/bcm963158/Kconfig"
 source "board/broadcom/bcm968580xref/Kconfig"
 source "board/broadcom/bcmcygnus/Kconfig"
 source "board/broadcom/bcmnsp/Kconfig"
@@ -1546,6 +1618,7 @@ source "board/freescale/ls1046ardb/Kconfig"
 source "board/freescale/ls1012aqds/Kconfig"
 source "board/freescale/ls1012ardb/Kconfig"
 source "board/freescale/ls1012afrdm/Kconfig"
+source "board/freescale/lx2160a/Kconfig"
 source "board/freescale/mx35pdk/Kconfig"
 source "board/freescale/s32v234evb/Kconfig"
 source "board/grinn/chiliboard/Kconfig"