Loading...
1// SPDX-License-Identifier: GPL-2.0
2
3/ {
4 testcase-data {
5 interrupts {
6 #address-cells = <1>;
7 #size-cells = <1>;
8
9 test_intc0: intc0 {
10 interrupt-controller;
11 #interrupt-cells = <1>;
12 };
13
14 test_intc1: intc1 {
15 interrupt-controller;
16 #interrupt-cells = <3>;
17 };
18
19 test_intc2: intc2 {
20 interrupt-controller;
21 #interrupt-cells = <2>;
22 };
23
24 test_intmap0: intmap0 {
25 #interrupt-cells = <1>;
26 #address-cells = <0>;
27 interrupt-map = <1 &test_intc0 9>,
28 <2 &test_intc1 10 11 12>,
29 <3 &test_intc2 13 14>,
30 <4 &test_intc2 15 16>;
31 };
32
33 test_intmap1: intmap1 {
34 #interrupt-cells = <2>;
35 /*
36 * #address-cells is required
37 *
38 * The property is not provided in this node to
39 * test that the code will properly handle
40 * this case for legacy .dts files.
41 *
42 * Not having #address-cells will result in a
43 * warning from dtc starting with
44 * version v1.6.1-19-g0a3a9d3449c8
45 * The warning is suppressed by adding
46 * -Wno-interrupt_map to the Makefile for all
47 * .dts files this include this .dtsi
48 #address-cells = <1>;
49 */
50 interrupt-map = <0x5000 1 2 &test_intc0 15>;
51 };
52
53 interrupts0 {
54 interrupt-parent = <&test_intc0>;
55 interrupts = <1>, <2>, <3>, <4>;
56 };
57
58 interrupts1 {
59 interrupt-parent = <&test_intmap0>;
60 interrupts = <1>, <2>, <3>, <4>;
61 };
62
63 interrupts-extended0 {
64 reg = <0x5000 0x100>;
65 /*
66 * Do not remove &test_intmap1 from this
67 * property - see comment in node intmap1
68 */
69 interrupts-extended = <&test_intc0 1>,
70 <&test_intc1 2 3 4>,
71 <&test_intc2 5 6>,
72 <&test_intmap0 1>,
73 <&test_intmap0 2>,
74 <&test_intmap0 3>,
75 <&test_intmap1 1 2>;
76 };
77 };
78
79 testcase-device1 {
80 compatible = "testcase-device";
81 interrupt-parent = <&test_intc0>;
82 interrupts = <1>;
83 };
84
85 /*
86 * testcase data that intentionally results in an error is
87 * located in testcases.dts instead of in this file so that the
88 * static overlay apply tests will not include the error.
89 */
90 };
91};
1
2/ {
3 testcase-data {
4 interrupts {
5 #address-cells = <1>;
6 #size-cells = <1>;
7 test_intc0: intc0 {
8 interrupt-controller;
9 #interrupt-cells = <1>;
10 };
11
12 test_intc1: intc1 {
13 interrupt-controller;
14 #interrupt-cells = <3>;
15 };
16
17 test_intc2: intc2 {
18 interrupt-controller;
19 #interrupt-cells = <2>;
20 };
21
22 test_intmap0: intmap0 {
23 #interrupt-cells = <1>;
24 #address-cells = <0>;
25 interrupt-map = <1 &test_intc0 9>,
26 <2 &test_intc1 10 11 12>,
27 <3 &test_intc2 13 14>,
28 <4 &test_intc2 15 16>;
29 };
30
31 test_intmap1: intmap1 {
32 #interrupt-cells = <2>;
33 interrupt-map = <0x5000 1 2 &test_intc0 15>;
34 };
35
36 interrupts0 {
37 interrupt-parent = <&test_intc0>;
38 interrupts = <1>, <2>, <3>, <4>;
39 };
40
41 interrupts1 {
42 interrupt-parent = <&test_intmap0>;
43 interrupts = <1>, <2>, <3>, <4>;
44 };
45
46 interrupts-extended0 {
47 reg = <0x5000 0x100>;
48 interrupts-extended = <&test_intc0 1>,
49 <&test_intc1 2 3 4>,
50 <&test_intc2 5 6>,
51 <&test_intmap0 1>,
52 <&test_intmap0 2>,
53 <&test_intmap0 3>,
54 <&test_intmap1 1 2>;
55 };
56 };
57
58 testcase-device1 {
59 compatible = "testcase-device";
60 interrupt-parent = <&test_intc0>;
61 interrupts = <1>;
62 };
63
64 testcase-device2 {
65 compatible = "testcase-device";
66 interrupt-parent = <&test_intc2>;
67 interrupts = <1>; /* invalid specifier - too short */
68 };
69 };
70
71};