arm64: add better and more generic spin-table support
[oweals/u-boot.git] / arch / arm / Kconfig
index 653ecc81b7f858c691f8d034d4092e7e1ec258ae..585b408ee37001107203ad277c6b7bf442048355 100644 (file)
@@ -7,6 +7,10 @@ config SYS_ARCH
 config ARM64
        bool
 
 config ARM64
        bool
 
+config DMA_ADDR_T_64BIT
+       bool
+       default y if ARM64
+
 config HAS_VBAR
         bool
 
 config HAS_VBAR
         bool
 
@@ -60,6 +64,20 @@ config SYS_CPU
         default "sa1100" if CPU_SA1100
        default "armv8" if ARM64
 
         default "sa1100" if CPU_SA1100
        default "armv8" if ARM64
 
+config SYS_ARM_ARCH
+       int
+       default 4 if CPU_ARM720T
+       default 4 if CPU_ARM920T
+       default 5 if CPU_ARM926EJS
+       default 5 if CPU_ARM946ES
+       default 6 if CPU_ARM1136
+       default 6 if CPU_ARM1176
+       default 7 if CPU_V7
+       default 7 if CPU_V7M
+       default 5 if CPU_PXA
+       default 4 if CPU_SA1100
+       default 8 if ARM64
+
 config SEMIHOSTING
        bool "support boot from semihosting"
        help
 config SEMIHOSTING
        bool "support boot from semihosting"
        help
@@ -73,6 +91,14 @@ config SYS_L2CACHE_OFF
          If SoC does not support L2CACHE or one do not want to enable
          L2CACHE, choose this option.
 
          If SoC does not support L2CACHE or one do not want to enable
          L2CACHE, choose this option.
 
+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.
+
 choice
        prompt "Target select"
        default TARGET_HIKEY
 choice
        prompt "Target select"
        default TARGET_HIKEY
@@ -111,7 +137,7 @@ config KIRKWOOD
        select CPU_ARM926EJS
 
 config ARCH_MVEBU
        select CPU_ARM926EJS
 
 config ARCH_MVEBU
-       bool "Marvell MVEBU family (Armada XP/38x)"
+       bool "Marvell MVEBU family (Armada XP/375/38x)"
        select CPU_V7
        select SUPPORT_SPL
        select OF_CONTROL
        select CPU_V7
        select SUPPORT_SPL
        select OF_CONTROL
@@ -278,13 +304,13 @@ config TARGET_VEXPRESS_CA9X4
        bool "Support vexpress_ca9x4"
        select CPU_V7
 
        bool "Support vexpress_ca9x4"
        select CPU_V7
 
-config TARGET_KWB
-       bool "Support kwb"
+config TARGET_BRXRE1
+       bool "Support BRXRE1"
        select CPU_V7
        select SUPPORT_SPL
 
        select CPU_V7
        select SUPPORT_SPL
 
-config TARGET_TSERIES
-       bool "Support tseries"
+config TARGET_BRPPT1
+       bool "Support BRPPT1"
        select CPU_V7
        select SUPPORT_SPL
 
        select CPU_V7
        select SUPPORT_SPL
 
@@ -324,26 +350,49 @@ config TARGET_DRACO
        bool "Support draco"
        select CPU_V7
        select SUPPORT_SPL
        bool "Support draco"
        select CPU_V7
        select SUPPORT_SPL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
 
 config TARGET_THUBAN
        bool "Support thuban"
        select CPU_V7
        select SUPPORT_SPL
 
 config TARGET_THUBAN
        bool "Support thuban"
        select CPU_V7
        select SUPPORT_SPL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
 
 config TARGET_RASTABAN
        bool "Support rastaban"
        select CPU_V7
        select SUPPORT_SPL
 
 config TARGET_RASTABAN
        bool "Support rastaban"
        select CPU_V7
        select SUPPORT_SPL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
+
+config TARGET_ETAMIN
+        bool "Support etamin"
+        select CPU_V7
+        select SUPPORT_SPL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
 
 config TARGET_PXM2
        bool "Support pxm2"
        select CPU_V7
        select SUPPORT_SPL
 
 config TARGET_PXM2
        bool "Support pxm2"
        select CPU_V7
        select SUPPORT_SPL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
 
 config TARGET_RUT
        bool "Support rut"
        select CPU_V7
        select SUPPORT_SPL
 
 config TARGET_RUT
        bool "Support rut"
        select CPU_V7
        select SUPPORT_SPL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
 
 config TARGET_PENGWYN
        bool "Support pengwyn"
 
 config TARGET_PENGWYN
        bool "Support pengwyn"
