xref: /linux/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
14a2b92a5SBert Vermeulen# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
24a2b92a5SBert Vermeulen%YAML 1.2
34a2b92a5SBert Vermeulen---
44a2b92a5SBert Vermeulen$id: http://devicetree.org/schemas/interrupt-controller/realtek,rtl-intc.yaml#
54a2b92a5SBert Vermeulen$schema: http://devicetree.org/meta-schemas/core.yaml#
64a2b92a5SBert Vermeulen
7a612130cSKrzysztof Kozlowskititle: Realtek RTL SoC interrupt controller
84a2b92a5SBert Vermeulen
9a3e77b70SSander Vanheuledescription:
10a3e77b70SSander Vanheule  Interrupt controller and router for Realtek MIPS SoCs, allowing each SoC
11a3e77b70SSander Vanheule  interrupt to be routed to one parent CPU (hardware) interrupt, or left
12a3e77b70SSander Vanheule  disconnected.
13a3e77b70SSander Vanheule  All connected input lines from SoC peripherals can be masked individually,
14a3e77b70SSander Vanheule  and an interrupt status register is present to indicate which interrupts are
15a3e77b70SSander Vanheule  pending.
16a3e77b70SSander Vanheule
174a2b92a5SBert Vermeulenmaintainers:
184a2b92a5SBert Vermeulen  - Birger Koblitz <mail@birger-koblitz.de>
194a2b92a5SBert Vermeulen  - Bert Vermeulen <bert@biot.com>
204a2b92a5SBert Vermeulen  - John Crispin <john@phrozen.org>
214a2b92a5SBert Vermeulen
224a2b92a5SBert Vermeulenproperties:
234a2b92a5SBert Vermeulen  compatible:
24a3e77b70SSander Vanheule    oneOf:
25a3e77b70SSander Vanheule      - items:
26a3e77b70SSander Vanheule          - enum:
27a3e77b70SSander Vanheule              - realtek,rtl8380-intc
28*371c358dSChris Packham              - realtek,rtl9300-intc
29a3e77b70SSander Vanheule          - const: realtek,rtl-intc
30a3e77b70SSander Vanheule      - const: realtek,rtl-intc
31a3e77b70SSander Vanheule        deprecated: true
324a2b92a5SBert Vermeulen
334a2b92a5SBert Vermeulen  "#interrupt-cells":
34a3e77b70SSander Vanheule    description:
35a3e77b70SSander Vanheule      SoC interrupt line index.
364a2b92a5SBert Vermeulen    const: 1
374a2b92a5SBert Vermeulen
384a2b92a5SBert Vermeulen  reg:
39*371c358dSChris Packham    minItems: 1
40*371c358dSChris Packham    items:
41*371c358dSChris Packham      - description: vpe0 registers
42*371c358dSChris Packham      - description: vpe1 registers
434a2b92a5SBert Vermeulen
444a2b92a5SBert Vermeulen  interrupts:
45a3e77b70SSander Vanheule    minItems: 1
46a3e77b70SSander Vanheule    maxItems: 15
47a3e77b70SSander Vanheule    description:
48a3e77b70SSander Vanheule      List of parent interrupts, in the order that they are connected to this
49a3e77b70SSander Vanheule      interrupt router's outputs, starting at the first output.
504a2b92a5SBert Vermeulen
514a2b92a5SBert Vermeulen  interrupt-controller: true
524a2b92a5SBert Vermeulen
534a2b92a5SBert Vermeulen  interrupt-map:
54a3e77b70SSander Vanheule    deprecated: true
554a2b92a5SBert Vermeulen    description: Describes mapping from SoC interrupts to CPU interrupts
564a2b92a5SBert Vermeulen
574a2b92a5SBert Vermeulenrequired:
584a2b92a5SBert Vermeulen  - compatible
594a2b92a5SBert Vermeulen  - reg
604a2b92a5SBert Vermeulen  - "#interrupt-cells"
614a2b92a5SBert Vermeulen  - interrupt-controller
62a3e77b70SSander Vanheule
63a3e77b70SSander VanheuleallOf:
64a3e77b70SSander Vanheule  - if:
65a3e77b70SSander Vanheule      properties:
66a3e77b70SSander Vanheule        compatible:
67a3e77b70SSander Vanheule          const: realtek,rtl-intc
68a3e77b70SSander Vanheule    then:
69a3e77b70SSander Vanheule      properties:
70a3e77b70SSander Vanheule        "#address-cells":
71a3e77b70SSander Vanheule          const: 0
72a3e77b70SSander Vanheule      required:
734a2b92a5SBert Vermeulen        - "#address-cells"
744a2b92a5SBert Vermeulen        - interrupt-map
75a3e77b70SSander Vanheule    else:
76a3e77b70SSander Vanheule      required:
77a3e77b70SSander Vanheule        - interrupts
78*371c358dSChris Packham  - if:
79*371c358dSChris Packham      properties:
80*371c358dSChris Packham        compatible:
81*371c358dSChris Packham          contains:
82*371c358dSChris Packham            const: realtek,rtl9300-intc
83*371c358dSChris Packham    then:
84*371c358dSChris Packham      properties:
85*371c358dSChris Packham        reg:
86*371c358dSChris Packham          minItems: 2
87*371c358dSChris Packham          maxItems: 2
88*371c358dSChris Packham    else:
89*371c358dSChris Packham      properties:
90*371c358dSChris Packham        reg:
91*371c358dSChris Packham          maxItems: 1
924a2b92a5SBert Vermeulen
934a2b92a5SBert VermeulenadditionalProperties: false
944a2b92a5SBert Vermeulen
954a2b92a5SBert Vermeulenexamples:
964a2b92a5SBert Vermeulen  - |
97a3e77b70SSander Vanheule    interrupt-controller@3000 {
98a3e77b70SSander Vanheule      compatible = "realtek,rtl8380-intc", "realtek,rtl-intc";
994a2b92a5SBert Vermeulen      #interrupt-cells = <1>;
1004a2b92a5SBert Vermeulen      interrupt-controller;
101a3e77b70SSander Vanheule      reg = <0x3000 0x18>;
102a3e77b70SSander Vanheule
103a3e77b70SSander Vanheule      interrupt-parent = <&cpuintc>;
104a3e77b70SSander Vanheule      interrupts = <2>, <3>, <4>, <5>, <6>;
1054a2b92a5SBert Vermeulen    };
106