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