]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - arch/arm/Kconfig
ARM: Kconfig: Move TI_SECURE_DEVICE to a common area
[people/ms/u-boot.git] / arch / arm / Kconfig
index ca386decfe8603f7a3735b416b0de353ae7c25bf..2c52ff025a2219b7578ceefe3c014705d207a075 100644 (file)
@@ -19,6 +19,36 @@ config POSITION_INDEPENDENT
          from almost any address. This logic relies on the relocation
          information that is embedded into the binary to support U-Boot
          relocating itself to the top-of-RAM later during execution.
+
+config SYS_INIT_SP_BSS_OFFSET
+       int
+       help
+         U-Boot typically uses a hard-coded value for the stack pointer
+         before relocation. Define this option to instead calculate the
+         initial SP at run-time. This is useful to avoid hard-coding addresses
+         into U-Boot, so that can be loaded and executed at arbitrary
+         addresses and thus avoid using arbitrary addresses at runtime. This
+         option's value is the offset added to &_bss_start in order to
+         calculate the stack pointer. This offset should be large enough so
+         that the early malloc region, global data (gd), and early stack usage
+         do not overlap any appended DTB.
+
+config LINUX_KERNEL_IMAGE_HEADER
+       bool
+       help
+         Place a Linux kernel image header at the start of the U-Boot binary.
+         The format of the header is described in the Linux kernel source at
+         Documentation/arm64/booting.txt. This feature is useful since the
+         image header reports the amount of memory (BSS and similar) that
+         U-Boot needs to use, but which isn't part of the binary.
+
+if LINUX_KERNEL_IMAGE_HEADER
+config LNX_KRNL_IMG_TEXT_OFFSET_BASE
+       hex
+       help
+         The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
+         TEXT_OFFSET value written in to the Linux kernel image header.
+endif
 endif
 
 config STATIC_RELA
@@ -122,6 +152,9 @@ config ARM_ERRATA_852421
 config ARM_ERRATA_852423
        bool
 
+config ARM_ERRATA_855873
+       bool
+
 config CPU_ARM720T
        bool
        select SYS_CACHE_SHIFT_5
@@ -254,9 +287,8 @@ config ENABLE_ARM_SOC_BOOT0_HOOK
        bool "prepare BOOT0 header"
        help
          If the SoC's BOOT0 requires a header area filled with (magic)
-         values, then choose this option, and create a define called
-         ARM_SOC_BOOT0_HOOK which contains the required assembler
-         preprocessor code.
+         values, then choose this option, and create a file included as
+         <asm/arch/boot0.h> which contains the required assembler code.
 
 config ARM_CORTEX_CPU_IS_UP
        bool
@@ -315,6 +347,7 @@ config ARCH_AT91
 config TARGET_EDB93XX
        bool "Support edb93xx"
        select CPU_ARM920T
+       select PL010_SERIAL
 
 config TARGET_ASPENITE
        bool "Support aspenite"
@@ -362,54 +395,6 @@ config TARGET_APF27
        select CPU_ARM926EJS
        select SUPPORT_SPL
 
-config TARGET_APX4DEVKIT
-       bool "Support apx4devkit"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
-config TARGET_XFI3
-       bool "Support xfi3"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
-config TARGET_M28EVK
-       bool "Support m28evk"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
-config TARGET_MX23EVK
-       bool "Support mx23evk"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-       select BOARD_EARLY_INIT_F
-
-config TARGET_MX28EVK
-       bool "Support mx28evk"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-       select BOARD_EARLY_INIT_F
-
-config TARGET_MX23_OLINUXINO
-       bool "Support mx23_olinuxino"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-       select BOARD_EARLY_INIT_F
-
-config TARGET_BG0900
-       bool "Support bg0900"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
-config TARGET_SANSA_FUZE_PLUS
-       bool "Support sansa_fuze_plus"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
-config TARGET_SC_SPS_1
-       bool "Support sc_sps_1"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
 config ORION5X
        bool "Marvell Orion"
        select CPU_ARM926EJS
@@ -419,24 +404,28 @@ config TARGET_SPEAR300
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_SPEAR310
        bool "Support spear310"
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_SPEAR320
        bool "Support spear320"
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_SPEAR600
        bool "Support spear600"
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_STV0991
        bool "Support stv0991"
@@ -446,12 +435,14 @@ config TARGET_STV0991
        select DM_SPI
        select DM_SPI_FLASH
        select SPI_FLASH
+       select PL01X_SERIAL
 
 config TARGET_X600
        bool "Support x600"
        select BOARD_LATE_INIT
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config TARGET_IMX31_PHYCORE
        bool "Support imx31_phycore_eet"
