blob: a93744763787d0b901e530d7e13eea8682ae8c2b [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interrupt-controller/amlogic,meson-gpio-intc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Amlogic Meson GPIO interrupt controller
8
9maintainers:
10 - Heiner Kallweit <hkallweit1@gmail.com>
11
12description: |
13 Meson SoCs contains an interrupt controller which is able to watch the SoC
14 pads and generate an interrupt on edge or level. The controller is essentially
15 a 256 pads to 8 or 12 GIC interrupt multiplexer, with a filter block to select
16 edge or level and polarity. It does not expose all 256 mux inputs because the
17 documentation shows that the upper part is not mapped to any pad. The actual
18 number of interrupts exposed depends on the SoC.
19
20allOf:
21 - $ref: /schemas/interrupt-controller.yaml#
22
23properties:
24 compatible:
25 oneOf:
26 - const: amlogic,meson-gpio-intc
27 - items:
28 - enum:
29 - amlogic,meson8-gpio-intc
30 - amlogic,meson8b-gpio-intc
31 - amlogic,meson-gxbb-gpio-intc
32 - amlogic,meson-gxl-gpio-intc
33 - amlogic,meson-axg-gpio-intc
34 - amlogic,meson-g12a-gpio-intc
35 - amlogic,meson-sm1-gpio-intc
36 - amlogic,meson-a1-gpio-intc
37 - amlogic,meson-s4-gpio-intc
38 - amlogic,c3-gpio-intc
Tom Rini6bb92fc2024-05-20 09:54:58 -060039 - amlogic,t7-gpio-intc
Tom Rini53633a82024-02-29 12:33:36 -050040 - const: amlogic,meson-gpio-intc
41
42 reg:
43 maxItems: 1
44
45 interrupt-controller: true
46
47 "#interrupt-cells":
48 const: 2
49
50 amlogic,channel-interrupts:
51 description: Array with the upstream hwirq numbers
52 minItems: 8
53 maxItems: 12
54 $ref: /schemas/types.yaml#/definitions/uint32-array
55
56required:
57 - compatible
58 - reg
59 - interrupt-controller
60 - "#interrupt-cells"
61 - amlogic,channel-interrupts
62
63additionalProperties: false
64
65examples:
66 - |
67 interrupt-controller@9880 {
68 compatible = "amlogic,meson-gxbb-gpio-intc",
69 "amlogic,meson-gpio-intc";
70 reg = <0x9880 0x10>;
71 interrupt-controller;
72 #interrupt-cells = <2>;
73 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
74 };