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/img,pdc-intc.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadottitle: ImgTec Powerdown Controller (PDC) Interrupt Controller 8*ae5de77eSEmmanuel Vadot 9*ae5de77eSEmmanuel Vadotmaintainers: 10*ae5de77eSEmmanuel Vadot - James Hogan <jhogan@kernel.org> 11*ae5de77eSEmmanuel Vadot 12*ae5de77eSEmmanuel Vadotdescription: 13*ae5de77eSEmmanuel Vadot ImgTec Powerdown Controller (PDC) Interrupt Controller has a number of input 14*ae5de77eSEmmanuel Vadot interrupt lines which can wake the system, and are passed on through output 15*ae5de77eSEmmanuel Vadot interrupt lines. 16*ae5de77eSEmmanuel Vadot 17*ae5de77eSEmmanuel Vadotproperties: 18*ae5de77eSEmmanuel Vadot compatible: 19*ae5de77eSEmmanuel Vadot const: img,pdc-intc 20*ae5de77eSEmmanuel Vadot 21*ae5de77eSEmmanuel Vadot reg: 22*ae5de77eSEmmanuel Vadot maxItems: 1 23*ae5de77eSEmmanuel Vadot 24*ae5de77eSEmmanuel Vadot interrupt-controller: true 25*ae5de77eSEmmanuel Vadot 26*ae5de77eSEmmanuel Vadot '#interrupt-cells': 27*ae5de77eSEmmanuel Vadot description: > 28*ae5de77eSEmmanuel Vadot <1st-cell>: The interrupt-number that identifies the interrupt source. 29*ae5de77eSEmmanuel Vadot 0-7: Peripheral interrupts 30*ae5de77eSEmmanuel Vadot 8-15: SysWake interrupts 31*ae5de77eSEmmanuel Vadot 32*ae5de77eSEmmanuel Vadot <2nd-cell>: The level-sense information, encoded using the Linux interrupt 33*ae5de77eSEmmanuel Vadot flags as follows (only 4 valid for peripheral interrupts): 34*ae5de77eSEmmanuel Vadot 0 = none (decided by software) 35*ae5de77eSEmmanuel Vadot 1 = low-to-high edge triggered 36*ae5de77eSEmmanuel Vadot 2 = high-to-low edge triggered 37*ae5de77eSEmmanuel Vadot 3 = both edge triggered 38*ae5de77eSEmmanuel Vadot 4 = active-high level-sensitive (required for perip irqs) 39*ae5de77eSEmmanuel Vadot 8 = active-low level-sensitive 40*ae5de77eSEmmanuel Vadot const: 2 41*ae5de77eSEmmanuel Vadot 42*ae5de77eSEmmanuel Vadot num-perips: 43*ae5de77eSEmmanuel Vadot description: Number of waking peripherals 44*ae5de77eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 45*ae5de77eSEmmanuel Vadot maximum: 8 46*ae5de77eSEmmanuel Vadot 47*ae5de77eSEmmanuel Vadot num-syswakes: 48*ae5de77eSEmmanuel Vadot description: Number of SysWake inputs 49*ae5de77eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 50*ae5de77eSEmmanuel Vadot maximum: 8 51*ae5de77eSEmmanuel Vadot 52*ae5de77eSEmmanuel Vadot interrupts: 53*ae5de77eSEmmanuel Vadot description: 54*ae5de77eSEmmanuel Vadot First entry is syswake IRQ. Subsequent entries are 1 per peripheral. 55*ae5de77eSEmmanuel Vadot minItems: 2 56*ae5de77eSEmmanuel Vadot maxItems: 9 57*ae5de77eSEmmanuel Vadot 58*ae5de77eSEmmanuel Vadotrequired: 59*ae5de77eSEmmanuel Vadot - compatible 60*ae5de77eSEmmanuel Vadot - reg 61*ae5de77eSEmmanuel Vadot - interrupt-controller 62*ae5de77eSEmmanuel Vadot - '#interrupt-cells' 63*ae5de77eSEmmanuel Vadot - num-perips 64*ae5de77eSEmmanuel Vadot - num-syswakes 65*ae5de77eSEmmanuel Vadot - interrupts 66*ae5de77eSEmmanuel Vadot 67*ae5de77eSEmmanuel VadotadditionalProperties: false 68*ae5de77eSEmmanuel Vadot 69*ae5de77eSEmmanuel Vadotexamples: 70*ae5de77eSEmmanuel Vadot - | 71*ae5de77eSEmmanuel Vadot interrupt-controller@2006000 { 72*ae5de77eSEmmanuel Vadot compatible = "img,pdc-intc"; 73*ae5de77eSEmmanuel Vadot reg = <0x02006000 0x1000>; 74*ae5de77eSEmmanuel Vadot interrupts = <18 4>, <30 4>, <29 4>, <31 4>; 75*ae5de77eSEmmanuel Vadot interrupt-controller; 76*ae5de77eSEmmanuel Vadot #interrupt-cells = <2>; 77*ae5de77eSEmmanuel Vadot num-perips = <3>; 78*ae5de77eSEmmanuel Vadot num-syswakes = <4>; 79*ae5de77eSEmmanuel Vadot }; 80