1c66ec88fSEmmanuel VadotAmlogic meson GPIO interrupt controller 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotMeson SoCs contains an interrupt controller which is able to watch the SoC 4c66ec88fSEmmanuel Vadotpads and generate an interrupt on edge or level. The controller is essentially 5c66ec88fSEmmanuel Vadota 256 pads to 8 GIC interrupt multiplexer, with a filter block to select edge 6c66ec88fSEmmanuel Vadotor level and polarity. It does not expose all 256 mux inputs because the 7c66ec88fSEmmanuel Vadotdocumentation shows that the upper part is not mapped to any pad. The actual 8c66ec88fSEmmanuel Vadotnumber of interrupt exposed depends on the SoC. 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel VadotRequired properties: 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot- compatible : must have "amlogic,meson8-gpio-intc" and either 13c66ec88fSEmmanuel Vadot "amlogic,meson8-gpio-intc" for meson8 SoCs (S802) or 14c66ec88fSEmmanuel Vadot "amlogic,meson8b-gpio-intc" for meson8b SoCs (S805) or 15c66ec88fSEmmanuel Vadot "amlogic,meson-gxbb-gpio-intc" for GXBB SoCs (S905) or 16c66ec88fSEmmanuel Vadot "amlogic,meson-gxl-gpio-intc" for GXL SoCs (S905X, S912) 17c66ec88fSEmmanuel Vadot "amlogic,meson-axg-gpio-intc" for AXG SoCs (A113D, A113X) 18c66ec88fSEmmanuel Vadot "amlogic,meson-g12a-gpio-intc" for G12A SoCs (S905D2, S905X2, S905Y2) 19c66ec88fSEmmanuel Vadot "amlogic,meson-sm1-gpio-intc" for SM1 SoCs (S905D3, S905X3, S905Y3) 20c66ec88fSEmmanuel Vadot "amlogic,meson-a1-gpio-intc" for A1 SoCs (A113L) 21*c9ccf3a3SEmmanuel Vadot "amlogic,meson-s4-gpio-intc" for S4 SoCs (S802X2, S905Y4, S805X2G, S905W2) 22c66ec88fSEmmanuel Vadot- reg : Specifies base physical address and size of the registers. 23c66ec88fSEmmanuel Vadot- interrupt-controller : Identifies the node as an interrupt controller. 24c66ec88fSEmmanuel Vadot- #interrupt-cells : Specifies the number of cells needed to encode an 25c66ec88fSEmmanuel Vadot interrupt source. The value must be 2. 26c66ec88fSEmmanuel Vadot- meson,channel-interrupts: Array with the 8 upstream hwirq numbers. These 27c66ec88fSEmmanuel Vadot are the hwirqs used on the parent interrupt controller. 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel VadotExample: 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadotgpio_interrupt: interrupt-controller@9880 { 32c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxbb-gpio-intc", 33c66ec88fSEmmanuel Vadot "amlogic,meson-gpio-intc"; 34c66ec88fSEmmanuel Vadot reg = <0x0 0x9880 0x0 0x10>; 35c66ec88fSEmmanuel Vadot interrupt-controller; 36c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 37c66ec88fSEmmanuel Vadot meson,channel-interrupts = <64 65 66 67 68 69 70 71>; 38c66ec88fSEmmanuel Vadot}; 39