All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/9] ARM: hpe: gxp: add core support
@ 2022-05-26 18:55 nick.hawkins
  2022-05-26 18:55 ` [PATCH v1 2/9] timer: gxp: Add HPE GXP timer support nick.hawkins
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: nick.hawkins @ 2022-05-26 18:55 UTC (permalink / raw)
  To: verdun, nick.hawkins; +Cc: Bharat Gooty, Rayagonda Kokatanur, u-boot

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

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.

Signed-off-by: Nick Hawkins <nick.hawkins@hpe.com>
---
 arch/arm/Kconfig               |  8 ++++++++
 arch/arm/Makefile              |  1 +
 arch/arm/mach-hpe/Makefile     |  1 +
 arch/arm/mach-hpe/gxp/Kconfig  |  9 +++++++++
 arch/arm/mach-hpe/gxp/Makefile |  1 +
 arch/arm/mach-hpe/gxp/reset.c  | 26 ++++++++++++++++++++++++++
 6 files changed, 46 insertions(+)
 create mode 100644 arch/arm/mach-hpe/Makefile
 create mode 100644 arch/arm/mach-hpe/gxp/Kconfig
 create mode 100644 arch/arm/mach-hpe/gxp/Makefile
 create mode 100644 arch/arm/mach-hpe/gxp/reset.c

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9898c7d68e..1f9fc1bb8e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -2085,6 +2085,12 @@ config TARGET_XENGUEST_ARM64
 	select SSCANF
 	imply OF_HAS_PRIOR_STAGE
 
+config ARCH_GXP
+	bool "Support HPE GXP SoCs"
+	select DM
+	select OF_CONTROL
+	imply CMD_DM
+
 endchoice
 
 config SUPPORT_PASSING_ATAGS
@@ -2193,6 +2199,8 @@ source "arch/arm/mach-davinci/Kconfig"
 
 source "arch/arm/mach-exynos/Kconfig"
 
+source "arch/arm/mach-hpe/gxp/Kconfig"
+
 source "arch/arm/mach-highbank/Kconfig"
 
 source "arch/arm/mach-integrator/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 85c23bcf77..cfaa38594c 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -62,6 +62,7 @@ machine-$(CONFIG_ARCH_BCM283X)		+= bcm283x
 machine-$(CONFIG_ARCH_BCMSTB)		+= bcmstb
 machine-$(CONFIG_ARCH_DAVINCI)		+= davinci
 machine-$(CONFIG_ARCH_EXYNOS)		+= exynos
+machine-$(CONFIG_ARCH_GXP)		+= hpe
 machine-$(CONFIG_ARCH_HIGHBANK)		+= highbank
 machine-$(CONFIG_ARCH_IPQ40XX)		+= ipq40xx
 machine-$(CONFIG_ARCH_K3)		+= k3
diff --git a/arch/arm/mach-hpe/Makefile b/arch/arm/mach-hpe/Makefile
new file mode 100644
index 0000000000..afe5f7a29e
--- /dev/null
+++ b/arch/arm/mach-hpe/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_SOC_GXP) += gxp/
diff --git a/arch/arm/mach-hpe/gxp/Kconfig b/arch/arm/mach-hpe/gxp/Kconfig
new file mode 100644
index 0000000000..2d43133ab0
--- /dev/null
+++ b/arch/arm/mach-hpe/gxp/Kconfig
@@ -0,0 +1,9 @@
+if ARCH_GXP
+
+config SOC_GXP
+	bool
+	select CPU_V7A
+
+source "board/hpe/gxp/Kconfig"
+
+endif
diff --git a/arch/arm/mach-hpe/gxp/Makefile b/arch/arm/mach-hpe/gxp/Makefile
new file mode 100644
index 0000000000..f3cc6684b8
--- /dev/null
+++ b/arch/arm/mach-hpe/gxp/Makefile
@@ -0,0 +1 @@
+obj-y += reset.o
diff --git a/arch/arm/mach-hpe/gxp/reset.c b/arch/arm/mach-hpe/gxp/reset.c
new file mode 100644
index 0000000000..4d4d5f015f
--- /dev/null
+++ b/arch/arm/mach-hpe/gxp/reset.c
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * GXP driver
+ *
+ * (C) Copyright 2022 Hewlett Packard Enterprise Development LP.
+ * Author: Nick Hawkins <nick.hawkins@hpe.com>
+ * Author: Jean-Marie Verdun <verdun@hpe.com>
+ */
+
+#include <common.h>
+#include <asm/io.h>
+
+#define GXP_CCR	0xc0000000
+
+/* empty to satisfy current lowlevel_init, can be removed any time */
+void lowlevel_init(void)
+{
+}
+
+void reset_cpu(ulong ignored)
+{
+	writel(1, GXP_CCR);
+
+	while (1)
+		;	/* loop forever till reset */
+}
-- 
2.17.1


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

end of thread, other threads:[~2022-06-03 16:24 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-26 18:55 [PATCH v1 1/9] ARM: hpe: gxp: add core support nick.hawkins
2022-05-26 18:55 ` [PATCH v1 2/9] timer: gxp: Add HPE GXP timer support nick.hawkins
2022-05-26 18:55 ` [PATCH v1 3/9] board: hpe: gxp: add HPE GXP soc support nick.hawkins
2022-06-01 14:24   ` Tom Rini
2022-05-26 18:55 ` [PATCH v1 4/9] dt-bindings: arm: hpe: add GXP Support nick.hawkins
2022-05-26 18:55 ` [PATCH v1 5/9] dt-bindings: timer: Add hpe gxp timer nick.hawkins
2022-05-26 18:55 ` [PATCH v1 6/9] ARM: dts: Add device tree files for hpe gxp soc nick.hawkins
2022-06-01 14:24   ` Tom Rini
2022-06-01 14:50     ` Hawkins, Nick
2022-06-01 15:28       ` Tom Rini
2022-06-02 20:56         ` Hawkins, Nick
2022-06-02 20:56           ` Hawkins, Nick
2022-06-03 13:23             ` Tom Rini
2022-06-03 15:35               ` Hawkins, Nick
2022-06-03 16:24                 ` Tom Rini
2022-05-26 18:55 ` [PATCH v1 7/9] configs: gxp: add core support nick.hawkins
2022-06-01 14:24   ` Tom Rini
2022-06-02 14:46     ` Hawkins, Nick
2022-06-02 14:50       ` Tom Rini
2022-05-26 18:55 ` [PATCH v1 8/9] configs: gxp: add gxp_defconfig nick.hawkins
2022-05-26 18:55 ` [PATCH v1 9/9] 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.