1b6280c8bSJiaxun Yang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b6280c8bSJiaxun Yang%YAML 1.2 3b6280c8bSJiaxun Yang--- 4b6280c8bSJiaxun Yang$id: "http://devicetree.org/schemas/interrupt-controller/loongson,liointc.yaml#" 5b6280c8bSJiaxun Yang$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6b6280c8bSJiaxun Yang 7b6280c8bSJiaxun Yangtitle: Loongson Local I/O Interrupt Controller 8b6280c8bSJiaxun Yang 9b6280c8bSJiaxun Yangmaintainers: 10b6280c8bSJiaxun Yang - Jiaxun Yang <jiaxun.yang@flygoat.com> 11b6280c8bSJiaxun Yang 12b6280c8bSJiaxun Yangdescription: | 13b6280c8bSJiaxun Yang This interrupt controller is found in the Loongson-3 family of chips as the primary 14b6280c8bSJiaxun Yang package interrupt controller which can route local I/O interrupt to interrupt lines 15b6280c8bSJiaxun Yang of cores. 16b6280c8bSJiaxun Yang 17b6280c8bSJiaxun YangallOf: 18b6280c8bSJiaxun Yang - $ref: /schemas/interrupt-controller.yaml# 19b6280c8bSJiaxun Yang 20b6280c8bSJiaxun Yangproperties: 21b6280c8bSJiaxun Yang compatible: 22b6280c8bSJiaxun Yang oneOf: 23b6280c8bSJiaxun Yang - const: loongson,liointc-1.0 24b6280c8bSJiaxun Yang - const: loongson,liointc-1.0a 25b6280c8bSJiaxun Yang 26b6280c8bSJiaxun Yang reg: 27b6280c8bSJiaxun Yang maxItems: 1 28b6280c8bSJiaxun Yang 29b6280c8bSJiaxun Yang interrupt-controller: true 30b6280c8bSJiaxun Yang 31b6280c8bSJiaxun Yang interrupts: 32b6280c8bSJiaxun Yang description: 33b6280c8bSJiaxun Yang Interrupt source of the CPU interrupts. 34b6280c8bSJiaxun Yang minItems: 1 35b6280c8bSJiaxun Yang maxItems: 4 36b6280c8bSJiaxun Yang 37b6280c8bSJiaxun Yang interrupt-names: 38b6280c8bSJiaxun Yang description: List of names for the parent interrupts. 39b6280c8bSJiaxun Yang items: 40b6280c8bSJiaxun Yang - const: int0 41b6280c8bSJiaxun Yang - const: int1 42b6280c8bSJiaxun Yang - const: int2 43b6280c8bSJiaxun Yang - const: int3 44b6280c8bSJiaxun Yang minItems: 1 45b6280c8bSJiaxun Yang maxItems: 4 46b6280c8bSJiaxun Yang 47b6280c8bSJiaxun Yang '#interrupt-cells': 48b6280c8bSJiaxun Yang const: 2 49b6280c8bSJiaxun Yang 50b6280c8bSJiaxun Yang 'loongson,parent_int_map': 51b6280c8bSJiaxun Yang description: | 52b6280c8bSJiaxun Yang This property points how the children interrupts will be mapped into CPU 53b6280c8bSJiaxun Yang interrupt lines. Each cell refers to a parent interrupt line from 0 to 3 54*f7dcfea3STiezhu Yang and each bit in the cell refers to a child interrupt from 0 to 31. 55*f7dcfea3STiezhu Yang If a CPU interrupt line didn't connect with liointc, then keep its 56b6280c8bSJiaxun Yang cell with zero. 573d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32-array 583d21a460SRob Herring minItems: 4 59b6280c8bSJiaxun Yang maxItems: 4 60b6280c8bSJiaxun Yang 61b6280c8bSJiaxun Yangrequired: 62b6280c8bSJiaxun Yang - compatible 63b6280c8bSJiaxun Yang - reg 64b6280c8bSJiaxun Yang - interrupts 65b6280c8bSJiaxun Yang - interrupt-controller 66b6280c8bSJiaxun Yang - '#interrupt-cells' 67b6280c8bSJiaxun Yang - 'loongson,parent_int_map' 68b6280c8bSJiaxun Yang 69b6280c8bSJiaxun Yang 70b6280c8bSJiaxun Yangexamples: 71b6280c8bSJiaxun Yang - | 72b6280c8bSJiaxun Yang iointc: interrupt-controller@3ff01400 { 73b6280c8bSJiaxun Yang compatible = "loongson,liointc-1.0"; 74b6280c8bSJiaxun Yang reg = <0x3ff01400 0x64>; 75b6280c8bSJiaxun Yang 76b6280c8bSJiaxun Yang interrupt-controller; 77b6280c8bSJiaxun Yang #interrupt-cells = <2>; 78b6280c8bSJiaxun Yang 79b6280c8bSJiaxun Yang interrupt-parent = <&cpuintc>; 80b6280c8bSJiaxun Yang interrupts = <2>, <3>; 81b6280c8bSJiaxun Yang interrupt-names = "int0", "int1"; 82b6280c8bSJiaxun Yang 83b6280c8bSJiaxun Yang loongson,parent_int_map = <0xf0ffffff>, /* int0 */ 84b6280c8bSJiaxun Yang <0x0f000000>, /* int1 */ 85b6280c8bSJiaxun Yang <0x00000000>, /* int2 */ 86b6280c8bSJiaxun Yang <0x00000000>; /* int3 */ 87b6280c8bSJiaxun Yang 88b6280c8bSJiaxun Yang }; 89b6280c8bSJiaxun Yang 90b6280c8bSJiaxun Yang... 91