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