Browse Source
Add a check for parsing 'interrupt-map' properties. The check primarily tests parsing 'interrupt-map' properties which depends on and the parent interrupt controller (or another map) node. Note that this does not require '#address-cells' in the interrupt-map parent, but treats missing '#address-cells' as 0 which is how the Linux kernel parses it. There's numerous cases that expect this behavior. Cc: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Rob Herring <robh@kernel.org> Message-Id: <20211015213527.2237774-1-robh@kernel.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>main
Rob Herring
3 years ago
committed by
David Gibson
5 changed files with 144 additions and 0 deletions
@ -0,0 +1,20 @@ |
|||||||
|
/dts-v1/; |
||||||
|
|
||||||
|
/ { |
||||||
|
interrupt-parent = <&intc>; |
||||||
|
intc: interrupt-controller { |
||||||
|
#interrupt-cells = <3>; |
||||||
|
interrupt-controller; |
||||||
|
}; |
||||||
|
|
||||||
|
node { |
||||||
|
#address-cells = <0>; |
||||||
|
#interrupt-cells = <1>; |
||||||
|
interrupt-map = <1 &intc 1 2 3>; |
||||||
|
interrupt-map-mask = <0 0>; |
||||||
|
|
||||||
|
child { |
||||||
|
interrupts = <1>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
@ -0,0 +1,17 @@ |
|||||||
|
/dts-v1/; |
||||||
|
|
||||||
|
/ { |
||||||
|
interrupt-parent = <&intc>; |
||||||
|
intc: interrupt-controller { |
||||||
|
}; |
||||||
|
|
||||||
|
node { |
||||||
|
#address-cells = <0>; |
||||||
|
#interrupt-cells = <1>; |
||||||
|
interrupt-map = <1 &intc 1 2 3>; |
||||||
|
|
||||||
|
child { |
||||||
|
interrupts = <1>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
@ -0,0 +1,19 @@ |
|||||||
|
/dts-v1/; |
||||||
|
|
||||||
|
/ { |
||||||
|
interrupt-parent = <&intc>; |
||||||
|
intc: interrupt-controller { |
||||||
|
#interrupt-cells = <3>; |
||||||
|
interrupt-controller; |
||||||
|
}; |
||||||
|
|
||||||
|
node { |
||||||
|
/* Missing #address-cells = <0>; */ |
||||||
|
#interrupt-cells = <1>; |
||||||
|
interrupt-map = <1 &intc 1 2 3>; |
||||||
|
|
||||||
|
child { |
||||||
|
interrupts = <1>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
Loading…
Reference in new issue