xref: /linux/drivers/of/unittest-data/tests-interrupts.dtsi (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
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};
92