select PHYS_64BIT
select SYS_CACHE_SHIFT_6
+config ARM64_CRC32
+ bool "Enable support for CRC32 instruction"
+ depends on ARM64
+ default y
+ help
+ ARMv8 implements dedicated crc32 instruction for crc32 calculation.
+ This is faster than software crc32 calculation. This instruction may
+ not be present on all ARMv8.0, but is always present on ARMv8.1 and
+ newer.
+
config POSITION_INDEPENDENT
bool "Generate position-independent pre-relocation code"
depends on ARM64 || CPU_V7A
config USE_ARCH_MEMCPY
bool "Use an assembly optimized implementation of memcpy"
- default y
- depends on !ARM64
+ default y if !ARM64
+ depends on !ARM64 || (ARM64 && (GCC_VERSION >= 90400))
help
Enable the generation of an optimized version of memcpy.
Such an implementation may be faster under some conditions
config SPL_USE_ARCH_MEMCPY
bool "Use an assembly optimized implementation of memcpy for SPL"
default y if USE_ARCH_MEMCPY
- depends on !ARM64 && SPL
+ depends on SPL
help
Enable the generation of an optimized version of memcpy.
Such an implementation may be faster under some conditions
config TPL_USE_ARCH_MEMCPY
bool "Use an assembly optimized implementation of memcpy for TPL"
default y if USE_ARCH_MEMCPY
- depends on !ARM64 && TPL
+ depends on TPL
help
Enable the generation of an optimized version of memcpy.
Such an implementation may be faster under some conditions
but may increase the binary size.
+config USE_ARCH_MEMMOVE
+ bool "Use an assembly optimized implementation of memmove" if !ARM64
+ default USE_ARCH_MEMCPY if ARM64
+ depends on ARM64
+ help
+ Enable the generation of an optimized version of memmove.
+ Such an implementation may be faster under some conditions
+ but may increase the binary size.
+
+config SPL_USE_ARCH_MEMMOVE
+ bool "Use an assembly optimized implementation of memmove for SPL" if !ARM64
+ default SPL_USE_ARCH_MEMCPY if ARM64
+ depends on SPL && ARM64
+ help
+ Enable the generation of an optimized version of memmove.
+ Such an implementation may be faster under some conditions
+ but may increase the binary size.
+
+config TPL_USE_ARCH_MEMMOVE
+ bool "Use an assembly optimized implementation of memmove for TPL" if !ARM64
+ default TPL_USE_ARCH_MEMCPY if ARM64
+ depends on TPL && ARM64
+ help
+ Enable the generation of an optimized version of memmove.
+ Such an implementation may be faster under some conditions
+ but may increase the binary size.
+
config USE_ARCH_MEMSET
bool "Use an assembly optimized implementation of memset"
- default y
- depends on !ARM64
+ default y if !ARM64
+ depends on !ARM64 || (ARM64 && (GCC_VERSION >= 90400))
help
Enable the generation of an optimized version of memset.
Such an implementation may be faster under some conditions
config SPL_USE_ARCH_MEMSET
bool "Use an assembly optimized implementation of memset for SPL"
default y if USE_ARCH_MEMSET
- depends on !ARM64 && SPL
+ depends on SPL
help
Enable the generation of an optimized version of memset.
Such an implementation may be faster under some conditions
config TPL_USE_ARCH_MEMSET
bool "Use an assembly optimized implementation of memset for TPL"
default y if USE_ARCH_MEMSET
- depends on !ARM64 && TPL
+ depends on TPL
help
Enable the generation of an optimized version of memset.
Such an implementation may be faster under some conditions
select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
select SPL_SEPARATE_BSS if SPL
-config TARGET_ASPENITE
- bool "Support aspenite"
- select CPU_ARM926EJS
- select GPIO_EXTRA_HEADER
-
config ARCH_DAVINCI
bool "TI DaVinci"
select CPU_ARM926EJS
select SPI_FLASH
imply CMD_DM
-config TARGET_FLEA3
- bool "Support flea3"
- select CPU_ARM1136
- select GPIO_EXTRA_HEADER
-
config ARCH_BCM283X
bool "Broadcom BCM283X family"
select DM
This enables support for Broadcom ARM-based set-top box
chipsets, including the 7445 family of chips.
+config TARGET_VEXPRESS_CA9X4
+ bool "Support vexpress_ca9x4"
+ select CPU_V7A
+ select PL011_SERIAL
+
config TARGET_BCMCYGNUS
bool "Support bcmcygnus"
select CPU_V7A
select PL011_SERIAL
select SUPPORT_SPL
-config ARCH_MX25
- bool "NXP MX25"
- select CPU_ARM926EJS
- select GPIO_EXTRA_HEADER
- select MACH_IMX
- imply MXC_GPIO
-
config ARCH_MX28
bool "NXP i.MX28 family"
select CPU_ARM926EJS
select DM_SPI_FLASH
select DM_ETH
select DM_MDIO
- select DM_PCI
+ select PCI
select DM_RNG
select DM_RTC
select DM_SCSI
select SSCANF
endchoice
+config SUPPORT_PASSING_ATAGS
+ bool "Support pre-devicetree ATAG-based booting"
+ depends on !ARM64
+ imply SETUP_MEMORY_TAGS
+ help
+ Support for booting older Linux kernels, using ATAGs rather than
+ passing a devicetree. This is option is rarely used, and the
+ semantics are defined at
+ https://www.kernel.org/doc/Documentation/arm/Booting at section 4a.
+
+config SETUP_MEMORY_TAGS
+ bool "Pass memory size information via ATAG"
+ depends on SUPPORT_PASSING_ATAGS
+
+config CMDLINE_TAG
+ bool "Pass Linux kernel cmdline via ATAG"
+ depends on SUPPORT_PASSING_ATAGS
+
+config INITRD_TAG
+ bool "Pass initrd starting point and size via ATAG"
+ depends on SUPPORT_PASSING_ATAGS
+
+config REVISION_TAG
+ bool "Pass system revision via ATAG"
+ depends on SUPPORT_PASSING_ATAGS
+
+config SERIAL_TAG
+ bool "Pass system serial number via ATAG"
+ depends on SUPPORT_PASSING_ATAGS
+
+config STATIC_MACH_TYPE
+ bool "Statically define the Machine ID number"
+ help
+ When booting via ATAGs, enable this option if we know the correct
+ machine ID number to use at compile time. Some systems will be
+ passed the number dynamically by whatever loads U-Boot.
+
+config MACH_TYPE
+ int "Machine ID number"
+ depends on STATIC_MACH_TYPE
+ help
+ When booting via ATAGs, the machine type must be passed as a number.
+ For the full list see https://www.arm.linux.org.uk/developer/machines
+
config ARCH_SUPPORT_TFABOOT
bool
source "arch/arm/cpu/armv7/ls102xa/Kconfig"
-source "arch/arm/mach-imx/mx2/Kconfig"
-
source "arch/arm/mach-imx/mx3/Kconfig"
source "arch/arm/mach-imx/mx5/Kconfig"
source "board/bosch/shc/Kconfig"
source "board/bosch/guardian/Kconfig"
-source "board/CarMediaLab/flea3/Kconfig"
-source "board/Marvell/aspenite/Kconfig"
source "board/Marvell/octeontx/Kconfig"
source "board/Marvell/octeontx2/Kconfig"
+source "board/armltd/vexpress/Kconfig"
source "board/armltd/vexpress64/Kconfig"
source "board/cortina/presidio-asic/Kconfig"
source "board/broadcom/bcm963158/Kconfig"