[PATCH 5/6] watchdog: davinci: reuse driver for keystone arch
From: linux@roeck-us.net (Guenter Roeck)
Date: 2013-11-19 05:16:17
Also in:
linux-devicetree, linux-watchdog, lkml
On 11/18/2013 09:18 AM, Ivan Khoronzhuk wrote:
The keystone arch use the same IP watchdog, so add "ti,keystone-wdt" compatible and correct identity. The Keystone arch is using clocks in DT and source clock for watchdog has to be specified, so add this to binding. Signed-off-by: Ivan Khoronzhuk <redacted> Acked-by: Santosh Shilimkar <redacted>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
quoted hunk ↗ jump to hunk
--- .../devicetree/bindings/watchdog/davinci-wdt.txt | 11 +++++++++-- drivers/watchdog/Kconfig | 4 ++-- drivers/watchdog/davinci_wdt.c | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-)diff --git a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt index e450134..0f1aa99 100644 --- a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt +++ b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt@@ -1,16 +1,23 @@ -DaVinci Watchdog Timer (WDT) Controller +Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller Required properties: -- compatible : Should be "ti,davinci-wdt" +- compatible : Should be "ti,davinci-wdt" or "ti,keystone-wdt" - reg : Should contain WDT registers location and length +- clocks : phandle reference to the controller clock. + Required only for Keystone arch. See clock-bindings.txt Optional properties: - timeout-sec : Contains the watchdog timeout in seconds +Documentation: +Davinci DM646x - http://www.ti.com/lit/ug/spruer5b/spruer5b.pdf +Keystone - http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf + Examples: wdt: wdt at 2320000 { compatible = "ti,davinci-wdt"; reg = <0x02320000 0x80>; timeout-sec = <30>; + clocks = <&clkwdtimer0>; };diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index d7db13d..addfc2c 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig@@ -270,12 +270,12 @@ config IOP_WATCHDOG config DAVINCI_WATCHDOG tristate "DaVinci watchdog" - depends on ARCH_DAVINCI + depends on ARCH_DAVINCI || ARCH_KEYSTONE select WATCHDOG_CORE select WATCHDOG_NOWAYOUT help Say Y here if to include support for the watchdog timer - in the DaVinci DM644x/DM646x processors. + in the DaVinci DM644x/DM646x or Keystone processors. To compile this driver as a module, choose M here: the module will be called davinci_wdt.diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c index 55deaf8..a6d365a 100644 --- a/drivers/watchdog/davinci_wdt.c +++ b/drivers/watchdog/davinci_wdt.c@@ -143,7 +143,7 @@ static unsigned int davinci_wdt_get_timeleft(struct watchdog_device *wdd) static const struct watchdog_info davinci_wdt_info = { .options = WDIOF_KEEPALIVEPING, - .identity = "DaVinci Watchdog", + .identity = "DaVinci/Keystone Watchdog", }; static const struct watchdog_ops davinci_wdt_ops = {@@ -212,6 +212,7 @@ static int davinci_wdt_remove(struct platform_device *pdev) static const struct of_device_id davinci_wdt_of_match[] = { { .compatible = "ti,davinci-wdt", }, + { .compatible = "ti,keystone-wdt", }, {}, }; MODULE_DEVICE_TABLE(of, davinci_wdt_of_match);