ARM: hpe: Introduce the HPE GXP architecture

The GXP is the HPE BMC SoC that is used in the majority
of current generation HPE servers. Traditionally the asic will
last multiple generations of server before being replaced.

Info about SoC:

HPE GXP is the name of the HPE Soc. This SoC is used to implement many BMC
features at HPE. It supports ARMv7 architecture based on the Cortex A9
core. It is capable of using an AXI bus to whicha memory controller is
attached. It has multiple SPI interfaces to connect boot flash and BIOS
flash. It uses a 10/100/1000 MAC for network connectivity. It has multiple
i2c engines to drive connectivity with a host infrastructure. There
currently are no public specifications but this process is being worked.

Previously there was a requirement to reset the EHCI controller for the
asic to boot. This functionality has been moved to the u-boot
bootloader.

Signed-off-by: Nick Hawkins <nick.hawkins@hpe.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Nick Hawkins 2022-05-16 11:33:39 -05:00 committed by Arnd Bergmann
parent 3123109284
commit 11d894405d
5 changed files with 43 additions and 0 deletions

View File

@ -620,6 +620,8 @@ source "arch/arm/mach-highbank/Kconfig"
source "arch/arm/mach-hisi/Kconfig"
source "arch/arm/mach-hpe/Kconfig"
source "arch/arm/mach-imx/Kconfig"
source "arch/arm/mach-integrator/Kconfig"

View File

@ -179,6 +179,7 @@ machine-$(CONFIG_ARCH_FOOTBRIDGE) += footbridge
machine-$(CONFIG_ARCH_GEMINI) += gemini
machine-$(CONFIG_ARCH_HIGHBANK) += highbank
machine-$(CONFIG_ARCH_HISI) += hisi
machine-$(CONFIG_ARCH_HPE) += hpe
machine-$(CONFIG_ARCH_INTEGRATOR) += integrator
machine-$(CONFIG_ARCH_IOP32X) += iop32x
machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx

23
arch/arm/mach-hpe/Kconfig Normal file
View File

@ -0,0 +1,23 @@
menuconfig ARCH_HPE
bool "HPE SoC support"
depends on ARCH_MULTI_V7
help
This enables support for HPE ARM based BMC chips.
if ARCH_HPE
config ARCH_HPE_GXP
bool "HPE GXP SoC"
depends on ARCH_MULTI_V7
select ARM_VIC
select GENERIC_IRQ_CHIP
select CLKSRC_MMIO
help
HPE GXP is the name of the HPE Soc. This SoC is used to implement many
BMC features at HPE. It supports ARMv7 architecture based on the Cortex
A9 core. It is capable of using an AXI bus to which a memory controller
is attached. It has multiple SPI interfaces to connect boot flash and
BIOS flash. It uses a 10/100/1000 MAC for network connectivity. It
has multiple i2c engines to drive connectivity with a host
infrastructure.
endif

View File

@ -0,0 +1 @@
obj-$(CONFIG_ARCH_HPE_GXP) += gxp.o

16
arch/arm/mach-hpe/gxp.c Normal file
View File

@ -0,0 +1,16 @@
// SPDX-License-Identifier: GPL-2.0
/* Copyright (C) 2022 Hewlett-Packard Enterprise Development Company, L.P. */
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
static const char * const gxp_board_dt_compat[] = {
"hpe,gxp",
NULL,
};
DT_MACHINE_START(GXP_DT, "HPE GXP")
.dt_compat = gxp_board_dt_compat,
.l2c_aux_val = 0,
.l2c_aux_mask = ~0,
MACHINE_END