xref: /linux/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.yaml (revision 4a0705bb83d6edc7207e94d8d07ba5e5c27814b8)
16b0139b3SHeiner Kallweit# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26b0139b3SHeiner Kallweit%YAML 1.2
36b0139b3SHeiner Kallweit---
46b0139b3SHeiner Kallweit$id: http://devicetree.org/schemas/interrupt-controller/amlogic,meson-gpio-intc.yaml#
56b0139b3SHeiner Kallweit$schema: http://devicetree.org/meta-schemas/core.yaml#
66b0139b3SHeiner Kallweit
76b0139b3SHeiner Kallweittitle: Amlogic Meson GPIO interrupt controller
86b0139b3SHeiner Kallweit
96b0139b3SHeiner Kallweitmaintainers:
106b0139b3SHeiner Kallweit  - Heiner Kallweit <hkallweit1@gmail.com>
116b0139b3SHeiner Kallweit
126b0139b3SHeiner Kallweitdescription: |
136b0139b3SHeiner Kallweit  Meson SoCs contains an interrupt controller which is able to watch the SoC
146b0139b3SHeiner Kallweit  pads and generate an interrupt on edge or level. The controller is essentially
156b0139b3SHeiner Kallweit  a 256 pads to 8 or 12 GIC interrupt multiplexer, with a filter block to select
166b0139b3SHeiner Kallweit  edge or level and polarity. It does not expose all 256 mux inputs because the
176b0139b3SHeiner Kallweit  documentation shows that the upper part is not mapped to any pad. The actual
186b0139b3SHeiner Kallweit  number of interrupts exposed depends on the SoC.
196b0139b3SHeiner Kallweit
206b0139b3SHeiner KallweitallOf:
216b0139b3SHeiner Kallweit  - $ref: /schemas/interrupt-controller.yaml#
226b0139b3SHeiner Kallweit
236b0139b3SHeiner Kallweitproperties:
246b0139b3SHeiner Kallweit  compatible:
256b0139b3SHeiner Kallweit    oneOf:
266b0139b3SHeiner Kallweit      - const: amlogic,meson-gpio-intc
276b0139b3SHeiner Kallweit      - items:
286b0139b3SHeiner Kallweit          - enum:
296b0139b3SHeiner Kallweit              - amlogic,meson8-gpio-intc
306b0139b3SHeiner Kallweit              - amlogic,meson8b-gpio-intc
316b0139b3SHeiner Kallweit              - amlogic,meson-gxbb-gpio-intc
326b0139b3SHeiner Kallweit              - amlogic,meson-gxl-gpio-intc
336b0139b3SHeiner Kallweit              - amlogic,meson-axg-gpio-intc
346b0139b3SHeiner Kallweit              - amlogic,meson-g12a-gpio-intc
356b0139b3SHeiner Kallweit              - amlogic,meson-sm1-gpio-intc
366b0139b3SHeiner Kallweit              - amlogic,meson-a1-gpio-intc
376b0139b3SHeiner Kallweit              - amlogic,meson-s4-gpio-intc
382b709c67SHuqiang Qin              - amlogic,c3-gpio-intc
39*4a0705bbSHuqiang Qin              - amlogic,t7-gpio-intc
406b0139b3SHeiner Kallweit          - const: amlogic,meson-gpio-intc
416b0139b3SHeiner Kallweit
426b0139b3SHeiner Kallweit  reg:
436b0139b3SHeiner Kallweit    maxItems: 1
446b0139b3SHeiner Kallweit
456b0139b3SHeiner Kallweit  interrupt-controller: true
466b0139b3SHeiner Kallweit
476b0139b3SHeiner Kallweit  "#interrupt-cells":
486b0139b3SHeiner Kallweit    const: 2
496b0139b3SHeiner Kallweit
506b0139b3SHeiner Kallweit  amlogic,channel-interrupts:
516b0139b3SHeiner Kallweit    description: Array with the upstream hwirq numbers
526b0139b3SHeiner Kallweit    minItems: 8
536b0139b3SHeiner Kallweit    maxItems: 12
546b0139b3SHeiner Kallweit    $ref: /schemas/types.yaml#/definitions/uint32-array
556b0139b3SHeiner Kallweit
566b0139b3SHeiner Kallweitrequired:
576b0139b3SHeiner Kallweit  - compatible
586b0139b3SHeiner Kallweit  - reg
596b0139b3SHeiner Kallweit  - interrupt-controller
606b0139b3SHeiner Kallweit  - "#interrupt-cells"
616b0139b3SHeiner Kallweit  - amlogic,channel-interrupts
626b0139b3SHeiner Kallweit
636b0139b3SHeiner KallweitadditionalProperties: false
646b0139b3SHeiner Kallweit
656b0139b3SHeiner Kallweitexamples:
666b0139b3SHeiner Kallweit  - |
676b0139b3SHeiner Kallweit    interrupt-controller@9880 {
686b0139b3SHeiner Kallweit      compatible = "amlogic,meson-gxbb-gpio-intc",
696b0139b3SHeiner Kallweit                   "amlogic,meson-gpio-intc";
706b0139b3SHeiner Kallweit      reg = <0x9880 0x10>;
716b0139b3SHeiner Kallweit      interrupt-controller;
726b0139b3SHeiner Kallweit      #interrupt-cells = <2>;
736b0139b3SHeiner Kallweit      amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
746b0139b3SHeiner Kallweit    };
75