Re: [PATCH v2 07/17] arm64: dts: arm: Fix GIC child nodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>;
>  		};
>  	};
>  
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux