summaryrefslogtreecommitdiff
authorQianggui Song <qianggui.song@amlogic.com>2019-03-23 04:05:54 (GMT)
committer Jianxiong Pan <jianxiong.pan@amlogic.com>2019-04-11 03:02:45 (GMT)
commitc6d7fadb53b10e97808f3f529a77ad0b89d1c193 (patch)
treeab23cae04a9dbb27a8893b5a356b098a31b2b585
parent573c005b4e09d11092c1956f01b842070bd3ab82 (diff)
downloadcommon-c6d7fadb53b10e97808f3f529a77ad0b89d1c193.zip
common-c6d7fadb53b10e97808f3f529a77ad0b89d1c193.tar.gz
common-c6d7fadb53b10e97808f3f529a77ad0b89d1c193.tar.bz2
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 <qianggui.song@amlogic.com>
Diffstat
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt1
-rw-r--r--arch/arm/boot/dts/amlogic/mesontm2.dtsi2
-rw-r--r--arch/arm64/boot/dts/amlogic/mesontm2.dtsi2
-rw-r--r--drivers/amlogic/irqchip/irq-meson-gpio.c6
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 },
{ }
};