Message ID | 20220421192132.109954-11-nick.hawkins@hpe.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Introduce HPE GXP Architecture | expand |
On Thu, Apr 21, 2022 at 9:21 PM <nick.hawkins@hpe.com> wrote: > + axi { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + dma-ranges; > + > + ahb@c0000000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0x0 0xc0000000 0x30000000>; I think you should add a "dma-ranges" property in the ahb node as well, otherwise this would mean that none of the children are DMA capable, when at the minimum the USB controllers require DMA. Arnd
On 21/04/2022 21:21, nick.hawkins@hpe.com wrote: > From: Nick Hawkins <nick.hawkins@hpe.com> > Thank you for your patch. There is something to discuss/improve. > +/include/ "hpe-gxp.dtsi" > + > +/ { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "hpe,gxp-dl360gen10","hpe,gxp"; Missing space after ','. > + model = "Hewlett Packard Enterprise ProLiant dl360 Gen10"; > +}; > diff --git a/arch/arm/boot/dts/hpe-gxp.dtsi b/arch/arm/boot/dts/hpe-gxp.dtsi > new file mode 100644 > index 000000000000..a3a082d21101 > --- /dev/null > +++ b/arch/arm/boot/dts/hpe-gxp.dtsi > @@ -0,0 +1,128 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Device Tree file for HPE GXP > + */ > + > +/dts-v1/; > +/ { > + model = "Hewlett Packard Enterprise GXP BMC"; > + compatible = "hpe,gxp","hpe,gxp-dl360gen10"; The same. > + #address-cells = <1>; > + #size-cells = <1>; > + > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + > + cpu@0 { > + compatible = "arm,cortex-a9"; > + reg = <0>; > + device_type = "cpu"; > + }; > + }; > + > + clocks { > + No need for blank line. > + pll: pll { Generic node names, so either "clock-0" or "pll-clock" > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <1600000000>; > + }; > + > + iopclk: iopclk { "clock-1" or "iop-clock" > + compatible = "fixed-factor-clock"; > + #clock-cells = <0>; > + clock-div = <4>; > + clock-mult = <1>; > + clocks = <&pll>; > + }; > + }; (...) > + > + usb0: usb@efe0000 { > + compatible = "hpe,gxp-ehci","generic-ehci"; Here and in other places - always missing a space. > + reg = <0xefe0000 0x100>; > + interrupts = <7>; > + interrupt-parent = <&vic0>; > + }; > + > + st: timer@80 { > + compatible = "hpe,gxp-timer","simple-mfd"; > + reg = <0x80 0x16>; > + interrupts = <0>; > + interrupt-parent = <&vic0>; > + clocks = <&iopclk>; > + clock-names = "iopclk"; > + watchdog { > + compatible = "hpe,gxp-wdt"; > + }; > + }; > + > + usb1: usb@efe0100 { > + compatible = "hpe,gxp-ohci","generic-ohci"; > + reg = <0xefe0100 0x110>; > + interrupts = <6>; > + interrupt-parent = <&vic0>; > + }; > + }; > + }; > + No need for blank line. > +}; Best regards, Krzysztof
On 21/04/2022 21:21, nick.hawkins@hpe.com wrote: > From: Nick Hawkins <nick.hawkins@hpe.com> > > The HPE SoC is new to linux. This patch > creates the basic device tree layout with minimum required > for linux to boot. This includes timer and watchdog > support. > > The dts file is empty at this point but will be > updated in subsequent updates as board specific features > are enabled. > > Signed-off-by: Nick Hawkins <nick.hawkins@hpe.com> > > --- > v5: > * Fixed commit message to show previous changes > * Fixed typo ehci -> echi One more thought, but I am pretty sure we talked about this already: please fix your commit subject. git log --oneline. Best regards, Krzysztof
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 7c16f8a2b738..293717719c70 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -255,6 +255,8 @@ dtb-$(CONFIG_ARCH_HISI) += \ hi3519-demb.dtb dtb-$(CONFIG_ARCH_HIX5HD2) += \ hisi-x5hd2-dkb.dtb +dtb-$(CONFIG_ARCH_HPE_GXP) += \ + hpe-bmc-dl360gen10.dtb dtb-$(CONFIG_ARCH_INTEGRATOR) += \ integratorap.dtb \ integratorap-im-pd1.dtb \ diff --git a/arch/arm/boot/dts/hpe-bmc-dl360gen10.dts b/arch/arm/boot/dts/hpe-bmc-dl360gen10.dts new file mode 100644 index 000000000000..69e9c6672ea8 --- /dev/null +++ b/arch/arm/boot/dts/hpe-bmc-dl360gen10.dts @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Device Tree file for HPE DL360Gen10 + */ + +/include/ "hpe-gxp.dtsi" + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "hpe,gxp-dl360gen10","hpe,gxp"; + model = "Hewlett Packard Enterprise ProLiant dl360 Gen10"; +}; diff --git a/arch/arm/boot/dts/hpe-gxp.dtsi b/arch/arm/boot/dts/hpe-gxp.dtsi new file mode 100644 index 000000000000..a3a082d21101 --- /dev/null +++ b/arch/arm/boot/dts/hpe-gxp.dtsi @@ -0,0 +1,128 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Device Tree file for HPE GXP + */ + +/dts-v1/; +/ { + model = "Hewlett Packard Enterprise GXP BMC"; + compatible = "hpe,gxp","hpe,gxp-dl360gen10"; + #address-cells = <1>; + #size-cells = <1>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "arm,cortex-a9"; + reg = <0>; + device_type = "cpu"; + }; + }; + + clocks { + + pll: pll { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <1600000000>; + }; + + iopclk: iopclk { + compatible = "fixed-factor-clock"; + #clock-cells = <0>; + clock-div = <4>; + clock-mult = <1>; + clocks = <&pll>; + }; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x20000000>; + }; + + axi { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + dma-ranges; + + ahb@c0000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0xc0000000 0x30000000>; + + vic0: interrupt-controller@eff0000 { + compatible = "arm,pl192-vic"; + reg = <0xeff0000 0x1000>; + interrupt-controller; + #interrupt-cells = <1>; + }; + + vic1: interrupt-controller@80f00000 { + compatible = "arm,pl192-vic"; + reg = <0x80f00000 0x1000>; + interrupt-controller; + #interrupt-cells = <1>; + }; + + uarta: serial@e0 { + compatible = "ns16550a"; + reg = <0xe0 0x8>; + interrupts = <17>; + interrupt-parent = <&vic0>; + clock-frequency = <1846153>; + reg-shift = <0>; + }; + + uartb: serial@e8 { + compatible = "ns16550a"; + reg = <0xe8 0x8>; + interrupts = <18>; + interrupt-parent = <&vic0>; + clock-frequency = <1846153>; + reg-shift = <0>; + }; + + uartc: serial@f0 { + compatible = "ns16550a"; + reg = <0xf0 0x8>; + interrupts = <19>; + interrupt-parent = <&vic0>; + clock-frequency = <1846153>; + reg-shift = <0>; + }; + + usb0: usb@efe0000 { + compatible = "hpe,gxp-ehci","generic-ehci"; + reg = <0xefe0000 0x100>; + interrupts = <7>; + interrupt-parent = <&vic0>; + }; + + st: timer@80 { + compatible = "hpe,gxp-timer","simple-mfd"; + reg = <0x80 0x16>; + interrupts = <0>; + interrupt-parent = <&vic0>; + clocks = <&iopclk>; + clock-names = "iopclk"; + watchdog { + compatible = "hpe,gxp-wdt"; + }; + }; + + usb1: usb@efe0100 { + compatible = "hpe,gxp-ohci","generic-ohci"; + reg = <0xefe0100 0x110>; + interrupts = <6>; + interrupt-parent = <&vic0>; + }; + }; + }; + +};