aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@linaro.org>2013-09-19 17:47:37 -0400
committerGrant Likely <grant.likely@linaro.org>2013-10-28 19:48:14 -0400
commit79d9701559a9f3e9b2021fbd292f5e70ad75f686 (patch)
treebbbcc05e19c73ffe9f6a5b71c8c45c5e051c2747 /arch
parentf27446c3ad5b6d3b5b28ec0176e23d3ceca595d8 (diff)
of/irq: create interrupts-extended property
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/testcases/tests-interrupts.dtsi16
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};