ARM: dts: exynos: Fix watchdog reset on Exynos4412
authorKrzysztof Kozlowski <krzk@kernel.org>
Sat, 11 Mar 2017 17:25:22 +0000 (19:25 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Mon, 13 Mar 2017 17:32:06 +0000 (19:32 +0200)
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>
arch/arm/boot/dts/exynos4.dtsi
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos4412.dtsi

index 18def1c774d5deb14e859c4d0c0e75439f6a9147..71e2cdae60682106d73b3791c92de7446f434885 100644 (file)
                };
        };
 
-       watchdog: watchdog@10060000 {
-               compatible = "samsung,s3c2410-wdt";
-               reg = <0x10060000 0x100>;
-               interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&clock CLK_WDT>;
-               clock-names = "watchdog";
-               status = "disabled";
-       };
-
        rtc: rtc@10070000 {
                compatible = "samsung,s3c6410-rtc";
                reg = <0x10070000 0x100>;
index f9408188f97f21e621e61e00e7cf3e34d86637aa..8bff2253acca78d84d2e480416caf4b5104818f0 100644 (file)
                };
        };
 
+       watchdog: watchdog@10060000 {
+               compatible = "samsung,s3c2410-wdt";
+               reg = <0x10060000 0x100>;
+               interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&clock CLK_WDT>;
+               clock-names = "watchdog";
+               status = "disabled";
+       };
+
        clock: clock-controller@10030000 {
                compatible = "samsung,exynos4210-clock";
                reg = <0x10030000 0x20000>;
index 235bbb69ad7c859a0449a757dca7bd2a7dd3af41..6f47988a1ab516e35e0807091421300986cc0442 100644 (file)
                };
        };
 
+       watchdog: watchdog@10060000 {
+               compatible = "samsung,exynos5250-wdt";
+               reg = <0x10060000 0x100>;
+               interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&clock CLK_WDT>;
+               clock-names = "watchdog";
+               samsung,syscon-phandle = <&pmu_system_controller>;
+               status = "disabled";
+       };
+
        adc: adc@126C0000 {
                compatible = "samsung,exynos-adc-v1";
                reg = <0x126C0000 0x100>;