All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 01/11] arch: arm: mach-hpe: Introduce the HPE GXP architecture
@ 2022-04-20 15:01 ` nick.hawkins
  0 siblings, 0 replies; 22+ messages in thread
From: nick.hawkins @ 2022-04-20 15:01 UTC (permalink / raw)
  To: verdun, nick, joel, arnd
  Cc: Nick Hawkins, Russell King, linux-arm-kernel, linux-kernel

From: Nick Hawkins <nick.hawkins@hpe.com>

The GXP is the HPE BMC SoC that is used in the majority
of HPE Generation 10 servers. Traditionally the asic will
last multiple generations of server before being replaced.
In gxp.c we reset the EHCI controller early to boot the asic.

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 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. The initial patches
enable the watchdog and timer enabling the host to be able to
boot.

Signed-off-by: Nick Hawkins <nick.hawkins@hpe.com>

---
v4:
* Removed unecessary code: restart, iomap, init_machine
* Reordered Kconfig so depends
* Removed SPARSE_IRQ, MULTI_IRQ_HANDLER, IRQ_DOMAIN, PINCTL from
  Kconfig
---
 arch/arm/Kconfig           |  2 ++
 arch/arm/Makefile          |  1 +
 arch/arm/mach-hpe/Kconfig  | 17 +++++++++++++++++
 arch/arm/mach-hpe/Makefile |  1 +
 arch/arm/mach-hpe/gxp.c    | 16 ++++++++++++++++
 5 files changed, 37 insertions(+)
 create mode 100644 arch/arm/mach-hpe/Kconfig
 create mode 100644 arch/arm/mach-hpe/Makefile
 create mode 100644 arch/arm/mach-hpe/gxp.c

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4c97cb40eebb..6998b5b5f59e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -618,6 +618,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"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 77172d555c7e..1cc0523d0a0a 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -178,6 +178,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
diff --git a/arch/arm/mach-hpe/Kconfig b/arch/arm/mach-hpe/Kconfig
new file mode 100644
index 000000000000..c075248b259e
--- /dev/null
+++ b/arch/arm/mach-hpe/Kconfig
@@ -0,0 +1,17 @@
+menuconfig ARCH_HPE
+	bool "HPE SoC support"
+	depends on ARCH_MULTI_V7
+	help
+	  This enables support for HPE ARM based SoC 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
+	  Support for GXP SoCs
+
+endif
diff --git a/arch/arm/mach-hpe/Makefile b/arch/arm/mach-hpe/Makefile
new file mode 100644
index 000000000000..8b0a91234df4
--- /dev/null
+++ b/arch/arm/mach-hpe/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_HPE_GXP) += gxp.o
diff --git a/arch/arm/mach-hpe/gxp.c b/arch/arm/mach-hpe/gxp.c
new file mode 100644
index 000000000000..e2f0c3ae6bd8
--- /dev/null
+++ b/arch/arm/mach-hpe/gxp.c
@@ -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
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2022-04-20 17:16 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-20 15:01 [PATCH v4 01/11] arch: arm: mach-hpe: Introduce the HPE GXP architecture nick.hawkins
2022-04-20 15:01 ` nick.hawkins
2022-04-20 15:01 ` [PATCH v4 02/11] arch: arm: configs: multi_v7_defconfig nick.hawkins
2022-04-20 15:01   ` nick.hawkins
2022-04-20 15:01 ` [PATCH v4 03/11] drivers: wdt: Introduce HPE GXP SoC Watchdog nick.hawkins
2022-04-20 15:52   ` Guenter Roeck
2022-04-20 17:06     ` Hawkins, Nick
2022-04-20 15:01 ` [PATCH v4 04/11] clocksource/drivers: Add HPE GXP timer nick.hawkins
2022-04-20 15:01 ` [PATCH v4 05/11] dt-bindings: timer: Add HPE GXP Timer Binding nick.hawkins
2022-04-20 15:01 ` [PATCH v4 06/11] dt-bindings: watchdog: Add HPE GXP Watchdog timer binding nick.hawkins
2022-04-20 15:53   ` Guenter Roeck
2022-04-20 16:08     ` Hawkins, Nick
2022-04-20 16:36       ` Guenter Roeck
2022-04-20 17:15         ` Hawkins, Nick
2022-04-20 15:01 ` [PATCH v4 07/11] dt-bindings: arm: Add HPE GXP Binding nick.hawkins
2022-04-20 15:01 ` [PATCH v4 08/11] dt-bindings: usb: generic-echi: Add HPE GXP echi binding nick.hawkins
2022-04-20 15:01 ` [PATCH v4 09/11] dt-bindings: usb: generic-ochi: Add HPE GXP ochi binding nick.hawkins
2022-04-20 17:02   ` Arnd Bergmann
2022-04-20 17:12     ` Hawkins, Nick
2022-04-20 15:01 ` [PATCH v4 10/11] arch: arm: boot: dts: Introduce HPE GXP Device tree nick.hawkins
2022-04-20 15:01   ` nick.hawkins
2022-04-20 15:01 ` [PATCH v4 11/11] maintainers: Introduce HPE GXP Architecture nick.hawkins

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.