From f595962f0358f60bf55ade6b014bae841020da28 Mon Sep 17 00:00:00 2001 From: Xingyu Chen Date: Tue, 2 Jan 2018 12:01:40 +0800 Subject: [PATCH] irqchip: add gpio IRQ support for g12a PD#156734: irqchip: add gpio IRQ support for g12a Change-Id: I6eac421ca9ac9d908f3c52f0417da32fdde74c57 Signed-off-by: Xingyu Chen --- .../interrupt-controller/amlogic,meson-gpio-intc.txt | 1 + arch/arm64/boot/dts/amlogic/mesong12a.dtsi | 11 +++++++++++ drivers/amlogic/irqchip/irq-meson-gpio.c | 5 +++++ 3 files changed, 17 insertions(+) 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 }, { } };