xref: /linux/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interrupt-controller/realtek,rtl-intc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Realtek RTL SoC interrupt controller
8
9description:
10  Interrupt controller and router for Realtek MIPS SoCs, allowing each SoC
11  interrupt to be routed to one parent CPU (hardware) interrupt, or left
12  disconnected.
13  All connected input lines from SoC peripherals can be masked individually,
14  and an interrupt status register is present to indicate which interrupts are
15  pending.
16
17maintainers:
18  - Birger Koblitz <mail@birger-koblitz.de>
19  - Bert Vermeulen <bert@biot.com>
20  - John Crispin <john@phrozen.org>
21
22properties:
23  compatible:
24    oneOf:
25      - items:
26          - enum:
27              - realtek,rtl8380-intc
28              - realtek,rtl9300-intc
29          - const: realtek,rtl-intc
30      - const: realtek,rtl-intc
31        deprecated: true
32
33  "#interrupt-cells":
34    description:
35      SoC interrupt line index.
36    const: 1
37
38  reg:
39    minItems: 1
40    items:
41      - description: vpe0 registers
42      - description: vpe1 registers
43
44  interrupts:
45    minItems: 1
46    maxItems: 15
47    description:
48      List of parent interrupts, in the order that they are connected to this
49      interrupt router's outputs, starting at the first output.
50
51  interrupt-controller: true
52
53  interrupt-map:
54    deprecated: true
55    description: Describes mapping from SoC interrupts to CPU interrupts
56
57required:
58  - compatible
59  - reg
60  - "#interrupt-cells"
61  - interrupt-controller
62
63allOf:
64  - if:
65      properties:
66        compatible:
67          const: realtek,rtl-intc
68    then:
69      properties:
70        "#address-cells":
71          const: 0
72      required:
73        - "#address-cells"
74        - interrupt-map
75    else:
76      required:
77        - interrupts
78  - if:
79      properties:
80        compatible:
81          contains:
82            const: realtek,rtl9300-intc
83    then:
84      properties:
85        reg:
86          minItems: 2
87          maxItems: 2
88    else:
89      properties:
90        reg:
91          maxItems: 1
92
93additionalProperties: false
94
95examples:
96  - |
97    interrupt-controller@3000 {
98      compatible = "realtek,rtl8380-intc", "realtek,rtl-intc";
99      #interrupt-cells = <1>;
100      interrupt-controller;
101      reg = <0x3000 0x18>;
102
103      interrupt-parent = <&cpuintc>;
104      interrupts = <2>, <3>, <4>, <5>, <6>;
105    };
106