watchdog: at91sam9_wdt: add device tree support
v9 cover watchdog: at91sam9_wdt: add device tree support
Hi all,
This patchset is for adding device tree support to the at91sam9_wdt driver.
The "timeout-sec" binding is added by another patchset already sent:
[PATCH v4 0/8] watchdog: dt: add support for the timeout-sec dt property
Changes:
v9:
- rebased over v3.7-rc1
v8:
- add __initconst to at91_wdt_dt_ids
v7:
- split the patchset
- remove timeout binding
v6:
- add watchdog core proprty timeout binding
- add as example to the orion_wdt driver the new timeout binding
v5:
- split dts commit in two, one for socs and one for boards.
v4:
- use "atmel,at91sam9260-wdt" as compatible
v3:
- add heartbeat option
- default disabled for all the soc, enable only for evk-pro3 board
- add at91sam9263 and at91sam9g45 soc
v2:
- add missing to and cc addresses
Based on v3.7-rc5
Fabio Porcedda (3):
watchdog: at91sam9_wdt: add device tree support
ARM: at91/dts: add at91sam9_wdt driver to at91sam926x, at91sam9g45
ARM: at91/dts: evk-pro3: enable watchdog
Documentation/devicetree/bindings/watchdog/atmel-wdt.txt | 15 +++++++++++++++ arch/arm/boot/dts/at91sam9260.dtsi | 6 ++++++ arch/arm/boot/dts/at91sam9263.dtsi | 6 ++++++ arch/arm/boot/dts/at91sam9g45.dtsi | 6 ++++++ arch/arm/boot/dts/evk-pro3.dts | 4 ++++ drivers/watchdog/at91sam9_wdt.c | 11 +++++++++++ 6 files changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt
Signature · 1 line
1.8.0
PATCH RESEND v9 1/3 watchdog: at91sam9_wdt: add device tree support
Tested on an at91sam9260 board (evk-pro3)
--- Documentation/devicetree/bindings/watchdog/atmel-wdt.txt | 15 +++++++++++++++ drivers/watchdog/at91sam9_wdt.c | 11 +++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt
Documentation/devicetree/bindings/watchdog/atmel-wdt.txt new file +15 -0
@@ -0,0 +1,15 @@ +* Atmel Watchdog Timers + +** at91sam9-wdt + +Required properties: +- compatible: must be "atmel,at91sam9260-wdt". +- reg: physical base address of the controller and length of memory mapped + region. + +Example: + + watchdog at fffffd40 { + compatible = "atmel,at91sam9260-wdt"; + reg = <0xfffffd40 0x10>; + };
drivers/watchdog/at91sam9_wdt.c +11 -0
@@ -32,6 +32,7 @@#include <linux/timer.h> #include <linux/bitops.h> #include <linux/uaccess.h> +#include <linux/of.h> #include "at91sam9_wdt.h"
@@ -302,11 +303,21 @@ static int __exit at91wdt_remove(struct platform_device *pdev)return res; } +#if defined(CONFIG_OF ) +static const struct of_device_id at91_wdt_dt_ids[]__initconst = { + { .compatible ="atmel,at91sam9260-wdt" }, + {/* sentinel */ } +}; + +MODULE_DEVICE_TABLE (of, at91_wdt_dt_ids); +#endif +static struct platform_driver at91wdt_driver = { .remove =__exit_p (at91wdt_remove), .driver = { .name ="at91_wdt" , .owner =THIS_MODULE , + .of_match_table =of_match_ptr (at91_wdt_dt_ids), }, };
Signature · 1 line
1.8.0
PATCH RESEND v9 1/3 watchdog: at91sam9_wdt: add device tree support
On 11/12/2012 09:37 AM, Fabio Porcedda :
Quoted 3 lines
Tested on an at91sam9260 board (evk-pro3)
Signed-off-by Fabio Porcedda <[email protected]>
(and to the whole patch series actually)
Wim, can you tell me if it is possible to merge this part through arm-soc git tree with the rest of material for AT91? If yes, I would need your Acked-by...
Thanks, best regards,
Quoted 62 lines
--- Documentation/devicetree/bindings/watchdog/atmel-wdt.txt | 15 +++++++++++++++ drivers/watchdog/at91sam9_wdt.c | 11 +++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txtDocumentation/devicetree/bindings/watchdog/atmel-wdt.txt new file +15
-0@@ -0,0 +1,15 @@ +* Atmel Watchdog Timers + +** at91sam9-wdt + +Required properties: +- compatible: must be "atmel,at91sam9260-wdt". +- reg: physical base address of the controller and length of memory mapped + region. + +Example: + + watchdog at fffffd40 { + compatible = "atmel,at91sam9260-wdt"; + reg = <0xfffffd40 0x10>; + };drivers/watchdog/at91sam9_wdt.c +11
-0@@ -32,6 +32,7 @@#include <linux/timer.h> #include <linux/bitops.h> #include <linux/uaccess.h> +#include <linux/of.h> #include "at91sam9_wdt.h" @@ -302,11 +303,21 @@ static int __exit at91wdt_remove(struct platform_device *pdev)return res; } +#if defined(CONFIG_OF ) +static const struct of_device_id at91_wdt_dt_ids[]__initconst = { + { .compatible ="atmel,at91sam9260-wdt" }, + {/* sentinel */ } +}; + +MODULE_DEVICE_TABLE (of, at91_wdt_dt_ids); +#endif +static struct platform_driver at91wdt_driver = { .remove =__exit_p (at91wdt_remove), .driver = { .name ="at91_wdt" , .owner =THIS_MODULE , + .of_match_table =of_match_ptr (at91_wdt_dt_ids), }, };
Signature · 1 line
Nicolas Ferre
PATCH RESEND v9 2/3 ARM: at91/dts: add at91sam9_wdt driver to at91sam926x, at91sam9g45
In reply to Fabio PorceddaTested on an at91sam9260 board (evk-pro3).
--- arch/arm/boot/dts/at91sam9260.dtsi | 6 ++++++ arch/arm/boot/dts/at91sam9263.dtsi | 6 ++++++ arch/arm/boot/dts/at91sam9g45.dtsi | 6 ++++++ 3 files changed, 18 insertions(+)
arch/arm/boot/dts/at91sam9260.dtsi +6 -0
@@ -246,6 +246,12 @@ trigger-external; }; }; + + watchdog at fffffd40 { + compatible = "atmel,at91sam9260-wdt"; + reg = <0xfffffd40 0x10>; + status = "disabled"; + }; }; nand0: nand at 40000000 {
arch/arm/boot/dts/at91sam9263.dtsi +6 -0
@@ -195,6 +195,12 @@ #size-cells = <0>; status = "disabled"; }; + + watchdog at fffffd40 { + compatible = "atmel,at91sam9260-wdt"; + reg = <0xfffffd40 0x10>; + status = "disabled"; + }; }; nand0: nand at 40000000 {
arch/arm/boot/dts/at91sam9g45.dtsi +6 -0
@@ -262,6 +262,12 @@ trigger-value = <0x6>; }; }; + + watchdog at fffffd40 { + compatible = "atmel,at91sam9260-wdt"; + reg = <0xfffffd40 0x10>; + status = "disabled"; + }; }; nand0: nand at 40000000 {
Signature · 1 line
1.8.0
PATCH RESEND v9 3/3 ARM: at91/dts: evk-pro3: enable watchdog
In reply to Fabio PorceddaTested on evk-pro3.
--- arch/arm/boot/dts/evk-pro3.dts | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm/boot/dts/evk-pro3.dts +4 -0
@@ -26,6 +26,10 @@ atmel,vbus-gpio = <&pioC 5 0>; status = "okay"; }; + + watchdog at fffffd40 { + status = "okay"; + }; }; usb0: ohci at 00500000 {
Signature · 1 line
1.8.0