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