xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/realtek,rtl-intc.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/realtek,rtl-intc.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Realtek RTL SoC interrupt controller
85def4c47SEmmanuel Vadot
97ef62cebSEmmanuel Vadotdescription:
107ef62cebSEmmanuel Vadot  Interrupt controller and router for Realtek MIPS SoCs, allowing each SoC
117ef62cebSEmmanuel Vadot  interrupt to be routed to one parent CPU (hardware) interrupt, or left
127ef62cebSEmmanuel Vadot  disconnected.
137ef62cebSEmmanuel Vadot  All connected input lines from SoC peripherals can be masked individually,
147ef62cebSEmmanuel Vadot  and an interrupt status register is present to indicate which interrupts are
157ef62cebSEmmanuel Vadot  pending.
167ef62cebSEmmanuel Vadot
175def4c47SEmmanuel Vadotmaintainers:
185def4c47SEmmanuel Vadot  - Birger Koblitz <mail@birger-koblitz.de>
195def4c47SEmmanuel Vadot  - Bert Vermeulen <bert@biot.com>
205def4c47SEmmanuel Vadot  - John Crispin <john@phrozen.org>
215def4c47SEmmanuel Vadot
225def4c47SEmmanuel Vadotproperties:
235def4c47SEmmanuel Vadot  compatible:
247ef62cebSEmmanuel Vadot    oneOf:
257ef62cebSEmmanuel Vadot      - items:
267ef62cebSEmmanuel Vadot          - enum:
277ef62cebSEmmanuel Vadot              - realtek,rtl8380-intc
28*0e8011faSEmmanuel Vadot              - realtek,rtl9300-intc
297ef62cebSEmmanuel Vadot          - const: realtek,rtl-intc
307ef62cebSEmmanuel Vadot      - const: realtek,rtl-intc
317ef62cebSEmmanuel Vadot        deprecated: true
325def4c47SEmmanuel Vadot
335def4c47SEmmanuel Vadot  "#interrupt-cells":
347ef62cebSEmmanuel Vadot    description:
357ef62cebSEmmanuel Vadot      SoC interrupt line index.
365def4c47SEmmanuel Vadot    const: 1
375def4c47SEmmanuel Vadot
385def4c47SEmmanuel Vadot  reg:
39*0e8011faSEmmanuel Vadot    minItems: 1
40*0e8011faSEmmanuel Vadot    items:
41*0e8011faSEmmanuel Vadot      - description: vpe0 registers
42*0e8011faSEmmanuel Vadot      - description: vpe1 registers
435def4c47SEmmanuel Vadot
445def4c47SEmmanuel Vadot  interrupts:
457ef62cebSEmmanuel Vadot    minItems: 1
467ef62cebSEmmanuel Vadot    maxItems: 15
477ef62cebSEmmanuel Vadot    description:
487ef62cebSEmmanuel Vadot      List of parent interrupts, in the order that they are connected to this
497ef62cebSEmmanuel Vadot      interrupt router's outputs, starting at the first output.
505def4c47SEmmanuel Vadot
515def4c47SEmmanuel Vadot  interrupt-controller: true
525def4c47SEmmanuel Vadot
535def4c47SEmmanuel Vadot  interrupt-map:
547ef62cebSEmmanuel Vadot    deprecated: true
555def4c47SEmmanuel Vadot    description: Describes mapping from SoC interrupts to CPU interrupts
565def4c47SEmmanuel Vadot
575def4c47SEmmanuel Vadotrequired:
585def4c47SEmmanuel Vadot  - compatible
595def4c47SEmmanuel Vadot  - reg
605def4c47SEmmanuel Vadot  - "#interrupt-cells"
615def4c47SEmmanuel Vadot  - interrupt-controller
627ef62cebSEmmanuel Vadot
637ef62cebSEmmanuel VadotallOf:
647ef62cebSEmmanuel Vadot  - if:
657ef62cebSEmmanuel Vadot      properties:
667ef62cebSEmmanuel Vadot        compatible:
677ef62cebSEmmanuel Vadot          const: realtek,rtl-intc
687ef62cebSEmmanuel Vadot    then:
697ef62cebSEmmanuel Vadot      properties:
707ef62cebSEmmanuel Vadot        "#address-cells":
717ef62cebSEmmanuel Vadot          const: 0
727ef62cebSEmmanuel Vadot      required:
735def4c47SEmmanuel Vadot        - "#address-cells"
745def4c47SEmmanuel Vadot        - interrupt-map
757ef62cebSEmmanuel Vadot    else:
767ef62cebSEmmanuel Vadot      required:
777ef62cebSEmmanuel Vadot        - interrupts
78*0e8011faSEmmanuel Vadot  - if:
79*0e8011faSEmmanuel Vadot      properties:
80*0e8011faSEmmanuel Vadot        compatible:
81*0e8011faSEmmanuel Vadot          contains:
82*0e8011faSEmmanuel Vadot            const: realtek,rtl9300-intc
83*0e8011faSEmmanuel Vadot    then:
84*0e8011faSEmmanuel Vadot      properties:
85*0e8011faSEmmanuel Vadot        reg:
86*0e8011faSEmmanuel Vadot          minItems: 2
87*0e8011faSEmmanuel Vadot          maxItems: 2
88*0e8011faSEmmanuel Vadot    else:
89*0e8011faSEmmanuel Vadot      properties:
90*0e8011faSEmmanuel Vadot        reg:
91*0e8011faSEmmanuel Vadot          maxItems: 1
925def4c47SEmmanuel Vadot
935def4c47SEmmanuel VadotadditionalProperties: false
945def4c47SEmmanuel Vadot
955def4c47SEmmanuel Vadotexamples:
965def4c47SEmmanuel Vadot  - |
977ef62cebSEmmanuel Vadot    interrupt-controller@3000 {
987ef62cebSEmmanuel Vadot      compatible = "realtek,rtl8380-intc", "realtek,rtl-intc";
995def4c47SEmmanuel Vadot      #interrupt-cells = <1>;
1005def4c47SEmmanuel Vadot      interrupt-controller;
1017ef62cebSEmmanuel Vadot      reg = <0x3000 0x18>;
1027ef62cebSEmmanuel Vadot
1037ef62cebSEmmanuel Vadot      interrupt-parent = <&cpuintc>;
1047ef62cebSEmmanuel Vadot      interrupts = <2>, <3>, <4>, <5>, <6>;
1055def4c47SEmmanuel Vadot    };
106