On 07/05/2020 12:24, Andre Przywara wrote: > The GIC DT nodes for the Arm Ltd. boards were not fully compliant with > the DT binding, which has certain expectations about child nodes and > their size and address cells values. > > Use smaller #address-cells and #size-cells values, as the binding > requests, and adjust the reg properties accordingly. ... and as innocent as this looks, this of course affects all interrupt-map properties *everywhere* in the tree, as they all refer to the GIC node and use its number of #address-cells for the map. My Juno r0 board still boots (which is why I haven't spotted this before), but some devices (timers) fail to initialise. Will adjust the maps accordingly in v3. Cheers, Andre > > Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> > --- > arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi | 2 +- > arch/arm64/boot/dts/arm/juno-base.dtsi | 14 +++++++------- > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi b/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi > index 61a1750fcdd6..c8ebffca12a7 100644 > --- a/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi > +++ b/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi > @@ -8,7 +8,7 @@ > gic: interrupt-controller@2c001000 { > compatible = "arm,cortex-a15-gic"; > #interrupt-cells = <3>; > - #address-cells = <2>; > + #address-cells = <0>; > interrupt-controller; > reg = <0x0 0x2c001000 0 0x1000>, > <0x0 0x2c002000 0 0x2000>, > diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi > index 3feefd61eb76..6d7b24a8e761 100644 > --- a/arch/arm64/boot/dts/arm/juno-base.dtsi > +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi > @@ -74,35 +74,35 @@ > <0x0 0x2c02f000 0 0x2000>, > <0x0 0x2c04f000 0 0x2000>, > <0x0 0x2c06f000 0 0x2000>; > - #address-cells = <2>; > + #address-cells = <1>; > #interrupt-cells = <3>; > - #size-cells = <2>; > + #size-cells = <1>; > interrupt-controller; > interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>; > - ranges = <0 0 0 0x2c1c0000 0 0x40000>; > + ranges = <0 0 0x2c1c0000 0x40000>; > > v2m_0: v2m@0 { > compatible = "arm,gic-v2m-frame"; > msi-controller; > - reg = <0 0 0 0x10000>; > + reg = <0 0x10000>; > }; > > v2m@10000 { > compatible = "arm,gic-v2m-frame"; > msi-controller; > - reg = <0 0x10000 0 0x10000>; > + reg = <0x10000 0x10000>; > }; > > v2m@20000 { > compatible = "arm,gic-v2m-frame"; > msi-controller; > - reg = <0 0x20000 0 0x10000>; > + reg = <0x20000 0x10000>; > }; > > v2m@30000 { > compatible = "arm,gic-v2m-frame"; > msi-controller; > - reg = <0 0x30000 0 0x10000>; > + reg = <0x30000 0x10000>; > }; > }; > >