@@ -500,6 +491,8 @@ config ARCH_BCM283X
        select DM_SERIAL
        select DM_GPIO
        select OF_CONTROL
+       select PL01X_SERIAL
+       select SERIAL_SEARCH_ALL
        imply FAT_WRITE
 
 config TARGET_VEXPRESS_CA15_TC2
@@ -507,14 +500,17 @@ config TARGET_VEXPRESS_CA15_TC2
        select CPU_V7
        select CPU_V7_HAS_NONSEC
        select CPU_V7_HAS_VIRT
+       select PL011_SERIAL
 
 config TARGET_VEXPRESS_CA5X2
        bool "Support vexpress_ca5x2"
        select CPU_V7
+       select PL011_SERIAL
 
 config TARGET_VEXPRESS_CA9X4
        bool "Support vexpress_ca9x4"
        select CPU_V7
+       select PL011_SERIAL
 
 config TARGET_BCM23550_W1D
        bool "Support bcm23550_w1d"
@@ -573,11 +569,13 @@ config ARCH_S5PC1XX
 config ARCH_HIGHBANK
        bool "Calxeda Highbank"
        select CPU_V7
+       select PL011_SERIAL
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select DM
        select DM_SERIAL
+       select PL01X_SERIAL
 
 config ARCH_KEYSTONE
        bool "TI Keystone"
@@ -604,14 +602,34 @@ config ARCH_MESON
          targeted at media players and tablet computers. We currently
          support the S905 (GXBaby) 64-bit SoC.
 
+config ARCH_MX8M
+       bool "NXP i.MX8M platform"
+       select ARM64
+       select DM
+       select SUPPORT_SPL
+
+config ARCH_MX23
+       bool "NXP i.MX23 family"
+       select CPU_ARM926EJS
+       select PL011_SERIAL
+       select SUPPORT_SPL
+
 config ARCH_MX25
        bool "NXP MX25"
        select CPU_ARM926EJS
+       imply MXC_GPIO
+
+config ARCH_MX28
+       bool "NXP i.MX28 family"
+       select CPU_ARM926EJS
+       select PL011_SERIAL
+       select SUPPORT_SPL
 
 config ARCH_MX7ULP
         bool "NXP MX7ULP"
         select CPU_V7
        select ROM_UNIFIED_SECTIONS
+       imply MXC_GPIO
 
 config ARCH_MX7
        bool "Freescale MX7"
@@ -621,6 +639,7 @@ config ARCH_MX7
        select SYS_FSL_SEC_LE
        select BOARD_EARLY_INIT_F
        select ARCH_MISC_INIT
+       imply MXC_GPIO
 
 config ARCH_MX6
        bool "Freescale MX6"
@@ -629,6 +648,7 @@ config ARCH_MX6
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
        select SYS_THUMB_BUILD if SPL
+       imply MXC_GPIO
 
 if ARCH_MX6
 config SPL_LDSCRIPT
@@ -639,14 +659,14 @@ config ARCH_MX5
        bool "Freescale MX5"
        select CPU_V7
        select BOARD_EARLY_INIT_F
+       imply MXC_GPIO
 
 config ARCH_QEMU
        bool "QEMU Virtual Platform"
-       select CPU_V7
-       select ARCH_SUPPORT_PSCI
        select DM
        select DM_SERIAL
        select OF_CONTROL
+       select PL01X_SERIAL
 
 config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
@@ -678,16 +698,17 @@ config ARCH_SOCFPGA
        select OF_CONTROL
        select SPL_OF_CONTROL
        select DM
-       select DM_SPI_FLASH
-       select DM_SPI
        select ENABLE_ARM_SOC_BOOT0_HOOK
        select ARCH_EARLY_INIT_R
        select ARCH_MISC_INIT
-       select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
        select SYS_THUMB_BUILD
        imply CMD_MTDPARTS
        imply CRC32_VERIFY
+       imply DM_SPI
+       imply DM_SPI_FLASH
        imply FAT_WRITE
+       imply HW_WATCHDOG
+       imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
@@ -715,6 +736,7 @@ config ARCH_SUNXI
        select USE_TINY_PRINTF
        imply CMD_GPT
        imply FAT_WRITE
+       imply OF_LIBFDT_OVERLAY
        imply PRE_CONSOLE_BUFFER
        imply SPL_GPIO_SUPPORT
        imply SPL_LIBCOMMON_SUPPORT
@@ -725,11 +747,6 @@ config ARCH_SUNXI
        imply SPL_SERIAL_SUPPORT
        imply USB_GADGET
 
-config TARGET_TS4600
-       bool "Support TS4600"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7
@@ -738,7 +755,7 @@ config ARCH_VF610
        imply NAND
 
 config ARCH_ZYNQ
