[PATCH 02/11] vexpress64: Kconfig: move board definitions out of arch/arm
Andre Przywara
andre.przywara at arm.com
Fri Mar 4 17:30:09 CET 2022
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 at arm.com>
---
arch/arm/Kconfig | 28 +++-----------------------
board/armltd/vexpress64/Kconfig | 20 +++++++++++++++++-
configs/vexpress_aemv8a_juno_defconfig | 3 ++-
configs/vexpress_aemv8a_semi_defconfig | 4 +---
4 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 391a77c2b4..34dbd73cce 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1235,34 +1235,12 @@ config ARCH_TEGRA
imply DISTRO_DEFAULTS
imply FAT_WRITE
-config TARGET_VEXPRESS64_AEMV8A
- bool "Support vexpress_aemv8a"
+config ARCH_VEXPRESS64
+ bool "Support ARMv8 Arm Ltd. VExpress based boards and models"
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 OF_CONTROL
- select CLK
select DM_SERIAL
- select ARM_PSCI_FW
- select PSCI_RESET
- select DM_ETH
- select BLK
- select USB
- imply OF_HAS_PRIOR_STAGE
+ select PL01X_SERIAL
config TARGET_TOTAL_COMPUTE
bool "Support Total Compute Platform"
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
index 4aab3f092e..55fe0118e1 100644
--- a/board/armltd/vexpress64/Kconfig
+++ b/board/armltd/vexpress64/Kconfig
@@ -1,4 +1,4 @@
-if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_JUNO
+if ARCH_VEXPRESS64
config SYS_BOARD
default "vexpress64"
@@ -9,6 +9,24 @@ config SYS_VENDOR
config SYS_CONFIG_NAME
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
string "NOR flash partition holding DTB"
default "board.dtb"
diff --git a/configs/vexpress_aemv8a_juno_defconfig b/configs/vexpress_aemv8a_juno_defconfig
index e02124cc7f..2fcbcce308 100644
--- a/configs/vexpress_aemv8a_juno_defconfig
+++ b/configs/vexpress_aemv8a_juno_defconfig
@@ -1,5 +1,5 @@
CONFIG_ARM=y
-CONFIG_TARGET_VEXPRESS64_JUNO=y
+CONFIG_ARCH_VEXPRESS64=y
CONFIG_SYS_TEXT_BASE=0xe0000000
CONFIG_SYS_MALLOC_LEN=0x810000
CONFIG_SYS_MALLOC_F_LEN=0x2000
@@ -10,6 +10,7 @@ CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_DEFAULT_DEVICE_TREE="juno-r2"
CONFIG_IDENT_STRING=" vexpress_aemv8a"
+CONFIG_TARGET_VEXPRESS64_JUNO=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_REMAKE_ELF=y
CONFIG_SYS_LOAD_ADDR=0x90000000
diff --git a/configs/vexpress_aemv8a_semi_defconfig b/configs/vexpress_aemv8a_semi_defconfig
index 448d012e1c..24af87904f 100644
--- a/configs/vexpress_aemv8a_semi_defconfig
+++ b/configs/vexpress_aemv8a_semi_defconfig
@@ -1,6 +1,6 @@
CONFIG_ARM=y
# CONFIG_ARM64_CRC32 is not set
-CONFIG_TARGET_VEXPRESS64_BASE_FVP=y
+CONFIG_ARCH_VEXPRESS64=y
CONFIG_SYS_TEXT_BASE=0x88000000
CONFIG_SYS_MALLOC_LEN=0x840000
CONFIG_SYS_MALLOC_F_LEN=0x2000
@@ -38,7 +38,6 @@ CONFIG_CMD_UBI=y
# CONFIG_EFI_PARTITION is not set
CONFIG_ENV_IS_IN_FLASH=y
CONFIG_ENV_ADDR=0xFFC0000
-CONFIG_DM=y
# CONFIG_MMC is not set
CONFIG_MTD=y
CONFIG_MTD_NOR_FLASH=y
@@ -46,5 +45,4 @@ CONFIG_FLASH_CFI_DRIVER=y
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
CONFIG_SYS_FLASH_PROTECTION=y
CONFIG_SYS_FLASH_CFI=y
-CONFIG_DM_SERIAL=y
CONFIG_OF_LIBFDT=y
--
2.25.1
More information about the U-Boot
mailing list