|  | // SPDX-License-Identifier: GPL-2.0 | 
|  |  | 
|  | / { | 
|  | testcase-data { | 
|  | interrupts { | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  |  | 
|  | 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 is required | 
|  | * | 
|  | * The property is not provided in this node to | 
|  | * test that the code will properly handle | 
|  | * this case for legacy .dts files. | 
|  | * | 
|  | * Not having #address-cells will result in a | 
|  | * warning from dtc starting with | 
|  | * version v1.6.1-19-g0a3a9d3449c8 | 
|  | * The warning is suppressed by adding | 
|  | * -Wno-interrupt_map to the Makefile for all | 
|  | * .dts files this include this .dtsi | 
|  | #address-cells = <1>; | 
|  | */ | 
|  | interrupt-map = <0x5000 1 2 &test_intc0 15>; | 
|  | }; | 
|  |  | 
|  | test_intc_intmap0: intc-intmap0 { | 
|  | #interrupt-cells = <1>; | 
|  | #address-cells = <1>; | 
|  | interrupt-controller; | 
|  | interrupt-map = <0x6000 1 &test_intc_intmap0 0x7000 2>; | 
|  | }; | 
|  |  | 
|  | interrupts0 { | 
|  | interrupt-parent = <&test_intc0>; | 
|  | interrupts = <1>, <2>, <3>, <4>; | 
|  | }; | 
|  |  | 
|  | interrupts1 { | 
|  | interrupt-parent = <&test_intmap0>; | 
|  | interrupts = <1>, <2>, <3>, <4>; | 
|  | }; | 
|  |  | 
|  | interrupts2 { | 
|  | reg = <0x6000 0x100>; | 
|  | interrupt-parent = <&test_intc_intmap0>; | 
|  | interrupts = <1>; | 
|  | }; | 
|  |  | 
|  | interrupts-extended0 { | 
|  | reg = <0x5000 0x100>; | 
|  | /* | 
|  | * Do not remove &test_intmap1 from this | 
|  | * property - see comment in node intmap1 | 
|  | */ | 
|  | 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>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | testcase-device1 { | 
|  | compatible = "testcase-device"; | 
|  | interrupt-parent = <&test_intc0>; | 
|  | interrupts = <1>; | 
|  | }; | 
|  |  | 
|  | /* | 
|  | * testcase data that intentionally results in an error is | 
|  | * located in testcases.dts instead of in this file so that the | 
|  | * static overlay apply tests will not include the error. | 
|  | */ | 
|  | }; | 
|  | }; |