Documentation / devicetree / bindings / interrupt-controller / img,pdc-intc.yaml


Based on kernel version 6.16. Page generated on 2025-08-06 08:57 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/img,pdc-intc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ImgTec Powerdown Controller (PDC) Interrupt Controller

maintainers:
  - James Hogan <jhogan@kernel.org>

description:
  ImgTec Powerdown Controller (PDC) Interrupt Controller has a number of input
  interrupt lines which can wake the system, and are passed on through output
  interrupt lines.

properties:
  compatible:
    const: img,pdc-intc

  reg:
    maxItems: 1

  interrupt-controller: true
 
  '#interrupt-cells':
    description: >
      <1st-cell>: The interrupt-number that identifies the interrupt source.
        0-7:  Peripheral interrupts
        8-15: SysWake interrupts

      <2nd-cell>: The level-sense information, encoded using the Linux interrupt
        flags as follows (only 4 valid for peripheral interrupts):
        0 = none (decided by software)
        1 = low-to-high edge triggered
        2 = high-to-low edge triggered
        3 = both edge triggered
        4 = active-high level-sensitive (required for perip irqs)
        8 = active-low level-sensitive
    const: 2

  num-perips:
    description: Number of waking peripherals
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 8

  num-syswakes:
    description: Number of SysWake inputs
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 8

  interrupts:
    description:
      First entry is syswake IRQ. Subsequent entries are 1 per peripheral.
    minItems: 2
    maxItems: 9

required:
  - compatible
  - reg
  - interrupt-controller
  - '#interrupt-cells'
  - num-perips
  - num-syswakes
  - interrupts

additionalProperties: false

examples:
  - |
    interrupt-controller@2006000 {
        compatible = "img,pdc-intc";
        reg = <0x02006000 0x1000>;
        interrupts = <18 4>, <30 4>, <29 4>, <31 4>;
        interrupt-controller;
        #interrupt-cells = <2>;
        num-perips = <3>;
        num-syswakes = <4>;
    };