@@ -370,18 +419,20 @@ config TARGET_AM335X_EVM
        select DM_GPIO
        select TI_I2C_BOARD_DETECT
 
        select DM_GPIO
        select TI_I2C_BOARD_DETECT
 
-config TARGET_AM335X_SL50
-       bool "Support am335x_sl50"
+config TARGET_AM335X_SHC
+       bool "Support am335x based shc board from bosch"
        select CPU_V7
        select SUPPORT_SPL
        select DM
        select DM_SERIAL
        select CPU_V7
        select SUPPORT_SPL
        select DM
        select DM_SERIAL
+       select DM_GPIO
 
 
-config TARGET_AM43XX_EVM
-       bool "Support am43xx_evm"
+config TARGET_AM335X_SL50
+       bool "Support am335x_sl50"
        select CPU_V7
        select SUPPORT_SPL
        select CPU_V7
        select SUPPORT_SPL
-       select TI_I2C_BOARD_DETECT
+       select DM
+       select DM_SERIAL
 
 config TARGET_BAV335X
        bool "Support bav335x"
 
 config TARGET_BAV335X
        bool "Support bav335x"
@@ -408,6 +459,10 @@ config TARGET_TI816X_EVM
        select CPU_V7
        select SUPPORT_SPL
 
        select CPU_V7
        select SUPPORT_SPL
 
+config TARGET_BCM23550_W1D
+       bool "Support bcm23550_w1d"
+       select CPU_V7
+
 config TARGET_BCM28155_AP
        bool "Support bcm28155_ap"
        select CPU_V7
 config TARGET_BCM28155_AP
        bool "Support bcm28155_ap"
        select CPU_V7
@@ -422,7 +477,6 @@ config TARGET_BCMNSP
 
 config ARCH_EXYNOS
        bool "Samsung EXYNOS"
 
 config ARCH_EXYNOS
        bool "Samsung EXYNOS"
-       select CPU_V7
        select DM
        select DM_SPI_FLASH
        select DM_SERIAL
        select DM
        select DM_SPI_FLASH
        select DM_SERIAL
@@ -450,6 +504,14 @@ config ARCH_KEYSTONE
        bool "TI Keystone"
        select CPU_V7
        select SUPPORT_SPL
        bool "TI Keystone"
        select CPU_V7
        select SUPPORT_SPL
+       select CMD_POWEROFF
+
+config ARCH_MESON
+       bool "Amlogic Meson"
+       help
+         Support for the Meson SoC family developed by Amlogic Inc.,
+         targeted at media players and tablet computers. We currently
+         support the S905 (GXBaby) 64-bit SoC.
 
 config ARCH_MX7
        bool "Freescale MX7"
 
 config ARCH_MX7
        bool "Freescale MX7"
@@ -502,10 +564,35 @@ config OMAP54XX
        select CPU_V7
        select SUPPORT_SPL
 
        select CPU_V7
        select SUPPORT_SPL
 
+config AM43XX
+       bool "AM43XX SoC"
+       select CPU_V7
+       select SUPPORT_SPL
+       help
+         Support for AM43xx SOC from Texas Instruments.
+         The AM43xx high performance SOC features a Cortex-A9
+         ARM core, a quad core PRU-ICSS for industrial Ethernet
+         protocols, dual camera support, optional 3D graphics
+         and an optional customer programmable secure boot.
+
 config RMOBILE
        bool "Renesas ARM SoCs"
        select CPU_V7
 
 config RMOBILE
        bool "Renesas ARM SoCs"
        select CPU_V7
 
+config TARGET_S32V234EVB
+       bool "Support s32v234evb"
+       select ARM64
+
+config ARCH_SNAPDRAGON
+       bool "Qualcomm Snapdragon SoCs"
+       select ARM64
+       select DM
+       select DM_GPIO
+       select DM_SERIAL
+       select SPMI
+       select OF_CONTROL
+       select OF_SEPARATE
+
 config ARCH_SOCFPGA
        bool "Altera SOCFPGA family"
        select CPU_V7
 config ARCH_SOCFPGA
        bool "Altera SOCFPGA family"
        select CPU_V7
@@ -523,6 +610,8 @@ config TARGET_CM_T43
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
+       select CMD_GPIO
+       select CMD_MMC if MMC
        select CMD_USB
        select DM
        select DM_ETH
        select CMD_USB
        select DM
        select DM_ETH
