mbox series

[v7,0/8] Introduce HPE GXP Architecture

Message ID 20220506191237.78505-1-nick.hawkins@hpe.com (mailing list archive)
Headers show
Series Introduce HPE GXP Architecture | expand

Message

Hawkins, Nick May 6, 2022, 7:12 p.m. UTC
From: Nick Hawkins <nick.hawkins@hpe.com>

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                    | 173 +++++++++++++++
 18 files changed, 690 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