
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>
58 lines
1.1 KiB
Plaintext
58 lines
1.1 KiB
Plaintext
|
|
/ {
|
|
testcase-data {
|
|
interrupts {
|
|
#address-cells = <0>;
|
|
test_intc0: intc0 {
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
};
|
|
|
|
test_intc1: intc1 {
|
|
interrupt-controller;
|
|
#interrupt-cells = <3>;
|
|
};
|
|
|
|
test_intc2: intc2 {
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
test_intmap0: intmap0 {
|
|
#interrupt-cells = <1>;
|
|
#address-cells = <0>;
|
|
interrupt-map = <1 &test_intc0 9>,
|
|
<2 &test_intc1 10 11 12>,
|
|
<3 &test_intc2 13 14>,
|
|
<4 &test_intc2 15 16>;
|
|
};
|
|
|
|
test_intmap1: intmap1 {
|
|
#interrupt-cells = <2>;
|
|
#address-cells = <0>;
|
|
interrupt-map = <1 2 &test_intc0 15>;
|
|
};
|
|
|
|
interrupts0 {
|
|
interrupt-parent = <&test_intc0>;
|
|
interrupts = <1>, <2>, <3>, <4>;
|
|
};
|
|
|
|
interrupts1 {
|
|
interrupt-parent = <&test_intmap0>;
|
|
interrupts = <1>, <2>, <3>, <4>;
|
|
};
|
|
|
|
interrupts-extended0 {
|
|
interrupts-extended = <&test_intc0 1>,
|
|
<&test_intc1 2 3 4>,
|
|
<&test_intc2 5 6>,
|
|
<&test_intmap0 1>,
|
|
<&test_intmap0 2>,
|
|
<&test_intmap0 3>,
|
|
<&test_intmap1 1 2>;
|
|
};
|
|
};
|
|
};
|
|
};
|