vexpress64: Kconfig: move board definitions out of arch/arm

At the moment we define three "VExpress64" boards in arch/arm/Kconfig,
plus have a second Kconfig file in board/armltd/Kconfig.
One of those three boards is actually bogus (TARGET_VEXPRESS64_AEMV8A),
that stanza looks like being forgotten in a previous cleanup.

To remove the clutter from the generic Kconfig file, just define some
ARCH_VEXPRESS64 symbol there, enable some common options, and do the
board/model specific configuration in the board/armltd Kconfig file.

That allows to streamline and fine tune the configuration later, and
to also pull a lot of "non user choices" out of the defconfigs.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
This commit is contained in:
Andre Przywara 2022-03-04 16:30:09 +00:00 committed by Tom Rini
parent 5b160c3a13
commit fac7fc43cf
4 changed files with 25 additions and 30 deletions

View File

@ -1250,34 +1250,12 @@ config ARCH_TEGRA
imply DISTRO_DEFAULTS imply DISTRO_DEFAULTS
imply FAT_WRITE imply FAT_WRITE
config TARGET_VEXPRESS64_AEMV8A config ARCH_VEXPRESS64
bool "Support vexpress_aemv8a" bool "Support ARMv8 Arm Ltd. VExpress based boards and models"
select ARM64 select ARM64
select GPIO_EXTRA_HEADER
select PL01X_SERIAL
config TARGET_VEXPRESS64_BASE_FVP
bool "Support Versatile Express ARMv8a FVP BASE model"
select ARM64
select GPIO_EXTRA_HEADER
select PL01X_SERIAL
select SEMIHOSTING
config TARGET_VEXPRESS64_JUNO
bool "Support Versatile Express Juno Development Platform"
select ARM64
select GPIO_EXTRA_HEADER
select PL01X_SERIAL
select DM select DM
select OF_CONTROL
select CLK
select DM_SERIAL select DM_SERIAL
select ARM_PSCI_FW select PL01X_SERIAL
select PSCI_RESET
select DM_ETH
select BLK
select USB
imply OF_HAS_PRIOR_STAGE
config TARGET_TOTAL_COMPUTE config TARGET_TOTAL_COMPUTE
bool "Support Total Compute Platform" bool "Support Total Compute Platform"

View File

@ -1,4 +1,4 @@
if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_JUNO if ARCH_VEXPRESS64
config SYS_BOARD config SYS_BOARD
default "vexpress64" default "vexpress64"
@ -9,6 +9,24 @@ config SYS_VENDOR
config SYS_CONFIG_NAME config SYS_CONFIG_NAME
default "vexpress_aemv8" default "vexpress_aemv8"
choice
prompt "VExpress64 board variant"
config TARGET_VEXPRESS64_BASE_FVP
bool "Support Versatile Express ARMv8a FVP BASE model"
select SEMIHOSTING
config TARGET_VEXPRESS64_JUNO
bool "Support Versatile Express Juno Development Platform"
select DM_ETH
select USB
select OF_CONTROL
select CLK
select BLK
imply OF_HAS_PRIOR_STAGE
endchoice
config JUNO_DTB_PART config JUNO_DTB_PART
string "NOR flash partition holding DTB" string "NOR flash partition holding DTB"
default "board.dtb" default "board.dtb"

View File

@ -1,5 +1,5 @@
CONFIG_ARM=y CONFIG_ARM=y
CONFIG_TARGET_VEXPRESS64_JUNO=y CONFIG_ARCH_VEXPRESS64=y
CONFIG_SYS_TEXT_BASE=0xe0000000 CONFIG_SYS_TEXT_BASE=0xe0000000
CONFIG_SYS_MALLOC_LEN=0x810000 CONFIG_SYS_MALLOC_LEN=0x810000
CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_SYS_MALLOC_F_LEN=0x2000
@ -8,6 +8,7 @@ CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_SECT_SIZE=0x10000 CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_DEFAULT_DEVICE_TREE="juno-r2" CONFIG_DEFAULT_DEVICE_TREE="juno-r2"
CONFIG_IDENT_STRING=" vexpress_aemv8a" CONFIG_IDENT_STRING=" vexpress_aemv8a"
CONFIG_TARGET_VEXPRESS64_JUNO=y
CONFIG_SYS_MEMTEST_START=0x80000000 CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0xff000000 CONFIG_SYS_MEMTEST_END=0xff000000
CONFIG_DISTRO_DEFAULTS=y CONFIG_DISTRO_DEFAULTS=y

View File

@ -1,6 +1,6 @@
CONFIG_ARM=y CONFIG_ARM=y
# CONFIG_ARM64_CRC32 is not set # CONFIG_ARM64_CRC32 is not set
CONFIG_TARGET_VEXPRESS64_BASE_FVP=y CONFIG_ARCH_VEXPRESS64=y
CONFIG_SYS_TEXT_BASE=0x88000000 CONFIG_SYS_TEXT_BASE=0x88000000
CONFIG_SYS_MALLOC_LEN=0x840000 CONFIG_SYS_MALLOC_LEN=0x840000
CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_SYS_MALLOC_F_LEN=0x2000
@ -39,7 +39,6 @@ CONFIG_CMD_UBI=y
# CONFIG_EFI_PARTITION is not set # CONFIG_EFI_PARTITION is not set
CONFIG_ENV_IS_IN_FLASH=y CONFIG_ENV_IS_IN_FLASH=y
CONFIG_ENV_ADDR=0xFFC0000 CONFIG_ENV_ADDR=0xFFC0000
CONFIG_DM=y
# CONFIG_MMC is not set # CONFIG_MMC is not set
CONFIG_MTD=y CONFIG_MTD=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
@ -47,5 +46,4 @@ CONFIG_FLASH_CFI_DRIVER=y
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
CONFIG_SYS_FLASH_PROTECTION=y CONFIG_SYS_FLASH_PROTECTION=y
CONFIG_SYS_FLASH_CFI=y CONFIG_SYS_FLASH_CFI=y
CONFIG_DM_SERIAL=y
CONFIG_OF_LIBFDT=y CONFIG_OF_LIBFDT=y