]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
irqchip/meson-gpio: Add support for Amlogic S6 S7 and S7D SoCs
authorXianwei Zhao <xianwei.zhao@amlogic.com>
Wed, 5 Nov 2025 09:45:33 +0000 (17:45 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 13 Nov 2025 13:04:16 +0000 (14:04 +0100)
The Amlogic S6/S7/S7D SoCs support GPIO interrupt lines:

    S6 IRQ Number:
    - 99:98    2 pins on bank CC
    - 97       1 pin  on bank TESTN
    - 96:81   16 pins on bank A
    - 80:65   16 pins on bank Z
    - 64:45   20 pins on bank X
    - 44:37    8 pins on bank H offs H1
    - 36:32    5 pins on bank F
    - 31:25    7 pins on bank D
    - 24:22    3 pins on bank E
    - 21:14    8 pins on bank C
    - 13:0    14 pins on bank B

    S7 IRQ Number:
    - 83:82    2 pins on bank CC
    - 81       1 pin  on bank TESTN
    - 80:68   13 pins on bank Z
    - 67:48   20 pins on bank X
    - 47:36   12 pins on bank H
    - 35:24   12 pins on bank D
    - 23:22    2 pins on bank E
    - 21:14    8 pins on bank C
    - 13:0    14 pins on bank B

    S7D IRQ Number:
    - 83:82    2 pins on bank CC
    - 81:75    7 pins on bank DV
    - 74       1 pin  on bank TESTN
    - 73:61   13 pins on bank Z
    - 60:41   20 pins on bank X
    - 40:29   12 pins on bank H
    - 28:24    5 pins on bank D
    - 23:22    2 pins on bank E
    - 21:14    8 pins on bank C
    - 13:0    14 pins on bank B

Add the required compatibles and interrupt count initializers.

Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251105-irqchip-gpio-s6-s7-s7d-v1-2-b4d1fe4781c1@amlogic.com
drivers/irqchip/irq-meson-gpio.c

index 6c5e2ff0d1cfa12265d80a00427fdebbeca55309..3fcbb044ae60f4986772d4761b65ee316337f148 100644 (file)
@@ -174,6 +174,14 @@ static const struct meson_gpio_irq_params s4_params = {
        INIT_MESON_S4_COMMON_DATA(82)
 };
 
+static const struct meson_gpio_irq_params s6_params = {
+       INIT_MESON_S4_COMMON_DATA(100)
+};
+
+static const struct meson_gpio_irq_params s7_params = {
+       INIT_MESON_S4_COMMON_DATA(84)
+};
+
 static const struct meson_gpio_irq_params c3_params = {
        INIT_MESON_S4_COMMON_DATA(55)
 };
@@ -195,6 +203,9 @@ static const struct of_device_id meson_irq_gpio_matches[] __maybe_unused = {
        { .compatible = "amlogic,a4-gpio-ao-intc", .data = &a4_ao_params },
        { .compatible = "amlogic,a4-gpio-intc", .data = &a4_params },
        { .compatible = "amlogic,a5-gpio-intc", .data = &a5_params },
+       { .compatible = "amlogic,s6-gpio-intc", .data = &s6_params },
+       { .compatible = "amlogic,s7-gpio-intc", .data = &s7_params },
+       { .compatible = "amlogic,s7d-gpio-intc", .data = &s7_params },
        { .compatible = "amlogic,c3-gpio-intc", .data = &c3_params },
        { .compatible = "amlogic,t7-gpio-intc", .data = &t7_params },
        { }