-       bool "Xilinx Zynq Platform"
+       bool "Xilinx Zynq based platform"
        select BOARD_LATE_INIT
        select CPU_V7
        select SUPPORT_SPL
@@ -746,25 +763,23 @@ config ARCH_ZYNQ
        select SPL_BOARD_INIT if SPL
        select SPL_OF_CONTROL if SPL
        select DM
-       select DM_ETH
-       select DM_GPIO
+       select DM_ETH if NET
        select SPL_DM if SPL
-       select DM_MMC
+       select DM_MMC if MMC
        select DM_SPI
        select DM_SERIAL
        select DM_SPI_FLASH
        select SPL_SEPARATE_BSS if SPL
        select DM_USB if USB
-       select BLK
        select CLK
-       select SPL_CLK
+       select SPL_CLK if SPL
        select CLK_ZYNQ
        imply CMD_CLK
        imply FAT_WRITE
        imply CMD_SPL
 
 config ARCH_ZYNQMP
-       bool "Support Xilinx ZynqMP Platform"
+       bool "Xilinx ZynqMP based platform"
        select ARM64
        select BOARD_LATE_INIT
        select DM
@@ -773,7 +788,7 @@ config ARCH_ZYNQMP
        select SUPPORT_SPL
        select CLK
        select SPL_BOARD_INIT if SPL
-       select SPL_CLK
+       select SPL_CLK if SPL
        select DM_USB if USB
        imply FAT_WRITE
 
@@ -784,15 +799,18 @@ config TEGRA
 config TARGET_VEXPRESS64_AEMV8A
        bool "Support vexpress_aemv8a"
        select ARM64
+       select PL01X_SERIAL
 
 config TARGET_VEXPRESS64_BASE_FVP
        bool "Support Versatile Express ARMv8a FVP BASE model"
        select ARM64
        select SEMIHOSTING
+       select PL01X_SERIAL
 
 config TARGET_VEXPRESS64_BASE_FVP_DRAM
        bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
        select ARM64
+       select PL01X_SERIAL
        help
          This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
          the default config to allow the user to load the images directly into
@@ -802,6 +820,7 @@ config TARGET_VEXPRESS64_BASE_FVP_DRAM
 config TARGET_VEXPRESS64_JUNO
        bool "Support Versatile Express Juno Development Platform"
        select ARM64
+       select PL01X_SERIAL
 
 config TARGET_LS2080A_EMU
        bool "Support ls2080a_emu"
@@ -850,6 +869,7 @@ config TARGET_LS2080AQDS
        select SUPPORT_SPL
        select ARCH_MISC_INIT
        imply SCSI
+       imply SCSI_AHCI
        help
          Support for Freescale LS2080AQDS platform
          The LS2080A Development System (QDS) is a high-performance
@@ -865,6 +885,7 @@ config TARGET_LS2080ARDB
        select SUPPORT_SPL
        select ARCH_MISC_INIT
        imply SCSI
+       imply SCSI_AHCI
        help
          Support for Freescale LS2080ARDB platform.
          The LS2080A Reference design board (RDB) is a high-performance
@@ -892,6 +913,7 @@ config TARGET_HIKEY
        select DM_GPIO
        select DM_SERIAL
        select OF_CONTROL
+       select PL01X_SERIAL
          help
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
@@ -903,6 +925,7 @@ config TARGET_POPLAR
        select OF_CONTROL
        select DM_SERIAL
        select DM_USB
+       select PL01X_SERIAL
          help
          Support for Poplar 96boards EE platform. It features a HI3798cv200
          SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
@@ -926,12 +949,25 @@ config TARGET_LS1012ARDB
        select ARM64
        select BOARD_LATE_INIT
        imply SCSI
+       imply SCSI_AHCI
        help
          Support for Freescale LS1012ARDB platform.
          The LS1012A Reference design board (RDB) is a high-performance
          development platform that supports the QorIQ LS1012A
          Layerscape Architecture processor.
 
+config TARGET_LS1012A2G5RDB
+       bool "Support ls1012a2g5rdb"
+       select ARCH_LS1012A
+       select ARM64
+       select BOARD_LATE_INIT
+       imply SCSI
+       help
+         Support for Freescale LS1012A2G5RDB platform.
+         The LS1012A 2G5 Reference design board (RDB) is a high-performance
+         development platform that supports the QorIQ LS1012A
+         Layerscape Architecture processor.
+
 config TARGET_LS1012AFRDM
        bool "Support ls1012afrdm"
        select ARCH_LS1012A
@@ -1145,6 +1181,7 @@ config TARGET_THUNDERX_88XX
        select ARM64
        select OF_CONTROL
        select SYS_CACHE_SHIFT_7
