arm: mach-k3: Add secure device support
[platform/kernel/u-boot.git] / arch / arm / Kconfig
index 0e38d32..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
@@ -607,6 +613,7 @@ config ARCH_EXYNOS
        select DM_SPI
        select DM_SPI_FLASH
        select SPI
+       imply SYS_THUMB_BUILD
        imply CMD_DM
        imply FAT_WRITE
 
@@ -664,6 +671,20 @@ config ARCH_MESON
          targeted at media players and tablet computers. We currently
          support the S905 (GXBaby) 64-bit SoC.
 
+config ARCH_MEDIATEK
+       bool "MediaTek SoCs"
+       select BINMAN
+       select DM
+       select OF_CONTROL
+       select SPL_DM if SPL
+       select SPL_LIBCOMMON_SUPPORT if SPL
+       select SPL_LIBGENERIC_SUPPORT if SPL
+       select SPL_OF_CONTROL if SPL
+       select SUPPORT_SPL
+       help
+         Support for the MediaTek SoCs family developed by MediaTek Inc.
+         Please refer to doc/README.mediatek for more information.
+
 config ARCH_LPC32XX
        bool "NXP LPC32xx platform"
        select CPU_ARM926EJS
@@ -680,7 +701,7 @@ config ARCH_IMX8
        select DM
        select OF_CONTROL
 
-config ARCH_MX8M
+config ARCH_IMX8M
        bool "NXP i.MX8M platform"
        select ARM64
        select DM
@@ -770,6 +791,7 @@ config ARCH_RMOBILE
        imply CMD_DM
        imply FAT_WRITE
        imply SYS_THUMB_BUILD
+       imply ARCH_MISC_INIT if DISPLAY_CPUINFO
 
 config TARGET_S32V234EVB
        bool "Support s32v234evb"
@@ -802,15 +824,11 @@ config ARCH_SOCFPGA
        select SPL_DM_RESET if DM_RESET
        select SPL_DM_SERIAL
        select SPL_LIBCOMMON_SUPPORT
-       select SPL_LIBDISK_SUPPORT
        select SPL_LIBGENERIC_SUPPORT
-       select SPL_MMC_SUPPORT if DM_MMC
        select SPL_NAND_SUPPORT if SPL_NAND_DENALI
        select SPL_OF_CONTROL
        select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
        select SPL_SERIAL_SUPPORT
-       select SPL_SPI_FLASH_SUPPORT if SPL_SPI_SUPPORT
-       select SPL_SPI_SUPPORT if DM_SPI
        select SPL_WATCHDOG_SUPPORT
        select SUPPORT_SPL
        select SYS_NS16550
@@ -821,8 +839,14 @@ 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
        imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
+       imply SPL_SPI_FLASH_SUPPORT
+       imply SPL_SPI_SUPPORT
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
@@ -830,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
@@ -859,7 +886,6 @@ config ARCH_SUNXI
        imply PRE_CONSOLE_BUFFER
        imply SPL_GPIO_SUPPORT
        imply SPL_LIBCOMMON_SUPPORT
-       imply SPL_LIBDISK_SUPPORT
        imply SPL_LIBGENERIC_SUPPORT
        imply SPL_MMC_SUPPORT if MMC
        imply SPL_POWER_SUPPORT
@@ -871,6 +897,8 @@ config ARCH_VERSAL
        select ARM64
        select CLK
        select DM
+       select DM_ETH if NET
+       select DM_MMC if MMC
        select DM_SERIAL
        select OF_CONTROL
 
@@ -914,16 +942,23 @@ config ARCH_ZYNQMP_R5
        select CLK
        select CPU_V7R
        select DM
+       select DM_ETH if NET
+       select DM_MMC if MMC
        select DM_SERIAL
        select OF_CONTROL
        imply CMD_DM
+       imply DM_USB_GADGET
 
 config ARCH_ZYNQMP
        bool "Xilinx ZynqMP based platform"
        select ARM64
        select CLK
        select DM
+       select DM_ETH if NET
+       select DM_MMC if MMC
        select DM_SERIAL
+       select DM_SPI if SPI
+       select DM_SPI_FLASH if DM_SPI
        select DM_USB if USB
        select OF_CONTROL
        select SPL_BOARD_INIT if SPL
@@ -934,6 +969,7 @@ config ARCH_ZYNQMP
        imply CMD_DM
        imply FAT_WRITE
        imply MP
+       imply DM_USB_GADGET
 
 config TEGRA
        bool "NVIDIA Tegra"
@@ -972,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
@@ -998,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
@@ -1014,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
@@ -1028,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
@@ -1050,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
@@ -1146,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
@@ -1164,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
@@ -1203,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.
 
@@ -1215,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.
 
@@ -1228,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.
@@ -1245,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.
@@ -1331,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"
@@ -1384,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
@@ -1392,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"
@@ -1434,7 +1529,7 @@ source "arch/arm/mach-imx/mx7ulp/Kconfig"
 
 source "arch/arm/mach-imx/imx8/Kconfig"
 
-source "arch/arm/mach-imx/mx8m/Kconfig"
+source "arch/arm/mach-imx/imx8m/Kconfig"
 
 source "arch/arm/mach-imx/mxs/Kconfig"
 
@@ -1450,6 +1545,8 @@ source "arch/arm/mach-rmobile/Kconfig"
 
 source "arch/arm/mach-meson/Kconfig"
 
+source "arch/arm/mach-mediatek/Kconfig"
+
 source "arch/arm/mach-qemu/Kconfig"
 
 source "arch/arm/mach-rockchip/Kconfig"
@@ -1476,19 +1573,20 @@ source "arch/arm/cpu/armv7/vf610/Kconfig"
 
 source "arch/arm/mach-zynq/Kconfig"
 
+source "arch/arm/mach-zynqmp/Kconfig"
+
 source "arch/arm/mach-versal/Kconfig"
 
 source "arch/arm/mach-zynqmp-r5/Kconfig"
 
 source "arch/arm/cpu/armv7/Kconfig"
 
-source "arch/arm/cpu/armv8/zynqmp/Kconfig"
-
 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"
@@ -1497,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"
@@ -1519,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"