@@ -530,14 +619,16 @@ config ARCH_SUNXI
        select DM_KEYBOARD
        select DM_SERIAL
        select DM_USB
        select DM_KEYBOARD
        select DM_SERIAL
        select DM_USB
+       select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_SEPARATE
        select OF_CONTROL
        select OF_SEPARATE
-       select SPL_STACK_R if !MACH_SUN9I
-       select SPL_SYS_MALLOC_SIMPLE if !MACH_SUN9I
+       select SPL_STACK_R if SUPPORT_SPL
+       select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
        select SYS_NS16550
        select USB
        select USB_STORAGE
        select USB_KEYBOARD
        select SYS_NS16550
        select USB
        select USB_STORAGE
        select USB_KEYBOARD
+       select USE_TINY_PRINTF
 
 config TARGET_TS4800
        bool "Support TS4800"
 
 config TARGET_TS4800
        bool "Support TS4800"
@@ -563,6 +654,7 @@ config ARCH_ZYNQ
        select SPL_OF_CONTROL if SPL
        select DM
        select DM_ETH
        select SPL_OF_CONTROL if SPL
        select DM
        select DM_ETH
+       select DM_GPIO
        select SPL_DM if SPL
        select DM_MMC
        select DM_SPI
        select SPL_DM if SPL
        select DM_MMC
        select DM_SPI
@@ -575,9 +667,8 @@ config ARCH_ZYNQMP
        select ARM64
        select DM
        select OF_CONTROL
        select ARM64
        select DM
        select OF_CONTROL
-       select DM_ETH
-       select DM_MMC
        select DM_SERIAL
        select DM_SERIAL
+       select SUPPORT_SPL
 
 config TEGRA
        bool "NVIDIA Tegra"
 
 config TEGRA
        bool "NVIDIA Tegra"
@@ -652,10 +743,38 @@ config TARGET_HIKEY
        select DM
        select DM_GPIO
        select DM_SERIAL
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select OF_CONTROL
          help
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
 
          help
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
 
+config TARGET_LS1012AQDS
+       bool "Support ls1012aqds"
+       select ARM64
+       help
+         Support for Freescale LS1012AQDS platform.
+         The LS1012A Development System (QDS) is a high-performance
+         development platform that supports the QorIQ LS1012A
+         Layerscape Architecture processor.
+
+config TARGET_LS1012ARDB
+       bool "Support ls1012ardb"
+       select ARM64
+       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_LS1012AFRDM
+       bool "Support ls1012afrdm"
+       select ARM64
+       help
+         Support for Freescale LS1012AFRDM platform.
+         The LS1012A Freedom  board (FRDM) is a high-performance
+         development platform that supports the QorIQ LS1012A
+         Layerscape Architecture processor.
+
 config TARGET_LS1021AQDS
        bool "Support ls1021aqds"
        select CPU_V7
 config TARGET_LS1021AQDS
        bool "Support ls1021aqds"
        select CPU_V7
@@ -685,6 +804,10 @@ config TARGET_H2200
        bool "Support h2200"
        select CPU_PXA
 
        bool "Support h2200"
        select CPU_PXA
 
+config TARGET_ZIPITZ2
+       bool "Support zipitz2"
+       select CPU_PXA
+
 config TARGET_COLIBRI_PXA270
        bool "Support colibri_pxa270"
        select CPU_PXA
 config TARGET_COLIBRI_PXA270
        bool "Support colibri_pxa270"
        select CPU_PXA
@@ -696,6 +819,7 @@ config ARCH_UNIPHIER
        select SPL
        select OF_CONTROL
        select SPL_OF_CONTROL
        select SPL
        select OF_CONTROL
        select SPL_OF_CONTROL
+       select OF_LIBFDT
        select DM
        select SPL_DM
        select DM_GPIO
        select DM
        select SPL_DM
        select DM_GPIO
@@ -718,10 +842,22 @@ config ARCH_ROCKCHIP
        select SPL
        select OF_CONTROL
        select CPU_V7
        select SPL
        select OF_CONTROL
        select CPU_V7
+       select BLK
        select DM
        select DM
+       select SPL_DM
+       select SYS_MALLOC_F
+       select SPL_SYS_MALLOC_SIMPLE
+       select DM_GPIO
+       select DM_I2C
+       select DM_MMC
+       select DM_MMC_OPS
+       select DM_SERIAL
+       select DM_SPI
+       select DM_SPI_FLASH
 
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
 
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
+       select ARM64
        select OF_CONTROL
 
 endchoice
        select OF_CONTROL
 
 endchoice
