mbox series

[v8,0/8] Introduce HPE GXP Architecture

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

Message

Hawkins, Nick May 16, 2022, 4:33 p.m. UTC
From: Nick Hawkins <nick.hawkins@hpe.com>

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

Comments

Arnd Bergmann May 18, 2022, 12:13 p.m. UTC | #1
On Mon, May 16, 2022 at 5:33 PM <nick.hawkins@hpe.com> wrote:
>
> From: Nick Hawkins <nick.hawkins@hpe.com>
>
> 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
Hawkins, Nick May 18, 2022, 1:12 p.m. UTC | #2
> 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
Arnd Bergmann May 23, 2022, 10:51 a.m. UTC | #3
On Wed, May 18, 2022 at 3:12 PM Hawkins, Nick <nick.hawkins@hpe.com> 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
patchwork-bot+linux-soc@kernel.org May 26, 2022, 2:40 p.m. UTC | #4
Hello:

This patch was applied to soc/soc.git (for-next)
by Arnd Bergmann <arnd@arndb.de>:

On Mon, 16 May 2022 11:33:10 -0500 you wrote:
> From: Nick Hawkins <nick.hawkins@hpe.com>
> 
> 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
> 
> [...]

Here is the summary with links:
  - [v8,7/8] ARM: dts: Introduce HPE GXP Device tree
    https://git.kernel.org/soc/soc/c/53658de4fadb

You are awesome, thank you!