Commit 6f97dc8d authored by Maxime Ripard's avatar Maxime Ripard Committed by Olof Johansson

ARM: sun6i: dt: Fix interrupt trigger types

The Allwinner A31 uses the ARM GIC as its internal interrupts controller. The
GIC can work on several interrupt triggers, and the A31 was actually setting it
up to use a rising edge as a trigger, while it was actually a level high
trigger, leading to some interrupts that would be completely ignored if the
edge was missed.
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
Cc: stable@vger.kernel.org # 3.12+
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parent 378d0aee
...@@ -193,7 +193,10 @@ soc@01c00000 { ...@@ -193,7 +193,10 @@ soc@01c00000 {
pio: pinctrl@01c20800 { pio: pinctrl@01c20800 {
compatible = "allwinner,sun6i-a31-pinctrl"; compatible = "allwinner,sun6i-a31-pinctrl";
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupts = <0 11 1>, <0 15 1>, <0 16 1>, <0 17 1>; interrupts = <0 11 4>,
<0 15 4>,
<0 16 4>,
<0 17 4>;
clocks = <&apb1_gates 5>; clocks = <&apb1_gates 5>;
gpio-controller; gpio-controller;
interrupt-controller; interrupt-controller;
...@@ -212,11 +215,11 @@ uart0_pins_a: uart0@0 { ...@@ -212,11 +215,11 @@ uart0_pins_a: uart0@0 {
timer@01c20c00 { timer@01c20c00 {
compatible = "allwinner,sun4i-timer"; compatible = "allwinner,sun4i-timer";
reg = <0x01c20c00 0xa0>; reg = <0x01c20c00 0xa0>;
interrupts = <0 18 1>, interrupts = <0 18 4>,
<0 19 1>, <0 19 4>,
<0 20 1>, <0 20 4>,
<0 21 1>, <0 21 4>,
<0 22 1>; <0 22 4>;
clocks = <&osc24M>; clocks = <&osc24M>;
}; };
...@@ -228,7 +231,7 @@ wdt1: watchdog@01c20ca0 { ...@@ -228,7 +231,7 @@ wdt1: watchdog@01c20ca0 {
uart0: serial@01c28000 { uart0: serial@01c28000 {
compatible = "snps,dw-apb-uart"; compatible = "snps,dw-apb-uart";
reg = <0x01c28000 0x400>; reg = <0x01c28000 0x400>;
interrupts = <0 0 1>; interrupts = <0 0 4>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
clocks = <&apb2_gates 16>; clocks = <&apb2_gates 16>;
...@@ -238,7 +241,7 @@ uart0: serial@01c28000 { ...@@ -238,7 +241,7 @@ uart0: serial@01c28000 {
uart1: serial@01c28400 { uart1: serial@01c28400 {
compatible = "snps,dw-apb-uart"; compatible = "snps,dw-apb-uart";
reg = <0x01c28400 0x400>; reg = <0x01c28400 0x400>;
interrupts = <0 1 1>; interrupts = <0 1 4>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
clocks = <&apb2_gates 17>; clocks = <&apb2_gates 17>;
...@@ -248,7 +251,7 @@ uart1: serial@01c28400 { ...@@ -248,7 +251,7 @@ uart1: serial@01c28400 {
uart2: serial@01c28800 { uart2: serial@01c28800 {
compatible = "snps,dw-apb-uart"; compatible = "snps,dw-apb-uart";
reg = <0x01c28800 0x400>; reg = <0x01c28800 0x400>;
interrupts = <0 2 1>; interrupts = <0 2 4>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
clocks = <&apb2_gates 18>; clocks = <&apb2_gates 18>;
...@@ -258,7 +261,7 @@ uart2: serial@01c28800 { ...@@ -258,7 +261,7 @@ uart2: serial@01c28800 {
uart3: serial@01c28c00 { uart3: serial@01c28c00 {
compatible = "snps,dw-apb-uart"; compatible = "snps,dw-apb-uart";
reg = <0x01c28c00 0x400>; reg = <0x01c28c00 0x400>;
interrupts = <0 3 1>; interrupts = <0 3 4>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
clocks = <&apb2_gates 19>; clocks = <&apb2_gates 19>;
...@@ -268,7 +271,7 @@ uart3: serial@01c28c00 { ...@@ -268,7 +271,7 @@ uart3: serial@01c28c00 {
uart4: serial@01c29000 { uart4: serial@01c29000 {
compatible = "snps,dw-apb-uart"; compatible = "snps,dw-apb-uart";
reg = <0x01c29000 0x400>; reg = <0x01c29000 0x400>;
interrupts = <0 4 1>; interrupts = <0 4 4>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
clocks = <&apb2_gates 20>; clocks = <&apb2_gates 20>;
...@@ -278,7 +281,7 @@ uart4: serial@01c29000 { ...@@ -278,7 +281,7 @@ uart4: serial@01c29000 {
uart5: serial@01c29400 { uart5: serial@01c29400 {
compatible = "snps,dw-apb-uart"; compatible = "snps,dw-apb-uart";
reg = <0x01c29400 0x400>; reg = <0x01c29400 0x400>;
interrupts = <0 5 1>; interrupts = <0 5 4>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
clocks = <&apb2_gates 21>; clocks = <&apb2_gates 21>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment