aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzk@kernel.org>2017-03-11 12:25:22 -0500
committerKrzysztof Kozlowski <krzk@kernel.org>2017-03-13 13:32:06 -0400
commitbdc42353ba3dd3619b6186748701f87ecc8e7458 (patch)
treee300949737d9b200f9904dc3df238ea6c2a3ee97
parent4c74ea4e20b582bf90a2cf509d88aa7c2dbffb12 (diff)
ARM: dts: exynos: Fix watchdog reset on Exynos4412
The Exynos4412 has the same watchdog as newer SoCs (e.g. Exynos5250). Just like the others, for working it requires additional steps in Power Management Unit: unmasking the reset request and enabling the system reset. Without these additional steps in PMU, the watchdog will not be able to reset the system on expiration event. Change the compatible of Exynos4412 watchdog device node to samsung,exynos5250-wdt which includes the additional PMU steps. This will also fix infinite watchdog interrupt in soft mode (lack of interrupt clear) because it is also included in samsung,exynos5250-wdt. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Guenter Roeck <linux@roeck-us.net>
-rw-r--r--arch/arm/boot/dts/exynos4.dtsi9
-rw-r--r--arch/arm/boot/dts/exynos4210.dtsi9
-rw-r--r--arch/arm/boot/dts/exynos4412.dtsi10
3 files changed, 19 insertions, 9 deletions
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index 18def1c774d5..71e2cdae6068 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -283,15 +283,6 @@
283 }; 283 };
284 }; 284 };
285 285
286 watchdog: watchdog@10060000 {
287 compatible = "samsung,s3c2410-wdt";
288 reg = <0x10060000 0x100>;
289 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
290 clocks = <&clock CLK_WDT>;
291 clock-names = "watchdog";
292 status = "disabled";
293 };
294
295 rtc: rtc@10070000 { 286 rtc: rtc@10070000 {
296 compatible = "samsung,s3c6410-rtc"; 287 compatible = "samsung,s3c6410-rtc";
297 reg = <0x10070000 0x100>; 288 reg = <0x10070000 0x100>;
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
index f9408188f97f..8bff2253acca 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -119,6 +119,15 @@
119 }; 119 };
120 }; 120 };
121 121
122 watchdog: watchdog@10060000 {
123 compatible = "samsung,s3c2410-wdt";
124 reg = <0x10060000 0x100>;
125 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
126 clocks = <&clock CLK_WDT>;
127 clock-names = "watchdog";
128 status = "disabled";
129 };
130
122 clock: clock-controller@10030000 { 131 clock: clock-controller@10030000 {
123 compatible = "samsung,exynos4210-clock"; 132 compatible = "samsung,exynos4210-clock";
124 reg = <0x10030000 0x20000>; 133 reg = <0x10030000 0x20000>;
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
index 235bbb69ad7c..6f47988a1ab5 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -215,6 +215,16 @@
215 }; 215 };
216 }; 216 };
217 217
218 watchdog: watchdog@10060000 {
219 compatible = "samsung,exynos5250-wdt";
220 reg = <0x10060000 0x100>;
221 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
222 clocks = <&clock CLK_WDT>;
223 clock-names = "watchdog";
224 samsung,syscon-phandle = <&pmu_system_controller>;
225 status = "disabled";
226 };
227
218 adc: adc@126C0000 { 228 adc: adc@126C0000 {
219 compatible = "samsung,exynos-adc-v1"; 229 compatible = "samsung,exynos-adc-v1";
220 reg = <0x126C0000 0x100>; 230 reg = <0x126C0000 0x100>;