2022-05-17 01:12:44

by Hawkins, Nick

[permalink] [raw]
Subject: [PATCH v8 0/8] Introduce HPE GXP Architecture

From: Nick Hawkins <[email protected]>

Changes since v7:
*Fixed comment format in watchdog driver
*Added the Acked-by tag to the device tree patch.
*Resubmitted the dt-bindings patches hpe,gxp and hpe,gxp-timer with
Reviewed-by tags from previous patch in descriptions to keep patchset
continuity for v8.
Changes since v6:
*Resubmitted the dt-bindings patches hpe,gxp and hpe,gxp-timer with
Reviewed-by tags from previous patch in descriptions to keep patchset
continuity for v7.
*Fixed the subject on dt-binding patch:
dt-bindings: timer: hpe,gxp-timer: Creation to
dt-bindings: timer: hpe,gxp-timer: Add HPE GXP Timer and Watchdog
*Changed the following in MAINTAINERS:
arch/arm/boot/dts/hpe-bmc-dl360gen10.dts to arch/arm/boot/hpe-bmc*
arch/arm/boot/dts/hpe-gxp.dtsi to arch/arm/boot/dts/hpe-gxp*
arch/arm/mach-hpe/gxp.c to arch/arm/mach-hpe
*Changed cache register area length from 0xFFC to 0x1000 in hpe-gxp.dtsi
*Added space between "," in compatible list for the
hpe-bmc-dl360gen10.dts
*Added aliases, chosen, and memory to hpe-bmc-dl360gen10.dts
*Removed memory from hpe-gxp.dtsi
*Changed conditional statements around COMPILE_TEST and TIMER_OF if of
for GXP in clocksource Kconfig
*Changed commit description for watchdog driver where Adding became Add
and compliment became complement.
*Removed unused include files of_address.h and of_platform.h in gxp-wdt.c
*Fixed the max timeout on watchdog to be 655350 in gxp-wdt.c
*Changed time variable computations in gxp_wdt_set_timeout to be clear in
gxp-wdt.c
*Decreased reboot delay to 10ms from 100ms in gxp-wdt.c
*Added comment to explain why it is necessary to pass the base address
over a private interface from the timer driver in gxp-wdt.c

Changes since v5:
*Removed generic-ohci and generic-ehci from patchset as they were
committed to linux-next
*Removed watchdog node from device tree and dt-bindings documentation as
it is not necessary since the timer creates it
*Added cache controller to device tree
*Fixed l2c initialization by making l2c_aux_map=~1
*Corrected Kconfig punctuation and wording in mach-hpe
*Added oneOf to hpe,gxp.yaml
*Set additionalProperties to false on hpe,gxp-timer
*Added space after "," in compatible lists
*Switched hpe,gxp-timer.yaml title to Timer from TIMER
*Switched clockname from iopclk to iop
*Added clock labels clock-0 and clock-1 to device tree
*Added dma-ranges to ahb in device tree
*Fixed static device issue in timer-gxp.c with platform_device_alloc
*Fixed timer-gxp.c initialization to exit cleanly
*Corrected all subjects and descriptions for every commit
*Added information about bootloader to mach-hpe patch

Changes since v4:
*Fixed version mismatch with patchset across all patches
*Fixed typos with ochi -> ohci echi -> ehci
*Adjusted Watchdog Kconfig file
*Adjusted various commit comments
*Removed un-necessary include file
*Updated outdated base revision to newer one to resolve merge conflicts
as well as pickup vendor binding change for hpe.

Changes since v3:
*Completely redid the dtsi file to represent architecture
*Reduced device tree size
*Rewrote the timer driver to start the watchdog driver due to similar
register region
*Made adjustments to timer
*Made adjustments to watchdog
*Changed gxp.yaml to hpe,gxp.yaml with changes
*Updated Maintainers to represent new file names
*Added hpe bindings to generic-ehci and generic-ohci
*Fixed clock architecture to be accurate

Changes since v2:
*Reduced size of changes, put them into patchset format
*Changed from txt->yaml

Changes since v1:
*Fixed compiler warnings

The GXP is the HPE BMC SoC that is used in the majority of HPE current
generation 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 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.

