config THUMB2_KERNEL
bool
+config SYS_ARM_CACHE_CP15
+ bool "CP15 based cache enabling support"
+ help
+ Select this if your processor suports enabling caches by using
+ CP15 registers.
+
+config SYS_ARM_MMU
+ bool "MMU-based Paged Memory Management Support"
+ select SYS_ARM_CACHE_CP15
+ help
+ Select if you want MMU-based virtualised addressing space
+ support by paged memory management.
+
+config SYS_ARM_MPU
+ bool 'Use the ARM v7 PMSA Compliant MPU'
+ help
+ Some ARM systems without an MMU have instead a Memory Protection
+ Unit (MPU) that defines the type and permissions for regions of
+ memory.
+ If your CPU has an MPU then you should choose 'y' here unless you
+ know that you do not want to use the MPU.
+
# If set, the workarounds for these ARM errata are applied early during U-Boot
# startup. Note that in general these options force the workarounds to be
# applied; no CPU-type/version detection exists, unlike the similar options in
config CPU_ARM720T
bool
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
config CPU_ARM920T
bool
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
config CPU_ARM926EJS
bool
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
config CPU_ARM946ES
bool
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
config CPU_ARM1136
bool
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
config CPU_ARM1176
bool
select HAS_VBAR
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
-config CPU_V7
+config CPU_V7A
bool
select HAS_VBAR
select HAS_THUMB2
select SYS_CACHE_SHIFT_6
+ imply SYS_ARM_MMU
config CPU_V7M
bool
select HAS_THUMB2
select THUMB2_KERNEL
select SYS_CACHE_SHIFT_5
+ select SYS_ARM_MPU
+
+config CPU_V7R
+ bool
+ select HAS_THUMB2
+ select SYS_CACHE_SHIFT_6
+ select SYS_ARM_MPU
+ select SYS_ARM_CACHE_CP15
config CPU_PXA
bool
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
config CPU_SA1100
bool
select SYS_CACHE_SHIFT_5
+ imply SYS_ARM_MMU
config SYS_CPU
default "arm720t" if CPU_ARM720T
default "arm946es" if CPU_ARM946ES
default "arm1136" if CPU_ARM1136
default "arm1176" if CPU_ARM1176
- default "armv7" if CPU_V7
+ default "armv7" if CPU_V7A
+ default "armv7" if CPU_V7R
default "armv7m" if CPU_V7M
default "pxa" if CPU_PXA
default "sa1100" if CPU_SA1100
default 5 if CPU_ARM946ES
default 6 if CPU_ARM1136
default 6 if CPU_ARM1176
- default 7 if CPU_V7
+ default 7 if CPU_V7A
default 7 if CPU_V7M
+ default 7 if CPU_V7R
default 5 if CPU_PXA
default 4 if CPU_SA1100
default 8 if ARM64
default 64 if SYS_CACHE_SHIFT_6
default 32 if SYS_CACHE_SHIFT_5
+config SYS_ARCH_TIMER
+ bool "ARM Generic Timer support"
+ depends on CPU_V7A || ARM64
+ default y if ARM64
+ help
+ The ARM Generic Timer (aka arch-timer) provides an architected
+ interface to a timer source on an SoC.
+ It is mandantory for ARMv8 implementation and widely available
+ on ARMv7 systems.
+
config ARM_SMCCC
bool "Support for ARM SMC Calling Convention (SMCCC)"
- depends on CPU_V7 || ARM64
+ depends on CPU_V7A || ARM64
select ARM_PSCI_FW
help
Say Y here if you want to enable ARM SMC Calling Convention.
select DM_SERIAL
select DM_SPI
select DM_SPI_FLASH
+ select SPI
config TARGET_DEVKIT3250
bool "Support devkit3250"
config TARGET_STV0991
bool "Support stv0991"
- select CPU_V7
+ select CPU_V7A
select DM
select DM_SERIAL
select DM_SPI
select DM_SPI_FLASH
+ select SPI
select SPI_FLASH
select PL01X_SERIAL
select SUPPORT_SPL
select PL011_SERIAL
-config TARGET_IMX31_PHYCORE
- bool "Support imx31_phycore_eet"
- select CPU_ARM1136
- select BOARD_EARLY_INIT_F
-
-config TARGET_IMX31_PHYCORE_EET
- bool "Support imx31_phycore_eet"
- select BOARD_LATE_INIT
- select CPU_ARM1136
- select BOARD_EARLY_INIT_F
-
-config TARGET_MX31ADS
- bool "Support mx31ads"
- select CPU_ARM1136
- select BOARD_EARLY_INIT_F
-
config TARGET_MX31PDK
bool "Support mx31pdk"
select BOARD_LATE_INIT
config TARGET_VEXPRESS_CA15_TC2
bool "Support vexpress_ca15_tc2"
- select CPU_V7
+ select CPU_V7A
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 CPU_V7A
select PL011_SERIAL
config TARGET_VEXPRESS_CA9X4
bool "Support vexpress_ca9x4"
- select CPU_V7
+ select CPU_V7A
select PL011_SERIAL
config TARGET_BCM23550_W1D
bool "Support bcm23550_w1d"
- select CPU_V7
+ select CPU_V7A
imply CRC32_VERIFY
imply FAT_WRITE
config TARGET_BCM28155_AP
bool "Support bcm28155_ap"
- select CPU_V7
+ select CPU_V7A
imply CRC32_VERIFY
imply FAT_WRITE
config TARGET_BCMCYGNUS
bool "Support bcmcygnus"
- select CPU_V7
+ select CPU_V7A
imply CRC32_VERIFY
imply CMD_HASH
imply FAT_WRITE
config TARGET_BCMNSP
bool "Support bcmnsp"
- select CPU_V7
+ select CPU_V7A
config TARGET_BCMNS2
bool "Support Broadcom Northstar2"
select DM_SPI
select DM_GPIO
select DM_KEYBOARD
+ select SPI
imply FAT_WRITE
config ARCH_S5PC1XX
bool "Samsung S5PC1XX"
- select CPU_V7
+ select CPU_V7A
select DM
select DM_SERIAL
select DM_GPIO
config ARCH_HIGHBANK
bool "Calxeda Highbank"
- select CPU_V7
+ select CPU_V7A
select PL011_SERIAL
config ARCH_INTEGRATOR
config ARCH_KEYSTONE
bool "TI Keystone"
- select CPU_V7
+ select CPU_V7A
select SUPPORT_SPL
select SYS_THUMB_BUILD
select CMD_POWEROFF
+ select SYS_ARCH_TIMER
imply CMD_MTDPARTS
imply FIT
imply CMD_SAVES
config ARCH_OMAP2PLUS
bool "TI OMAP2+"
- select CPU_V7
+ select CPU_V7A
select SPL_BOARD_INIT if SPL
select SPL_STACK_R if SPL
select SUPPORT_SPL
config ARCH_MESON
bool "Amlogic Meson"
+ imply DISTRO_DEFAULTS
help
Support for the Meson SoC family developed by Amlogic Inc.,
targeted at media players and tablet computers. We currently
config ARCH_MX7ULP
bool "NXP MX7ULP"
- select CPU_V7
+ select CPU_V7A
select ROM_UNIFIED_SECTIONS
imply MXC_GPIO
config ARCH_MX7
bool "Freescale MX7"
- select CPU_V7
+ select CPU_V7A
select SYS_FSL_HAS_SEC if SECURE_BOOT
select SYS_FSL_SEC_COMPAT_4
select SYS_FSL_SEC_LE
config ARCH_MX6
bool "Freescale MX6"
- select CPU_V7
+ select CPU_V7A
select SYS_FSL_HAS_SEC if SECURE_BOOT
select SYS_FSL_SEC_COMPAT_4
select SYS_FSL_SEC_LE
config ARCH_MX5
bool "Freescale MX5"
- select CPU_V7
+ select CPU_V7A
select BOARD_EARLY_INIT_F
imply MXC_GPIO
config ARCH_SOCFPGA
bool "Altera SOCFPGA family"
- select CPU_V7
+ select CPU_V7A
select SUPPORT_SPL
select OF_CONTROL
select SPL_OF_CONTROL
select USB_KEYBOARD if DISTRO_DEFAULTS
select USE_TINY_PRINTF
imply CMD_GPT
+ imply DISTRO_DEFAULTS
imply FAT_WRITE
imply OF_LIBFDT_OVERLAY
imply PRE_CONSOLE_BUFFER
config ARCH_VF610
bool "Freescale Vybrid"
- select CPU_V7
+ select CPU_V7A
select SYS_FSL_ERRATUM_ESDHC111
imply CMD_MTDPARTS
imply NAND
config ARCH_ZYNQ
bool "Xilinx Zynq based platform"
select BOARD_LATE_INIT
- select CPU_V7
+ select CPU_V7A
select SUPPORT_SPL
select OF_CONTROL
select SPL_BOARD_INIT if SPL
select CLK
select SPL_CLK if SPL
select CLK_ZYNQ
+ select SPI
imply CMD_CLK
imply FAT_WRITE
imply CMD_SPL
+ imply ARCH_EARLY_INIT_R
config ARCH_ZYNQMP
bool "Xilinx ZynqMP based platform"
config TEGRA
bool "NVIDIA Tegra"
+ imply DISTRO_DEFAULTS
imply FAT_WRITE
config TARGET_VEXPRESS64_AEMV8A
config TARGET_LS1021AQDS
bool "Support ls1021aqds"
select BOARD_LATE_INIT
- select CPU_V7
+ select CPU_V7A
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
select SUPPORT_SPL
config TARGET_LS1021ATWR
bool "Support ls1021atwr"
select BOARD_LATE_INIT
- select CPU_V7
+ select CPU_V7A
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
select SUPPORT_SPL
config TARGET_LS1021AIOT
bool "Support ls1021aiot"
select BOARD_LATE_INIT
- select CPU_V7
+ select CPU_V7A
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
select SUPPORT_SPL
config ARCH_STI
bool "Support STMicrolectronics SoCs"
- select CPU_V7
+ select CPU_V7A
select DM
select DM_SERIAL
select BLK
select REGMAP
select SUPPORT_SPL
select SYSCON
+ select SYSRESET
select SYS_THUMB_BUILD
help
Support for STM32MP SoC family developed by STMicroelectronics,
select DM_PWM
select DM_REGULATOR
select ENABLE_ARM_SOC_BOOT0_HOOK
+ select SPI
imply CMD_FASTBOOT
+ imply DISTRO_DEFAULTS
imply FASTBOOT
imply FAT_WRITE
imply USB_FUNCTION_FASTBOOT
imply TPL_SYSRESET
imply ADC
imply SARADC_ROCKCHIP
+ imply SYS_NS16550
config TARGET_THUNDERX_88XX
bool "Support ThunderX 88xx"
source "board/freescale/ls1012aqds/Kconfig"
source "board/freescale/ls1012ardb/Kconfig"
source "board/freescale/ls1012afrdm/Kconfig"
-source "board/freescale/mx31ads/Kconfig"
source "board/freescale/mx31pdk/Kconfig"
source "board/freescale/mx35pdk/Kconfig"
source "board/freescale/s32v234evb/Kconfig"
source "board/h2200/Kconfig"
source "board/hisilicon/hikey/Kconfig"
source "board/hisilicon/poplar/Kconfig"
-source "board/imx31_phycore/Kconfig"
source "board/isee/igep003x/Kconfig"
source "board/phytec/pcm051/Kconfig"
source "board/silica/pengwyn/Kconfig"
endmenu
config SPL_LDSCRIPT
- default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28
+ default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64