aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@linaro.org>2013-09-19 17:47:37 -0400
committerShawn Guo <shawn.guo@freescale.com>2014-05-16 04:19:12 -0400
commitbb976a3070d8f947dddbf738cfe36487ec17ab2a (patch)
tree257567050176403424697a9e05e2b933648fc532 /arch/arm/boot
parent0a911f537055e872691f8ac057eb74e9a90877b2 (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.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};