aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@arm.com>2022-03-04 16:30:09 +0000
committerTom Rini <trini@konsulko.com>2022-04-01 14:55:38 -0400
commitfac7fc43cfc63a778f8385917cf86fae7a1eb446 (patch)
treeac10d38b67beea9e7ea99b4a7bf8e8ba5ebdb3cc
parent5b160c3a13f80708b4a720119cd2a1ef161e57f0 (diff)
downloadu-boot-fac7fc43cfc63a778f8385917cf86fae7a1eb446.zip
u-boot-fac7fc43cfc63a778f8385917cf86fae7a1eb446.tar.gz
u-boot-fac7fc43cfc63a778f8385917cf86fae7a1eb446.tar.bz2
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>
-rw-r--r--arch/arm/Kconfig28
-rw-r--r--board/armltd/vexpress64/Kconfig20
-rw-r--r--configs/vexpress_aemv8a_juno_defconfig3
-rw-r--r--configs/vexpress_aemv8a_semi_defconfig4
4 files changed, 25 insertions, 30 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b5ca14f..8f70d5d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1250,34 +1250,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 4aab3f0..55fe011 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 76a851c..1f8f101 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
@@ -8,6 +8,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_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0xff000000
CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/vexpress_aemv8a_semi_defconfig b/configs/vexpress_aemv8a_semi_defconfig
index b36a33a..959b3b3 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
@@ -39,7 +39,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
@@ -47,5 +46,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