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