diff options
author | Grant Likely <grant.likely@linaro.org> | 2013-09-19 17:47:37 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@freescale.com> | 2014-05-16 04:19:12 -0400 |
commit | bb976a3070d8f947dddbf738cfe36487ec17ab2a (patch) | |
tree | 257567050176403424697a9e05e2b933648fc532 /arch/arm/boot | |
parent | 0a911f537055e872691f8ac057eb74e9a90877b2 (diff) |
ENGR00313685-9 of/irq: create interrupts-extended property
commit 79d9701559a9f3e9b2021fbd292f5e70ad75f686 upstream.
The standard interrupts property in device tree can only handle
interrupts coming from a single interrupt parent. If a device is wired
to multiple interrupt controllers, then it needs to be attached to a
node with an interrupt-map property to demux the interrupt specifiers
which is confusing. It would be a lot easier if there was a form of the
interrupts property that allows for a separate interrupt phandle for
each interrupt specifier.
This patch does exactly that by creating a new interrupts-extended
property which reuses the phandle+arguments pattern used by GPIOs and
other core bindings.
Signed-off-by: Grant Likely <grant.likely@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Kumar Gala <galak@codeaurora.org>
[grant.likely: removed versatile platform hunks into separate patch]
Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/testcases/tests-interrupts.dtsi | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/testcases/tests-interrupts.dtsi b/arch/arm/boot/dts/testcases/tests-interrupts.dtsi index 6ecda716e9d4..560d6bf680b6 100644 --- a/arch/arm/boot/dts/testcases/tests-interrupts.dtsi +++ b/arch/arm/boot/dts/testcases/tests-interrupts.dtsi | |||
@@ -27,6 +27,12 @@ | |||
27 | <4 &test_intc2 15 16>; | 27 | <4 &test_intc2 15 16>; |
28 | }; | 28 | }; |
29 | 29 | ||
30 | test_intmap1: intmap1 { | ||
31 | #interrupt-cells = <2>; | ||
32 | #address-cells = <0>; | ||
33 | interrupt-map = <1 2 &test_intc0 15>; | ||
34 | }; | ||
35 | |||
30 | interrupts0 { | 36 | interrupts0 { |
31 | interrupt-parent = <&test_intc0>; | 37 | interrupt-parent = <&test_intc0>; |
32 | interrupts = <1>, <2>, <3>, <4>; | 38 | interrupts = <1>, <2>, <3>, <4>; |
@@ -36,6 +42,16 @@ | |||
36 | interrupt-parent = <&test_intmap0>; | 42 | interrupt-parent = <&test_intmap0>; |
37 | interrupts = <1>, <2>, <3>, <4>; | 43 | interrupts = <1>, <2>, <3>, <4>; |
38 | }; | 44 | }; |
45 | |||
46 | interrupts-extended0 { | ||
47 | interrupts-extended = <&test_intc0 1>, | ||
48 | <&test_intc1 2 3 4>, | ||
49 | <&test_intc2 5 6>, | ||
50 | <&test_intmap0 1>, | ||
51 | <&test_intmap0 2>, | ||
52 | <&test_intmap0 3>, | ||
53 | <&test_intmap1 1 2>; | ||
54 | }; | ||
39 | }; | 55 | }; |
40 | }; | 56 | }; |
41 | }; | 57 | }; |