+       select PL01X_SERIAL
 
 config ARCH_ASPEED
        bool "Support Aspeed SoCs"
@@ -1153,6 +1190,16 @@ config ARCH_ASPEED
 
 endchoice
 
+config TI_SECURE_DEVICE
+       bool "HS Device Type Support"
+       depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
+       help
+         If a high secure (HS) device type is being used, this config
+         must be set. This option impacts various aspects of the
+         build system (to create signed boot images that can be
+         authenticated) and the code. See the doc/README.ti-secure
+         file for further details.
+
 source "arch/arm/mach-aspeed/Kconfig"
 
 source "arch/arm/mach-at91/Kconfig"
@@ -1177,13 +1224,17 @@ source "arch/arm/cpu/armv7/ls102xa/Kconfig"
 
 source "arch/arm/mach-imx/mx2/Kconfig"
 
-source "arch/arm/mach-imx/mx7ulp/Kconfig"
+source "arch/arm/mach-imx/mx5/Kconfig"
+
+source "arch/arm/mach-imx/mx6/Kconfig"
 
 source "arch/arm/mach-imx/mx7/Kconfig"
 
-source "arch/arm/mach-imx/mx6/Kconfig"
+source "arch/arm/mach-imx/mx7ulp/Kconfig"
 
-source "arch/arm/mach-imx/mx5/Kconfig"
+source "arch/arm/mach-imx/mx8m/Kconfig"
+
+source "arch/arm/mach-imx/mxs/Kconfig"
 
 source "arch/arm/mach-omap2/Kconfig"
 
@@ -1227,7 +1278,6 @@ source "arch/arm/cpu/armv8/Kconfig"
 
 source "arch/arm/mach-imx/Kconfig"
 
-source "board/aries/m28evk/Kconfig"
 source "board/bosch/shc/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
@@ -1235,7 +1285,6 @@ source "board/Marvell/gplugd/Kconfig"
 source "board/armadeus/apf27/Kconfig"
 source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
-source "board/bluegiga/apx4devkit/Kconfig"
 source "board/broadcom/bcm23550_w1d/Kconfig"
 source "board/broadcom/bcm28155_ap/Kconfig"
 source "board/broadcom/bcmcygnus/Kconfig"
@@ -1243,7 +1292,7 @@ source "board/broadcom/bcmnsp/Kconfig"
 source "board/broadcom/bcmns2/Kconfig"
 source "board/cavium/thunderx/Kconfig"
 source "board/cirrus/edb93xx/Kconfig"
-source "board/creative/xfi3/Kconfig"
+source "board/eets/pdu001/Kconfig"
 source "board/freescale/ls2080a/Kconfig"
 source "board/freescale/ls2080aqds/Kconfig"
 source "board/freescale/ls2080ardb/Kconfig"
@@ -1258,8 +1307,6 @@ source "board/freescale/ls1046ardb/Kconfig"
 source "board/freescale/ls1012aqds/Kconfig"
 source "board/freescale/ls1012ardb/Kconfig"
 source "board/freescale/ls1012afrdm/Kconfig"
-source "board/freescale/mx23evk/Kconfig"
-source "board/freescale/mx28evk/Kconfig"
 source "board/freescale/mx31ads/Kconfig"
 source "board/freescale/mx31pdk/Kconfig"
 source "board/freescale/mx35pdk/Kconfig"
@@ -1272,11 +1319,7 @@ source "board/hisilicon/hikey/Kconfig"
 source "board/hisilicon/poplar/Kconfig"
 source "board/imx31_phycore/Kconfig"
 source "board/isee/igep003x/Kconfig"
-source "board/olimex/mx23_olinuxino/Kconfig"
 source "board/phytec/pcm051/Kconfig"
-source "board/ppcag/bg0900/Kconfig"
-source "board/sandisk/sansa_fuze_plus/Kconfig"
-source "board/schulercontrol/sc_sps_1/Kconfig"
 source "board/silica/pengwyn/Kconfig"
 source "board/spear/spear300/Kconfig"
 source "board/spear/spear310/Kconfig"
@@ -1288,7 +1331,6 @@ source "board/tcl/sl50/Kconfig"
 source "board/birdland/bav335x/Kconfig"
 source "board/timll/devkit3250/Kconfig"
 source "board/toradex/colibri_pxa270/Kconfig"
-source "board/technologic/ts4600/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/woodburn/Kconfig"
 source "board/work-microwave/work_92105/Kconfig"
@@ -1299,7 +1341,7 @@ source "arch/arm/Kconfig.debug"
 endmenu
 
 config SPL_LDSCRIPT
-        default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3
+        default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28
         default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
        default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64