xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/amlogic,meson-gpio-intc.txt (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
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