diff options
author | Naveen Krishna Chatradhi <ch.naveen@samsung.com> | 2014-08-27 05:47:11 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2014-10-20 14:53:51 -0400 |
commit | 2b9366b669679f1388457ec5a62f9dd1d0a78b08 (patch) | |
tree | af494a76edf47d9e5aace661b821fa26d1401aad | |
parent | 7c92c3d58429c38557ffd7e6a69dc97522335454 (diff) |
watchdog: s3c2410_wdt: Add support for Watchdog device on Exynos7
Exynos7 SoC has a Watchdog for Atlas (A57) cores
This patch adds support for the Atlas watchdog.
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
-rw-r--r-- | Documentation/devicetree/bindings/watchdog/samsung-wdt.txt | 1 | ||||
-rw-r--r-- | drivers/watchdog/s3c2410_wdt.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt b/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt index cfff37511aac..8f3d96af81d7 100644 --- a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt +++ b/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt | |||
@@ -9,6 +9,7 @@ Required properties: | |||
9 | (a) "samsung,s3c2410-wdt" for Exynos4 and previous SoCs | 9 | (a) "samsung,s3c2410-wdt" for Exynos4 and previous SoCs |
10 | (b) "samsung,exynos5250-wdt" for Exynos5250 | 10 | (b) "samsung,exynos5250-wdt" for Exynos5250 |
11 | (c) "samsung,exynos5420-wdt" for Exynos5420 | 11 | (c) "samsung,exynos5420-wdt" for Exynos5420 |
12 | (c) "samsung,exynos7-wdt" for Exynos7 | ||
12 | 13 | ||
13 | - reg : base physical address of the controller and length of memory mapped | 14 | - reg : base physical address of the controller and length of memory mapped |
14 | region. | 15 | region. |
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c index 7c6ccd071baf..015256e496ae 100644 --- a/drivers/watchdog/s3c2410_wdt.c +++ b/drivers/watchdog/s3c2410_wdt.c | |||
@@ -155,6 +155,15 @@ static const struct s3c2410_wdt_variant drv_data_exynos5420 = { | |||
155 | .quirks = QUIRK_HAS_PMU_CONFIG | QUIRK_HAS_RST_STAT, | 155 | .quirks = QUIRK_HAS_PMU_CONFIG | QUIRK_HAS_RST_STAT, |
156 | }; | 156 | }; |
157 | 157 | ||
158 | static const struct s3c2410_wdt_variant drv_data_exynos7 = { | ||
159 | .disable_reg = EXYNOS5_WDT_DISABLE_REG_OFFSET, | ||
160 | .mask_reset_reg = EXYNOS5_WDT_MASK_RESET_REG_OFFSET, | ||
161 | .mask_bit = 0, | ||
162 | .rst_stat_reg = EXYNOS5_RST_STAT_REG_OFFSET, | ||
163 | .rst_stat_bit = 23, /* A57 WDTRESET */ | ||
164 | .quirks = QUIRK_HAS_PMU_CONFIG | QUIRK_HAS_RST_STAT, | ||
165 | }; | ||
166 | |||
158 | static const struct of_device_id s3c2410_wdt_match[] = { | 167 | static const struct of_device_id s3c2410_wdt_match[] = { |
159 | { .compatible = "samsung,s3c2410-wdt", | 168 | { .compatible = "samsung,s3c2410-wdt", |
160 | .data = &drv_data_s3c2410 }, | 169 | .data = &drv_data_s3c2410 }, |
@@ -162,6 +171,8 @@ static const struct of_device_id s3c2410_wdt_match[] = { | |||
162 | .data = &drv_data_exynos5250 }, | 171 | .data = &drv_data_exynos5250 }, |
163 | { .compatible = "samsung,exynos5420-wdt", | 172 | { .compatible = "samsung,exynos5420-wdt", |
164 | .data = &drv_data_exynos5420 }, | 173 | .data = &drv_data_exynos5420 }, |
174 | { .compatible = "samsung,exynos7-wdt", | ||
175 | .data = &drv_data_exynos7 }, | ||
165 | {}, | 176 | {}, |
166 | }; | 177 | }; |
167 | MODULE_DEVICE_TABLE(of, s3c2410_wdt_match); | 178 | MODULE_DEVICE_TABLE(of, s3c2410_wdt_match); |