[PATCH 1/9] arm: hpe: Rename ARCH_GXP to ARCH_HPE and add GSC SoC choice
Jorge Cisneros
jorge.cisneros at hpe.com
Wed Apr 8 21:24:13 CEST 2026
Rename ARCH_GXP to ARCH_HPE to serve as an umbrella config for all HPE
BMC SoCs. Add a choice menu under mach-hpe to select between:
- HPE_GXP: Gen11 (GXP) BMC SoC (ARMv7)
- HPE_GSC: Gen12 (GSC) BMC SoC (ARMv8)
Update arch/arm/Makefile to use the new CONFIG_ARCH_HPE symbol and
migrate the existing gxp_defconfig. Add stub Kconfig files for the GSC
SoC and board to maintain a valid Kconfig tree.
Signed-off-by: Jorge Cisneros <jorge.cisneros at hpe.com>
---
arch/arm/Kconfig | 9 ++++++---
arch/arm/Makefile | 2 +-
arch/arm/mach-hpe/Kconfig | 33 +++++++++++++++++++++++++++++++++
arch/arm/mach-hpe/Makefile | 1 +
arch/arm/mach-hpe/gsc/Kconfig | 27 +++++++++++++++++++++++++++
arch/arm/mach-hpe/gsc/Makefile | 1 +
arch/arm/mach-hpe/gxp/Kconfig | 2 +-
board/hpe/gsc/Kconfig | 18 ++++++++++++++++++
configs/gxp_defconfig | 2 +-
9 files changed, 89 insertions(+), 6 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index cd6a454fd60..509a593eb77 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -2182,11 +2182,14 @@ config TARGET_XENGUEST_ARM64
select XEN_SERIAL
imply OF_HAS_PRIOR_STAGE
-config ARCH_GXP
- bool "Support HPE GXP SoCs"
+config ARCH_HPE
+ bool "Support HPE SoCs"
select DM
select OF_CONTROL
imply CMD_DM
+ help
+ Support for HPE BMC SoCs including the GXP (Gen11)
+ and GSC (Gen12) server management controllers.
endchoice
@@ -2290,7 +2293,7 @@ source "arch/arm/mach-davinci/Kconfig"
source "arch/arm/mach-exynos/Kconfig"
-source "arch/arm/mach-hpe/gxp/Kconfig"
+source "arch/arm/mach-hpe/Kconfig"
source "arch/arm/mach-highbank/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index b36b0742580..4a60cd94a66 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -60,7 +60,7 @@ machine-$(CONFIG_ARCH_BCMBCA) += bcmbca
machine-$(CONFIG_ARCH_BCMSTB) += bcmstb
machine-$(CONFIG_ARCH_DAVINCI) += davinci
machine-$(CONFIG_ARCH_EXYNOS) += exynos
-machine-$(CONFIG_ARCH_GXP) += hpe
+machine-$(CONFIG_ARCH_HPE) += hpe
machine-$(CONFIG_ARCH_HIGHBANK) += highbank
machine-$(CONFIG_ARCH_HISTB) += histb
machine-$(CONFIG_ARCH_IPQ40XX) += ipq40xx
diff --git a/arch/arm/mach-hpe/Kconfig b/arch/arm/mach-hpe/Kconfig
new file mode 100644
index 00000000000..23840721435
--- /dev/null
+++ b/arch/arm/mach-hpe/Kconfig
@@ -0,0 +1,33 @@
+if ARCH_HPE
+
+choice
+ prompt "HPE SoC select"
+ depends on ARCH_HPE
+ default HPE_GXP
+ help
+ Select the HPE SoC variant. GXP is used in Gen11
+ servers and GSC is used in Gen12 servers.
+
+config HPE_GXP
+ bool "Support HPE GXP SoC"
+ help
+ Support for the HPE GXP SoC, an ARM-based BMC
+ used in HPE ProLiant Gen11 servers.
+
+config HPE_GSC
+ bool "Support HPE GSC SoC"
+ select DM
+ select SOC_GSC
+ select OF_CONTROL
+ select ARCH_EARLY_INIT_R
+ imply CMD_DM
+ help
+ Support for the HPE GSC SoC, an ARM64-based BMC
+ used in HPE ProLiant Gen12 servers.
+
+endchoice
+
+source "arch/arm/mach-hpe/gxp/Kconfig"
+source "arch/arm/mach-hpe/gsc/Kconfig"
+
+endif
diff --git a/arch/arm/mach-hpe/Makefile b/arch/arm/mach-hpe/Makefile
index afe5f7a29ee..ff566a3a047 100644
--- a/arch/arm/mach-hpe/Makefile
+++ b/arch/arm/mach-hpe/Makefile
@@ -1 +1,2 @@
obj-$(CONFIG_SOC_GXP) += gxp/
+obj-$(CONFIG_SOC_GSC) += gsc/
diff --git a/arch/arm/mach-hpe/gsc/Kconfig b/arch/arm/mach-hpe/gsc/Kconfig
new file mode 100644
index 00000000000..9821bf6149f
--- /dev/null
+++ b/arch/arm/mach-hpe/gsc/Kconfig
@@ -0,0 +1,27 @@
+if HPE_GSC
+
+config SOC_GSC
+ bool
+ select ARM64
+
+config SYS_SOC
+ default "gsc"
+
+config GSC_I3C_HUB_DT
+ bool "Fix up the I3C Hub Node in Kernel DTS"
+ default n
+ help
+ Enable this if I3C Hub is supported otherwise noise will show
+ up on I3C Bus for unused populated ports.
+
+config GSC_PATCH_KERNEL_DTS_VPD
+ bool "Patch kernel DTS to add system VPD from virtual EEPROM"
+ default n
+ help
+ Enable to patch kernel DTS to add system VPD from virtual
+ EEPROM. This will add Vital Product Data such as serial
+ number and model name to the kernel DTS at /.
+
+source "board/hpe/gsc/Kconfig"
+
+endif
diff --git a/arch/arm/mach-hpe/gsc/Makefile b/arch/arm/mach-hpe/gsc/Makefile
new file mode 100644
index 00000000000..f3cc6684b89
--- /dev/null
+++ b/arch/arm/mach-hpe/gsc/Makefile
@@ -0,0 +1 @@
+obj-y += reset.o
diff --git a/arch/arm/mach-hpe/gxp/Kconfig b/arch/arm/mach-hpe/gxp/Kconfig
index 2d43133ab06..42e65714ef6 100644
--- a/arch/arm/mach-hpe/gxp/Kconfig
+++ b/arch/arm/mach-hpe/gxp/Kconfig
@@ -1,4 +1,4 @@
-if ARCH_GXP
+if HPE_GXP
config SOC_GXP
bool
diff --git a/board/hpe/gsc/Kconfig b/board/hpe/gsc/Kconfig
new file mode 100644
index 00000000000..66346e2df27
--- /dev/null
+++ b/board/hpe/gsc/Kconfig
@@ -0,0 +1,18 @@
+if SOC_GSC
+
+config SYS_BOARD
+default "gsc"
+
+config SYS_VENDOR
+default "hpe"
+
+config SYS_CONFIG_NAME
+default "gsc"
+
+config GICV3
+def_bool y
+
+config TEXT_BASE
+default 0x10000000
+
+endif
diff --git a/configs/gxp_defconfig b/configs/gxp_defconfig
index 7821759f83d..31e4d9b8ac8 100644
--- a/configs/gxp_defconfig
+++ b/configs/gxp_defconfig
@@ -1,7 +1,7 @@
CONFIG_ARM=y
CONFIG_SKIP_LOWLEVEL_INIT=y
CONFIG_SYS_THUMB_BUILD=y
-CONFIG_ARCH_GXP=y
+CONFIG_ARCH_HPE=y
CONFIG_SYS_MALLOC_LEN=0x4000000
CONFIG_GXP_VROM_64MB=y
CONFIG_NR_DRAM_BANKS=1
--
2.43.0
More information about the U-Boot
mailing list