1# 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,a4-gpio-intc 39 - amlogic,a4-gpio-ao-intc 40 - amlogic,a5-gpio-intc 41 - amlogic,a9-gpio-intc 42 - amlogic,a9-gpio-ao-intc 43 - amlogic,c3-gpio-intc 44 - amlogic,s6-gpio-intc 45 - amlogic,s7-gpio-intc 46 - amlogic,s7d-gpio-intc 47 - amlogic,t7-gpio-intc 48 - const: amlogic,meson-gpio-intc 49 50 reg: 51 maxItems: 1 52 53 interrupt-controller: true 54 55 "#interrupt-cells": 56 const: 2 57 58 amlogic,channel-interrupts: 59 description: Array with the upstream hwirq numbers 60 minItems: 2 61 maxItems: 20 62 $ref: /schemas/types.yaml#/definitions/uint32-array 63 64required: 65 - compatible 66 - reg 67 - interrupt-controller 68 - "#interrupt-cells" 69 - amlogic,channel-interrupts 70 71if: 72 properties: 73 compatible: 74 contains: 75 const: amlogic,a4-gpio-ao-intc 76then: 77 properties: 78 amlogic,channel-interrupts: 79 maxItems: 2 80else: 81 if: 82 properties: 83 compatible: 84 contains: 85 const: amlogic,a9-gpio-ao-intc 86 then: 87 properties: 88 amlogic,channel-interrupts: 89 minItems: 20 90 else: 91 properties: 92 amlogic,channel-interrupts: 93 minItems: 8 94 maxItems: 12 95 96additionalProperties: false 97 98examples: 99 - | 100 interrupt-controller@9880 { 101 compatible = "amlogic,meson-gxbb-gpio-intc", 102 "amlogic,meson-gpio-intc"; 103 reg = <0x9880 0x10>; 104 interrupt-controller; 105 #interrupt-cells = <2>; 106 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>; 107 }; 108