arch/arm/boot/dts/hpe/hpe-gxp.dtsi | 37 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 18 deletions(-)
From: Charles Kearney <charles.kearney@hpe.com>
Bug fix to correct memory ranges on GXP to include host registers. This
corrects a issue where the host interrupt controller is not available.
Fixes: 53658de4fadb ("ARM: dts: Introduce HPE GXP Device tree")
Reviewed-by: Nick Hawkins <nick.hawkins@hpe.com>
Signed-off-by: Charles Kearney <charles.kearney@hpe.com>
---
arch/arm/boot/dts/hpe/hpe-gxp.dtsi | 37 +++++++++++++++---------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/arch/arm/boot/dts/hpe/hpe-gxp.dtsi b/arch/arm/boot/dts/hpe/hpe-gxp.dtsi
index cf735b3c4f35..5de5ec4d833c 100644
--- a/arch/arm/boot/dts/hpe/hpe-gxp.dtsi
+++ b/arch/arm/boot/dts/hpe/hpe-gxp.dtsi
@@ -52,73 +52,74 @@ L2: cache-controller@b0040000 {
cache-level = <2>;
};
- ahb@c0000000 {
+ ahb@80000000 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
- ranges = <0x0 0xc0000000 0x30000000>;
dma-ranges;
+ ranges = <0x00000000 0x80000000 0x20000000>,
+ <0x40000000 0xc0000000 0x3fff0000>;
- vic0: interrupt-controller@eff0000 {
+ vic0: interrupt-controller@4eff0000 {
compatible = "arm,pl192-vic";
- reg = <0xeff0000 0x1000>;
+ reg = <0x4eff0000 0x1000>;
interrupt-controller;
#interrupt-cells = <1>;
};
- vic1: interrupt-controller@80f00000 {
+ vic1: interrupt-controller@f00000 {
compatible = "arm,pl192-vic";
- reg = <0x80f00000 0x1000>;
+ reg = <0xf00000 0x1000>;
interrupt-controller;
#interrupt-cells = <1>;
};
- uarta: serial@e0 {
+ uarta: serial@400000e0 {
compatible = "ns16550a";
- reg = <0xe0 0x8>;
+ reg = <0x400000e0 0x8>;
interrupts = <17>;
interrupt-parent = <&vic0>;
clock-frequency = <1846153>;
reg-shift = <0>;
};
- uartb: serial@e8 {
+ uartb: serial@400000e8 {
compatible = "ns16550a";
- reg = <0xe8 0x8>;
+ reg = <0x400000e8 0x8>;
interrupts = <18>;
interrupt-parent = <&vic0>;
clock-frequency = <1846153>;
reg-shift = <0>;
};
- uartc: serial@f0 {
+ uartc: serial@400000f0 {
compatible = "ns16550a";
- reg = <0xf0 0x8>;
+ reg = <0x400000f0 0x8>;
interrupts = <19>;
interrupt-parent = <&vic0>;
clock-frequency = <1846153>;
reg-shift = <0>;
};
- usb0: usb@efe0000 {
+ usb0: usb@4efe0000 {
compatible = "hpe,gxp-ehci", "generic-ehci";
- reg = <0xefe0000 0x100>;
+ reg = <0x4efe0000 0x100>;
interrupts = <7>;
interrupt-parent = <&vic0>;
};
- st: timer@80 {
+ st: timer@40000080 {
compatible = "hpe,gxp-timer";
- reg = <0x80 0x16>;
+ reg = <0x40000080 0x16>;
interrupts = <0>;
interrupt-parent = <&vic0>;
clocks = <&iopclk>;
clock-names = "iop";
};
- usb1: usb@efe0100 {
+ usb1: usb@4efe0100 {
compatible = "hpe,gxp-ohci", "generic-ohci";
- reg = <0xefe0100 0x110>;
+ reg = <0x4efe0100 0x110>;
interrupts = <6>;
interrupt-parent = <&vic0>;
};
--
2.34.1
On Fri, Nov 10, 2023, at 20:48, charles.kearney@hpe.com wrote:
> - ahb@c0000000 {
> + ahb@80000000 {
> compatible = "simple-bus";
> #address-cells = <1>;
> #size-cells = <1>;
> - ranges = <0x0 0xc0000000 0x30000000>;
> dma-ranges;
> + ranges = <0x00000000 0x80000000 0x20000000>,
> + <0x40000000 0xc0000000 0x3fff0000>;
>
> - vic0: interrupt-controller@eff0000 {
> + vic0: interrupt-controller@4eff0000 {
> compatible = "arm,pl192-vic";
> - reg = <0xeff0000 0x1000>;
> + reg = <0x4eff0000 0x1000>;
> interrupt-controller;
> #interrupt-cells = <1>;
> };
>
> - vic1: interrupt-controller@80f00000 {
> + vic1: interrupt-controller@f00000 {
> compatible = "arm,pl192-vic";
> - reg = <0x80f00000 0x1000>;
> + reg = <0xf00000 0x1000>;
> interrupt-controller;
> #interrupt-cells = <1>;
> };
>
> - uarta: serial@e0 {
> + uarta: serial@400000e0 {
Are these the actual addresses in the datasheet or
did you just make up a mapping?
If you have two separate address ranges, that would
typically indicate that there are two distinct ahb
instances that should be represented as separate
bus nodes. With the new mapping, it looks like all the
devices using vic0 are part of the same address range
as vic0, which also indicates that they might
be on one bus.
If this is a single ahb instance with multiple distinct
address ranges, I would expect that you need to adapt
the dma-ranges as well.
Arnd
© 2016 - 2025 Red Hat, Inc.