xref: /linux/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.yaml (revision a9fc2304972b1db28b88af8203dffef23e1e92ba)
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
38*40f41524SXianwei Zhao              - amlogic,a4-gpio-intc
39*40f41524SXianwei Zhao              - amlogic,a4-gpio-ao-intc
40*40f41524SXianwei Zhao              - amlogic,a5-gpio-intc
412b709c67SHuqiang Qin              - amlogic,c3-gpio-intc
424a0705bbSHuqiang Qin              - amlogic,t7-gpio-intc
436b0139b3SHeiner Kallweit          - const: amlogic,meson-gpio-intc
446b0139b3SHeiner Kallweit
456b0139b3SHeiner Kallweit  reg:
466b0139b3SHeiner Kallweit    maxItems: 1
476b0139b3SHeiner Kallweit
486b0139b3SHeiner Kallweit  interrupt-controller: true
496b0139b3SHeiner Kallweit
506b0139b3SHeiner Kallweit  "#interrupt-cells":
516b0139b3SHeiner Kallweit    const: 2
526b0139b3SHeiner Kallweit
536b0139b3SHeiner Kallweit  amlogic,channel-interrupts:
546b0139b3SHeiner Kallweit    description: Array with the upstream hwirq numbers
55*40f41524SXianwei Zhao    minItems: 2
566b0139b3SHeiner Kallweit    maxItems: 12
576b0139b3SHeiner Kallweit    $ref: /schemas/types.yaml#/definitions/uint32-array
586b0139b3SHeiner Kallweit
596b0139b3SHeiner Kallweitrequired:
606b0139b3SHeiner Kallweit  - compatible
616b0139b3SHeiner Kallweit  - reg
626b0139b3SHeiner Kallweit  - interrupt-controller
636b0139b3SHeiner Kallweit  - "#interrupt-cells"
646b0139b3SHeiner Kallweit  - amlogic,channel-interrupts
656b0139b3SHeiner Kallweit
66*40f41524SXianwei Zhaoif:
67*40f41524SXianwei Zhao  properties:
68*40f41524SXianwei Zhao    compatible:
69*40f41524SXianwei Zhao      contains:
70*40f41524SXianwei Zhao        const: amlogic,a4-gpio-ao-intc
71*40f41524SXianwei Zhaothen:
72*40f41524SXianwei Zhao  properties:
73*40f41524SXianwei Zhao    amlogic,channel-interrupts:
74*40f41524SXianwei Zhao      maxItems: 2
75*40f41524SXianwei Zhaoelse:
76*40f41524SXianwei Zhao  properties:
77*40f41524SXianwei Zhao    amlogic,channel-interrupts:
78*40f41524SXianwei Zhao      minItems: 8
79*40f41524SXianwei Zhao
806b0139b3SHeiner KallweitadditionalProperties: false
816b0139b3SHeiner Kallweit
826b0139b3SHeiner Kallweitexamples:
836b0139b3SHeiner Kallweit  - |
846b0139b3SHeiner Kallweit    interrupt-controller@9880 {
856b0139b3SHeiner Kallweit      compatible = "amlogic,meson-gxbb-gpio-intc",
866b0139b3SHeiner Kallweit                   "amlogic,meson-gpio-intc";
876b0139b3SHeiner Kallweit      reg = <0x9880 0x10>;
886b0139b3SHeiner Kallweit      interrupt-controller;
896b0139b3SHeiner Kallweit      #interrupt-cells = <2>;
906b0139b3SHeiner Kallweit      amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
916b0139b3SHeiner Kallweit    };
92