diff --git a/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt index e08cf49dec42..01a587341449 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt @@ -16,6 +16,7 @@ Required properties: “amlogic,meson-gxl-gpio-intc” for GXL SoCs (S905X, S912) or “amlogic,meson-axg-gpio-intc” for AXG SoCs (A113G, A113D) or “amlogic,meson-txlx-gpio-intc” for TXLX SoCs (T962X, T962E) + “amlogic,meson-g12a-gpio-intc” for G12A SoCs (S905D2, S905X2, S905Y2) - interrupt-parent : a phandle to the GIC the interrupts are routed to. Usually this is provided at the root level of the device tree as it is common to most of the SoC. diff --git a/arch/arm64/boot/dts/amlogic/mesong12a.dtsi b/arch/arm64/boot/dts/amlogic/mesong12a.dtsi index 68e820f7d513..9cfb63b9616d 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12a.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12a.dtsi @@ -211,6 +211,17 @@ #size-cells = <2>; ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x26000>; + gpio_intc: interrupt-controller@f080 { + compatible = "amlogic,meson-gpio-intc", + "amlogic,meson-g12a-gpio-intc"; + reg = <0x0 0xf080 0x0 0x10>; + interrupt-controller; + #interrupt-cells = <2>; + amlogic,channel-interrupts = + <64 65 66 67 68 69 70 71>; + status = "okay"; + }; + meson_clk_msr { compatible = "amlogic, gxl_measure"; reg = <0x0 0x18004 0x0 0x4 diff --git a/drivers/amlogic/irqchip/irq-meson-gpio.c b/drivers/amlogic/irqchip/irq-meson-gpio.c index 2ad3125779bd..a9719c4b7971 100644 --- a/drivers/amlogic/irqchip/irq-meson-gpio.c +++ b/drivers/amlogic/irqchip/irq-meson-gpio.c @@ -71,6 +71,10 @@ static const struct meson_gpio_irq_params txlx_params = { .nr_hwirq = 119, }; +static const struct meson_gpio_irq_params g12a_params = { + .nr_hwirq = 100, +}; + static const struct of_device_id meson_irq_gpio_matches[] = { { .compatible = "amlogic,meson8-gpio-intc", .data = &meson8_params }, { .compatible = "amlogic,meson8b-gpio-intc", .data = &meson8b_params }, @@ -78,6 +82,7 @@ static const struct of_device_id meson_irq_gpio_matches[] = { { .compatible = "amlogic,meson-gxl-gpio-intc", .data = &gxl_params }, { .compatible = "amlogic,meson-axg-gpio-intc", .data = &axg_params }, { .compatible = "amlogic,meson-txlx-gpio-intc", .data = &txlx_params }, + { .compatible = "amlogic,meson-g12a-gpio-intc", .data = &g12a_params }, { } };