From c6d7fadb53b10e97808f3f529a77ad0b89d1c193 Mon Sep 17 00:00:00 2001 From: Qianggui Song Date: Sat, 23 Mar 2019 12:05:54 +0800 Subject: [PATCH] irqchip: tm2 irqchip support [1/1] PD#SWPL-5651 Problem: tm2 has 2 extra pins than tl1, should use new param data Solution: add tm2 param data Verify: T962e2_ab319 Change-Id: I77aaaead7b10024cd5f12354ba6b47db74ba96f5 Signed-off-by: Qianggui Song --- .../bindings/interrupt-controller/amlogic,meson-gpio-intc.txt | 1 + arch/arm/boot/dts/amlogic/mesontm2.dtsi | 2 +- arch/arm64/boot/dts/amlogic/mesontm2.dtsi | 2 +- drivers/amlogic/irqchip/irq-meson-gpio.c | 6 ++++++ 4 files changed, 9 insertions(+), 2 deletions(-) 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 3f305fd..ec06f87 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt @@ -20,6 +20,7 @@ Required properties: “amlogic,meson-txl-gpio-intc” for TXL SoCs (T950, T952, T960, T962) “amlogic,meson-tl1-gpio-intc” for TL1 SoCs (T962X2) “amlogic,meson-sm1-gpio-intc” for SM1 SoCs (S905D3, S905X3, S905Y3) + “amlogic,meson-tm2-gpio-intc” for TM2 SoCs (T962X3, T962E2) - 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/arm/boot/dts/amlogic/mesontm2.dtsi b/arch/arm/boot/dts/amlogic/mesontm2.dtsi index c4b7481..b49cfbe 100644 --- a/arch/arm/boot/dts/amlogic/mesontm2.dtsi +++ b/arch/arm/boot/dts/amlogic/mesontm2.dtsi @@ -758,7 +758,7 @@ gpio_intc: interrupt-controller@f080 { compatible = "amlogic,meson-gpio-intc", - "amlogic,meson-tl1-gpio-intc"; + "amlogic,meson-tm2-gpio-intc"; reg = <0xf080 0x10>; interrupt-controller; #interrupt-cells = <2>; diff --git a/arch/arm64/boot/dts/amlogic/mesontm2.dtsi b/arch/arm64/boot/dts/amlogic/mesontm2.dtsi index 99dda64..c5c1d28 100644 --- a/arch/arm64/boot/dts/amlogic/mesontm2.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesontm2.dtsi @@ -740,7 +740,7 @@ gpio_intc: interrupt-controller@f080 { compatible = "amlogic,meson-gpio-intc", - "amlogic,meson-tl1-gpio-intc"; + "amlogic,meson-tm2-gpio-intc"; reg = <0x0 0xf080 0x0 0x10>; interrupt-controller; #interrupt-cells = <2>; diff --git a/drivers/amlogic/irqchip/irq-meson-gpio.c b/drivers/amlogic/irqchip/irq-meson-gpio.c index d353df4..b1d1504 100644 --- a/drivers/amlogic/irqchip/irq-meson-gpio.c +++ b/drivers/amlogic/irqchip/irq-meson-gpio.c @@ -90,6 +90,11 @@ static const struct meson_gpio_irq_params sm1_params = { .support_double_edge = 1, }; +static const struct meson_gpio_irq_params tm2_params = { + .nr_hwirq = 104, + .support_double_edge = 1, +}; + 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 }, @@ -101,6 +106,7 @@ static const struct of_device_id meson_irq_gpio_matches[] = { { .compatible = "amlogic,meson-txl-gpio-intc", .data = &txl_params }, { .compatible = "amlogic,meson-tl1-gpio-intc", .data = &tl1_params }, { .compatible = "amlogic,meson-sm1-gpio-intc", .data = &sm1_params }, + { .compatible = "amlogic,meson-tm2-gpio-intc", .data = &tm2_params }, { } }; -- 2.7.4