Commit c473c9a1 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski

ARM: dts: exynos: Fix invalid GIC interrupt flags in exynos5440

Interrupt of type IRQ_TYPE_NONE is not allowed for GIC interrupts and
generates an error:
	genirq: Setting trigger mode 0 for irq 16 failed (gic_set_type+0x0/0x68)

The GIC requires shared interrupts to be edge rising or level high.
Platform declares support for both.  Arbitrarily choose level high
everywhere hoping it will work on each platform.
Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Reported-by: default avatarAlban Browaeys <alban.browaeys@gmail.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: default avatarAlim Akhtar <alim.akhtar@samsung.com>
parent eb87868a
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
*/ */
#include <dt-bindings/clock/exynos5440.h> #include <dt-bindings/clock/exynos5440.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ { / {
compatible = "samsung,exynos5440", "samsung,exynos5"; compatible = "samsung,exynos5440", "samsung,exynos5";
...@@ -91,7 +92,7 @@ timer { ...@@ -91,7 +92,7 @@ timer {
cpufreq@160000 { cpufreq@160000 {
compatible = "samsung,exynos5440-cpufreq"; compatible = "samsung,exynos5440-cpufreq";
reg = <0x160000 0x1000>; reg = <0x160000 0x1000>;
interrupts = <0 57 0>; interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
operating-points = < operating-points = <
/* KHz uV */ /* KHz uV */
1500000 1100000 1500000 1100000
...@@ -108,7 +109,7 @@ cpufreq@160000 { ...@@ -108,7 +109,7 @@ cpufreq@160000 {
serial_0: serial@B0000 { serial_0: serial@B0000 {
compatible = "samsung,exynos4210-uart"; compatible = "samsung,exynos4210-uart";
reg = <0xB0000 0x1000>; reg = <0xB0000 0x1000>;
interrupts = <0 2 0>; interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_B_125>, <&clock CLK_B_125>; clocks = <&clock CLK_B_125>, <&clock CLK_B_125>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
}; };
...@@ -116,7 +117,7 @@ serial_0: serial@B0000 { ...@@ -116,7 +117,7 @@ serial_0: serial@B0000 {
serial_1: serial@C0000 { serial_1: serial@C0000 {
compatible = "samsung,exynos4210-uart"; compatible = "samsung,exynos4210-uart";
reg = <0xC0000 0x1000>; reg = <0xC0000 0x1000>;
interrupts = <0 3 0>; interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_B_125>, <&clock CLK_B_125>; clocks = <&clock CLK_B_125>, <&clock CLK_B_125>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
}; };
...@@ -124,7 +125,7 @@ serial_1: serial@C0000 { ...@@ -124,7 +125,7 @@ serial_1: serial@C0000 {
spi_0: spi@D0000 { spi_0: spi@D0000 {
compatible = "samsung,exynos5440-spi"; compatible = "samsung,exynos5440-spi";
reg = <0xD0000 0x100>; reg = <0xD0000 0x100>;
interrupts = <0 4 0>; interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
samsung,spi-src-clk = <0>; samsung,spi-src-clk = <0>;
...@@ -136,8 +137,14 @@ spi_0: spi@D0000 { ...@@ -136,8 +137,14 @@ spi_0: spi@D0000 {
pin_ctrl: pinctrl@E0000 { pin_ctrl: pinctrl@E0000 {
compatible = "samsung,exynos5440-pinctrl"; compatible = "samsung,exynos5440-pinctrl";
reg = <0xE0000 0x1000>; reg = <0xE0000 0x1000>;
interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>,
<0 41 0>, <0 42 0>, <0 43 0>, <0 44 0>; <0 38 IRQ_TYPE_LEVEL_HIGH>,
<0 39 IRQ_TYPE_LEVEL_HIGH>,
<0 40 IRQ_TYPE_LEVEL_HIGH>,
<0 41 IRQ_TYPE_LEVEL_HIGH>,
<0 42 IRQ_TYPE_LEVEL_HIGH>,
<0 43 IRQ_TYPE_LEVEL_HIGH>,
<0 44 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
#gpio-cells = <2>; #gpio-cells = <2>;
...@@ -162,7 +169,7 @@ uart1: uart1 { ...@@ -162,7 +169,7 @@ uart1: uart1 {
i2c@F0000 { i2c@F0000 {
compatible = "samsung,exynos5440-i2c"; compatible = "samsung,exynos5440-i2c";
reg = <0xF0000 0x1000>; reg = <0xF0000 0x1000>;
interrupts = <0 5 0>; interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&clock CLK_B_125>; clocks = <&clock CLK_B_125>;
...@@ -172,7 +179,7 @@ i2c@F0000 { ...@@ -172,7 +179,7 @@ i2c@F0000 {
i2c@100000 { i2c@100000 {
compatible = "samsung,exynos5440-i2c"; compatible = "samsung,exynos5440-i2c";
reg = <0x100000 0x1000>; reg = <0x100000 0x1000>;
interrupts = <0 6 0>; interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&clock CLK_B_125>; clocks = <&clock CLK_B_125>;
...@@ -182,7 +189,7 @@ i2c@100000 { ...@@ -182,7 +189,7 @@ i2c@100000 {
watchdog@110000 { watchdog@110000 {
compatible = "samsung,s3c2410-wdt"; compatible = "samsung,s3c2410-wdt";
reg = <0x110000 0x1000>; reg = <0x110000 0x1000>;
interrupts = <0 1 0>; interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_B_125>; clocks = <&clock CLK_B_125>;
clock-names = "watchdog"; clock-names = "watchdog";
}; };
...@@ -209,7 +216,8 @@ amba { ...@@ -209,7 +216,8 @@ amba {
rtc@130000 { rtc@130000 {
compatible = "samsung,s3c6410-rtc"; compatible = "samsung,s3c6410-rtc";
reg = <0x130000 0x1000>; reg = <0x130000 0x1000>;
interrupts = <0 17 0>, <0 16 0>; interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH>,
<0 16 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_B_125>; clocks = <&clock CLK_B_125>;
clock-names = "rtc"; clock-names = "rtc";
}; };
...@@ -217,7 +225,7 @@ rtc@130000 { ...@@ -217,7 +225,7 @@ rtc@130000 {
tmuctrl_0: tmuctrl@160118 { tmuctrl_0: tmuctrl@160118 {
compatible = "samsung,exynos5440-tmu"; compatible = "samsung,exynos5440-tmu";
reg = <0x160118 0x230>, <0x160368 0x10>; reg = <0x160118 0x230>, <0x160368 0x10>;
interrupts = <0 58 0>; interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_B_125>; clocks = <&clock CLK_B_125>;
clock-names = "tmu_apbif"; clock-names = "tmu_apbif";
#include "exynos5440-tmu-sensor-conf.dtsi" #include "exynos5440-tmu-sensor-conf.dtsi"
...@@ -226,7 +234,7 @@ tmuctrl_0: tmuctrl@160118 { ...@@ -226,7 +234,7 @@ tmuctrl_0: tmuctrl@160118 {
tmuctrl_1: tmuctrl@16011C { tmuctrl_1: tmuctrl@16011C {
compatible = "samsung,exynos5440-tmu"; compatible = "samsung,exynos5440-tmu";
reg = <0x16011C 0x230>, <0x160368 0x10>; reg = <0x16011C 0x230>, <0x160368 0x10>;
interrupts = <0 58 0>; interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_B_125>; clocks = <&clock CLK_B_125>;
clock-names = "tmu_apbif"; clock-names = "tmu_apbif";
#include "exynos5440-tmu-sensor-conf.dtsi" #include "exynos5440-tmu-sensor-conf.dtsi"
...@@ -235,7 +243,7 @@ tmuctrl_1: tmuctrl@16011C { ...@@ -235,7 +243,7 @@ tmuctrl_1: tmuctrl@16011C {
tmuctrl_2: tmuctrl@160120 { tmuctrl_2: tmuctrl@160120 {
compatible = "samsung,exynos5440-tmu"; compatible = "samsung,exynos5440-tmu";
reg = <0x160120 0x230>, <0x160368 0x10>; reg = <0x160120 0x230>, <0x160368 0x10>;
interrupts = <0 58 0>; interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_B_125>; clocks = <&clock CLK_B_125>;
clock-names = "tmu_apbif"; clock-names = "tmu_apbif";
#include "exynos5440-tmu-sensor-conf.dtsi" #include "exynos5440-tmu-sensor-conf.dtsi"
...@@ -259,7 +267,7 @@ cpu2_thermal: cpu2-thermal { ...@@ -259,7 +267,7 @@ cpu2_thermal: cpu2-thermal {
sata@210000 { sata@210000 {
compatible = "snps,exynos5440-ahci"; compatible = "snps,exynos5440-ahci";
reg = <0x210000 0x10000>; reg = <0x210000 0x10000>;
interrupts = <0 30 0>; interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_SATA>; clocks = <&clock CLK_SATA>;
clock-names = "sata"; clock-names = "sata";
}; };
...@@ -267,7 +275,7 @@ sata@210000 { ...@@ -267,7 +275,7 @@ sata@210000 {
ohci@220000 { ohci@220000 {
compatible = "samsung,exynos5440-ohci"; compatible = "samsung,exynos5440-ohci";
reg = <0x220000 0x1000>; reg = <0x220000 0x1000>;
interrupts = <0 29 0>; interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_USB>; clocks = <&clock CLK_USB>;
clock-names = "usbhost"; clock-names = "usbhost";
}; };
...@@ -275,7 +283,7 @@ ohci@220000 { ...@@ -275,7 +283,7 @@ ohci@220000 {
ehci@221000 { ehci@221000 {
compatible = "samsung,exynos5440-ehci"; compatible = "samsung,exynos5440-ehci";
reg = <0x221000 0x1000>; reg = <0x221000 0x1000>;
interrupts = <0 29 0>; interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_USB>; clocks = <&clock CLK_USB>;
clock-names = "usbhost"; clock-names = "usbhost";
}; };
...@@ -285,7 +293,9 @@ pcie_0: pcie@290000 { ...@@ -285,7 +293,9 @@ pcie_0: pcie@290000 {
reg = <0x290000 0x1000 reg = <0x290000 0x1000
0x270000 0x1000 0x270000 0x1000
0x271000 0x40>; 0x271000 0x40>;
interrupts = <0 20 0>, <0 21 0>, <0 22 0>; interrupts = <0 20 IRQ_TYPE_LEVEL_HIGH>,
<0 21 IRQ_TYPE_LEVEL_HIGH>,
<0 22 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_PR0_250_O>, <&clock CLK_PB0_250_O>; clocks = <&clock CLK_PR0_250_O>, <&clock CLK_PB0_250_O>;
clock-names = "pcie", "pcie_bus"; clock-names = "pcie", "pcie_bus";
#address-cells = <3>; #address-cells = <3>;
...@@ -306,7 +316,9 @@ pcie_1: pcie@2a0000 { ...@@ -306,7 +316,9 @@ pcie_1: pcie@2a0000 {
reg = <0x2a0000 0x1000 reg = <0x2a0000 0x1000
0x272000 0x1000 0x272000 0x1000
0x271040 0x40>; 0x271040 0x40>;
interrupts = <0 23 0>, <0 24 0>, <0 25 0>; interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>,
<0 24 IRQ_TYPE_LEVEL_HIGH>,
<0 25 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_PR1_250_O>, <&clock CLK_PB0_250_O>; clocks = <&clock CLK_PR1_250_O>, <&clock CLK_PB0_250_O>;
clock-names = "pcie", "pcie_bus"; clock-names = "pcie", "pcie_bus";
#address-cells = <3>; #address-cells = <3>;
......
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