1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*ae5de77eSEmmanuel Vadot%YAML 1.2 3*ae5de77eSEmmanuel Vadot--- 4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/marvell,cp110-icu.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadotmaintainers: 8*ae5de77eSEmmanuel Vadot - Miquel Raynal <miquel.raynal@bootlin.com> 9*ae5de77eSEmmanuel Vadot - Thomas Petazzoni <thomas.petazzoni@bootlin.com> 10*ae5de77eSEmmanuel Vadot 11*ae5de77eSEmmanuel Vadottitle: Marvell ICU Interrupt Controller 12*ae5de77eSEmmanuel Vadot 13*ae5de77eSEmmanuel Vadotdescription: 14*ae5de77eSEmmanuel Vadot The Marvell ICU (Interrupt Consolidation Unit) controller is responsible for 15*ae5de77eSEmmanuel Vadot collecting all wired-interrupt sources in the CP and communicating them to the 16*ae5de77eSEmmanuel Vadot GIC in the AP. The unit translates interrupt requests on input wires to MSG 17*ae5de77eSEmmanuel Vadot memory mapped transactions to the GIC. These messages access different GIC 18*ae5de77eSEmmanuel Vadot memory areas depending on their type (NSR, SR, SEI, REI, etc). 19*ae5de77eSEmmanuel Vadot 20*ae5de77eSEmmanuel Vadotproperties: 21*ae5de77eSEmmanuel Vadot compatible: 22*ae5de77eSEmmanuel Vadot const: marvell,cp110-icu 23*ae5de77eSEmmanuel Vadot 24*ae5de77eSEmmanuel Vadot reg: 25*ae5de77eSEmmanuel Vadot maxItems: 1 26*ae5de77eSEmmanuel Vadot 27*ae5de77eSEmmanuel Vadot '#address-cells': 28*ae5de77eSEmmanuel Vadot const: 1 29*ae5de77eSEmmanuel Vadot 30*ae5de77eSEmmanuel Vadot '#size-cells': 31*ae5de77eSEmmanuel Vadot const: 1 32*ae5de77eSEmmanuel Vadot 33*ae5de77eSEmmanuel Vadot ranges: true 34*ae5de77eSEmmanuel Vadot 35*ae5de77eSEmmanuel VadotpatternProperties: 36*ae5de77eSEmmanuel Vadot "^interrupt-controller@": 37*ae5de77eSEmmanuel Vadot type: object 38*ae5de77eSEmmanuel Vadot description: Interrupt group child nodes 39*ae5de77eSEmmanuel Vadot additionalProperties: false 40*ae5de77eSEmmanuel Vadot 41*ae5de77eSEmmanuel Vadot properties: 42*ae5de77eSEmmanuel Vadot compatible: 43*ae5de77eSEmmanuel Vadot enum: 44*ae5de77eSEmmanuel Vadot - marvell,cp110-icu-nsr 45*ae5de77eSEmmanuel Vadot - marvell,cp110-icu-sr 46*ae5de77eSEmmanuel Vadot - marvell,cp110-icu-sei 47*ae5de77eSEmmanuel Vadot - marvell,cp110-icu-rei 48*ae5de77eSEmmanuel Vadot 49*ae5de77eSEmmanuel Vadot reg: 50*ae5de77eSEmmanuel Vadot maxItems: 1 51*ae5de77eSEmmanuel Vadot 52*ae5de77eSEmmanuel Vadot '#interrupt-cells': 53*ae5de77eSEmmanuel Vadot const: 2 54*ae5de77eSEmmanuel Vadot 55*ae5de77eSEmmanuel Vadot interrupt-controller: true 56*ae5de77eSEmmanuel Vadot 57*ae5de77eSEmmanuel Vadot msi-parent: 58*ae5de77eSEmmanuel Vadot maxItems: 1 59*ae5de77eSEmmanuel Vadot description: Phandle to the GICP controller 60*ae5de77eSEmmanuel Vadot 61*ae5de77eSEmmanuel Vadot required: 62*ae5de77eSEmmanuel Vadot - compatible 63*ae5de77eSEmmanuel Vadot - reg 64*ae5de77eSEmmanuel Vadot - '#interrupt-cells' 65*ae5de77eSEmmanuel Vadot - interrupt-controller 66*ae5de77eSEmmanuel Vadot - msi-parent 67*ae5de77eSEmmanuel Vadot 68*ae5de77eSEmmanuel Vadotrequired: 69*ae5de77eSEmmanuel Vadot - compatible 70*ae5de77eSEmmanuel Vadot - reg 71*ae5de77eSEmmanuel Vadot 72*ae5de77eSEmmanuel VadotadditionalProperties: false 73*ae5de77eSEmmanuel Vadot 74*ae5de77eSEmmanuel Vadotexamples: 75*ae5de77eSEmmanuel Vadot - | 76*ae5de77eSEmmanuel Vadot interrupt-controller@1e0000 { 77*ae5de77eSEmmanuel Vadot compatible = "marvell,cp110-icu"; 78*ae5de77eSEmmanuel Vadot reg = <0x1e0000 0x440>; 79*ae5de77eSEmmanuel Vadot #address-cells = <1>; 80*ae5de77eSEmmanuel Vadot #size-cells = <1>; 81*ae5de77eSEmmanuel Vadot ranges; 82*ae5de77eSEmmanuel Vadot 83*ae5de77eSEmmanuel Vadot interrupt-controller@10 { 84*ae5de77eSEmmanuel Vadot compatible = "marvell,cp110-icu-nsr"; 85*ae5de77eSEmmanuel Vadot reg = <0x10 0x20>; 86*ae5de77eSEmmanuel Vadot #interrupt-cells = <2>; 87*ae5de77eSEmmanuel Vadot interrupt-controller; 88*ae5de77eSEmmanuel Vadot msi-parent = <&gicp>; 89*ae5de77eSEmmanuel Vadot }; 90*ae5de77eSEmmanuel Vadot 91*ae5de77eSEmmanuel Vadot interrupt-controller@50 { 92*ae5de77eSEmmanuel Vadot compatible = "marvell,cp110-icu-sei"; 93*ae5de77eSEmmanuel Vadot reg = <0x50 0x10>; 94*ae5de77eSEmmanuel Vadot #interrupt-cells = <2>; 95*ae5de77eSEmmanuel Vadot interrupt-controller; 96*ae5de77eSEmmanuel Vadot msi-parent = <&sei>; 97*ae5de77eSEmmanuel Vadot }; 98*ae5de77eSEmmanuel Vadot }; 99