@@ -750,20 +886,20 @@ source "arch/arm/cpu/armv7/mx6/Kconfig"
 
 source "arch/arm/cpu/armv7/mx5/Kconfig"
 
 
 source "arch/arm/cpu/armv7/mx5/Kconfig"
 
-source "arch/arm/cpu/armv7/omap3/Kconfig"
-
-source "arch/arm/cpu/armv7/omap4/Kconfig"
-
-source "arch/arm/cpu/armv7/omap5/Kconfig"
+source "arch/arm/cpu/armv7/omap-common/Kconfig"
 
 source "arch/arm/mach-orion5x/Kconfig"
 
 source "arch/arm/cpu/armv7/rmobile/Kconfig"
 
 
 source "arch/arm/mach-orion5x/Kconfig"
 
 source "arch/arm/cpu/armv7/rmobile/Kconfig"
 
+source "arch/arm/mach-meson/Kconfig"
+
 source "arch/arm/mach-rockchip/Kconfig"
 
 source "arch/arm/mach-s5pc1xx/Kconfig"
 
 source "arch/arm/mach-rockchip/Kconfig"
 
 source "arch/arm/mach-s5pc1xx/Kconfig"
 
+source "arch/arm/mach-snapdragon/Kconfig"
+
 source "arch/arm/mach-socfpga/Kconfig"
 
 source "arch/arm/mach-stm32/Kconfig"
 source "arch/arm/mach-socfpga/Kconfig"
 
 source "arch/arm/mach-stm32/Kconfig"
@@ -782,8 +918,9 @@ source "arch/arm/cpu/armv8/Kconfig"
 
 source "arch/arm/imx-common/Kconfig"
 
 
 source "arch/arm/imx-common/Kconfig"
 
-source "board/BuR/kwb/Kconfig"
-source "board/BuR/tseries/Kconfig"
+source "board/bosch/shc/Kconfig"
+source "board/BuR/brxre1/Kconfig"
+source "board/BuR/brppt1/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
 source "board/Marvell/gplugd/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
 source "board/Marvell/gplugd/Kconfig"
@@ -791,6 +928,7 @@ source "board/armadeus/apf27/Kconfig"
 source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/bluegiga/apx4devkit/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"
 source "board/broadcom/bcmnsp/Kconfig"
 source "board/broadcom/bcm28155_ap/Kconfig"
 source "board/broadcom/bcmcygnus/Kconfig"
 source "board/broadcom/bcmnsp/Kconfig"
@@ -808,6 +946,9 @@ source "board/freescale/ls1021aqds/Kconfig"
 source "board/freescale/ls1043aqds/Kconfig"
 source "board/freescale/ls1021atwr/Kconfig"
 source "board/freescale/ls1043ardb/Kconfig"
 source "board/freescale/ls1043aqds/Kconfig"
 source "board/freescale/ls1021atwr/Kconfig"
 source "board/freescale/ls1043ardb/Kconfig"
+source "board/freescale/ls1012aqds/Kconfig"
+source "board/freescale/ls1012ardb/Kconfig"
+source "board/freescale/ls1012afrdm/Kconfig"
 source "board/freescale/mx23evk/Kconfig"
 source "board/freescale/mx25pdk/Kconfig"
 source "board/freescale/mx28evk/Kconfig"
 source "board/freescale/mx23evk/Kconfig"
 source "board/freescale/mx25pdk/Kconfig"
 source "board/freescale/mx28evk/Kconfig"
@@ -819,6 +960,7 @@ source "board/freescale/mx53ard/Kconfig"
 source "board/freescale/mx53evk/Kconfig"
 source "board/freescale/mx53loco/Kconfig"
 source "board/freescale/mx53smd/Kconfig"
 source "board/freescale/mx53evk/Kconfig"
 source "board/freescale/mx53loco/Kconfig"
 source "board/freescale/mx53smd/Kconfig"
+source "board/freescale/s32v234evb/Kconfig"
 source "board/freescale/vf610twr/Kconfig"
 source "board/gumstix/pepper/Kconfig"
 source "board/h2200/Kconfig"
 source "board/freescale/vf610twr/Kconfig"
 source "board/gumstix/pepper/Kconfig"
 source "board/h2200/Kconfig"
@@ -858,6 +1000,7 @@ source "board/technologic/ts4800/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/woodburn/Kconfig"
 source "board/work-microwave/work_92105/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/woodburn/Kconfig"
 source "board/work-microwave/work_92105/Kconfig"
+source "board/zipitz2/Kconfig"
 
 source "arch/arm/Kconfig.debug"
 
 
 source "arch/arm/Kconfig.debug"