Nick Hawkins (8):
ARM: hpe: Introduce the HPE GXP architecture
ARM: configs: multi_v7_defconfig: Add HPE GXP ARCH
watchdog: hpe-wdt: Introduce HPE GXP Watchdog
clocksource/drivers/timer-gxp: Add HPE GXP Timer
dt-bindings: timer: hpe,gxp-timer: Add HPE GXP Timer and Watchdog
dt-bindings: arm: hpe: add GXP Support
ARM: dts: Introduce HPE GXP Device tree
MAINTAINERS: Introduce HPE GXP Architecture

.../devicetree/bindings/arm/hpe,gxp.yaml | 27 +++
.../bindings/timer/hpe,gxp-timer.yaml | 47 ++++
MAINTAINERS | 12 +
arch/arm/Kconfig | 2 +
arch/arm/Makefile | 1 +
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/hpe-bmc-dl360gen10.dts | 26 +++
arch/arm/boot/dts/hpe-gxp.dtsi | 127 +++++++++++
arch/arm/configs/multi_v7_defconfig | 3 +
arch/arm/mach-hpe/Kconfig | 23 ++
arch/arm/mach-hpe/Makefile | 1 +
arch/arm/mach-hpe/gxp.c | 16 ++
drivers/clocksource/Kconfig | 8 +
drivers/clocksource/Makefile | 1 +
drivers/clocksource/timer-gxp.c | 209 ++++++++++++++++++
drivers/watchdog/Kconfig | 11 +
drivers/watchdog/Makefile | 1 +
drivers/watchdog/gxp-wdt.c | 174 +++++++++++++++
18 files changed, 691 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/hpe,gxp.yaml
create mode 100644 Documentation/devicetree/bindings/timer/hpe,gxp-timer.yaml
create mode 100644 arch/arm/boot/dts/hpe-bmc-dl360gen10.dts
create mode 100644 arch/arm/boot/dts/hpe-gxp.dtsi
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
create mode 100644 drivers/clocksource/timer-gxp.c
create mode 100644 drivers/watchdog/gxp-wdt.c

--
2.17.1



2022-05-18 12:21:41

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v8 0/8] Introduce HPE GXP Architecture

On Mon, May 16, 2022 at 5:33 PM <[email protected]> wrote:
>
> From: Nick Hawkins <[email protected]>
>
> Changes since v7:
> *Fixed comment format in watchdog driver
> *Added the Acked-by tag to the device tree patch.
> *Resubmitted the dt-bindings patches hpe,gxp and hpe,gxp-timer with
> Reviewed-by tags from previous patch in descriptions to keep patchset
> continuity for v8.

Hi Nick,

I have preliminarily applied this version into a the arm/late branch,
but since I'm
travelling at the moment, I cannot actually push that branch out for linux-next
before the coming merge window.

My feeling is that this should just wait until 5.20 now, but if you
and others others
feel strongly about it, I could send it during the second half of the
merge window.

It still needs to pass all the CI build tests, but at least it's
unlikely that there
are any runtime regressions for other platforms.

Arnd

2022-05-18 13:15:06

by Hawkins, Nick

[permalink] [raw]
Subject: RE: [PATCH v8 0/8] Introduce HPE GXP Architecture

> Hi Nick,

> I have preliminarily applied this version into a the arm/late branch, but since I'm travelling at the moment, I cannot actually push that branch out for linux-next before the coming merge window.

> My feeling is that this should just wait until 5.20 now, but if you and others others feel strongly about it, I could send it during the second half of the merge window.

> It still needs to pass all the CI build tests, but at least it's unlikely that there are any runtime regressions for other platforms.

Hi Arnd,

We have a talk planned for the North America Open Source Summit (June 20-24) and it would be great if this patch set could be in Linux by then. If it is not possible we can handle that.

Thanks,

-Nick Hawkins

2022-05-23 11:57:56

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v8 0/8] Introduce HPE GXP Architecture

On Wed, May 18, 2022 at 3:12 PM Hawkins, Nick <[email protected]> wrote:
>
> We have a talk planned for the North America Open Source Summit (June 20-24)
> and it would be great if this patch set could be in Linux by then. If it is not possible
> we can handle that.

That's a good enough reason for me, I'll see what I can do, and will
keep it in the
arm/late branch until next week. If everything goes well with the soc
tree and your
patches, I'll send it on then, otherwise it will have to wait a release.

Arnd