Message ID | 1348558114-31750-2-git-send-email-fabio.porcedda@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09:28 Tue 25 Sep , Fabio Porcedda wrote: > Tested on an at91sam9260 board (evk-pro3) > > Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> > --- > .../devicetree/bindings/watchdog/atmel-wdt.txt | 19 +++++++++++++++++++ > drivers/watchdog/at91sam9_wdt.c | 21 +++++++++++++++++++++ > 2 files changed, 40 insertions(+) > create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > > diff --git a/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > new file mode 100644 > index 0000000..724fad1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > @@ -0,0 +1,19 @@ > +* Atmel Watchdog Timers > + > +** at91sam9-wdt > + > +Required properties: > +- compatible: must be "atmel,at91sam9-wdt". > +- reg: physical base address of the controller and length of memory mapped > + region. > + > +Optional properties: > +- heartbeat: contains the watchdog heartbeats in seconds. > + > +Example: > + > + watchdog@fffffd40 { > + compatible = "atmel,at91sam9-wdt"; for the secind time atmel,at91sam9260-watchdog you need to put the first soc that use it in the compatible > + reg = <0xfffffd40 0x10>; > + heartbeat = <10>; need put second in the property name so need to read the doc Best Regards, J.
On 09/25/2012 09:28 AM, Fabio Porcedda : > Tested on an at91sam9260 board (evk-pro3) > > Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> > --- > .../devicetree/bindings/watchdog/atmel-wdt.txt | 19 +++++++++++++++++++ > drivers/watchdog/at91sam9_wdt.c | 21 +++++++++++++++++++++ > 2 files changed, 40 insertions(+) > create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > > diff --git a/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > new file mode 100644 > index 0000000..724fad1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > @@ -0,0 +1,19 @@ > +* Atmel Watchdog Timers > + > +** at91sam9-wdt > + > +Required properties: > +- compatible: must be "atmel,at91sam9-wdt". As Jean-Christophe said, you should use the complete name of the fist SoC that used this WDT version: So please change all compatibility strings to: atmel,at91sam9260-wdt > +- reg: physical base address of the controller and length of memory mapped > + region. > + > +Optional properties: > +- heartbeat: contains the watchdog heartbeats in seconds. > + > +Example: > + > + watchdog@fffffd40 { > + compatible = "atmel,at91sam9-wdt"; > + reg = <0xfffffd40 0x10>; > + heartbeat = <10>; > + }; > diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c > index 05e1be8..56b8836 100644 > --- a/drivers/watchdog/at91sam9_wdt.c > +++ b/drivers/watchdog/at91sam9_wdt.c > @@ -32,6 +32,7 @@ > #include <linux/timer.h> > #include <linux/bitops.h> > #include <linux/uaccess.h> > +#include <linux/of.h> > > #include "at91sam9_wdt.h" > > @@ -254,6 +255,14 @@ static struct miscdevice at91wdt_miscdev = { > .fops = &at91wdt_fops, > }; > > +static inline void __init at91wdt_probe_dt(struct device_node *node) > +{ > + if (!node) > + return; > + > + of_property_read_u32(node, "heartbeat", &heartbeat); > +} > + > static int __init at91wdt_probe(struct platform_device *pdev) > { > struct resource *r; > @@ -272,6 +281,8 @@ static int __init at91wdt_probe(struct platform_device *pdev) > return -ENOMEM; > } > > + at91wdt_probe_dt(pdev->dev.of_node); > + > /* Set watchdog */ > res = at91_wdt_settimeout(ms_to_ticks(WDT_HW_TIMEOUT * 1000)); > if (res) > @@ -302,11 +313,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[] = { > + { .compatible = "atmel,at91sam9-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), > }, > }; > > Otherwise, looks ok...
On Tue, Sep 25, 2012 at 10:10 AM, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> wrote: > On 09:28 Tue 25 Sep , Fabio Porcedda wrote: >> Tested on an at91sam9260 board (evk-pro3) >> >> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> >> --- >> .../devicetree/bindings/watchdog/atmel-wdt.txt | 19 +++++++++++++++++++ >> drivers/watchdog/at91sam9_wdt.c | 21 +++++++++++++++++++++ >> 2 files changed, 40 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >> >> diff --git a/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >> new file mode 100644 >> index 0000000..724fad1 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >> @@ -0,0 +1,19 @@ >> +* Atmel Watchdog Timers >> + >> +** at91sam9-wdt >> + >> +Required properties: >> +- compatible: must be "atmel,at91sam9-wdt". >> +- reg: physical base address of the controller and length of memory mapped >> + region. >> + >> +Optional properties: >> +- heartbeat: contains the watchdog heartbeats in seconds. >> + >> +Example: >> + >> + watchdog@fffffd40 { >> + compatible = "atmel,at91sam9-wdt"; > for the secind time atmel,at91sam9260-watchdog Ok, i will fix this. > you need to put the first soc that use it in the compatible >> + reg = <0xfffffd40 0x10>; >> + heartbeat = <10>; > need put second in the property name so need to read the doc I didn't found any example about a property with "second" in the name. Which It's best "heartbeat-seconds", "heartbeat-sec" or "heartbeat-s" ? > Best Regards, > J. Thanks for the review and my best regards
On 09/25/2012 11:45 AM, Fabio Porcedda : > On Tue, Sep 25, 2012 at 10:10 AM, Jean-Christophe PLAGNIOL-VILLARD > <plagnioj@jcrosoft.com> wrote: >> On 09:28 Tue 25 Sep , Fabio Porcedda wrote: >>> Tested on an at91sam9260 board (evk-pro3) >>> >>> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> >>> --- >>> .../devicetree/bindings/watchdog/atmel-wdt.txt | 19 +++++++++++++++++++ >>> drivers/watchdog/at91sam9_wdt.c | 21 +++++++++++++++++++++ >>> 2 files changed, 40 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >>> >>> diff --git a/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >>> new file mode 100644 >>> index 0000000..724fad1 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >>> @@ -0,0 +1,19 @@ >>> +* Atmel Watchdog Timers >>> + >>> +** at91sam9-wdt >>> + >>> +Required properties: >>> +- compatible: must be "atmel,at91sam9-wdt". >>> +- reg: physical base address of the controller and length of memory mapped >>> + region. >>> + >>> +Optional properties: >>> +- heartbeat: contains the watchdog heartbeats in seconds. >>> + >>> +Example: >>> + >>> + watchdog@fffffd40 { >>> + compatible = "atmel,at91sam9-wdt"; >> for the secind time atmel,at91sam9260-watchdog > > Ok, i will fix this. > >> you need to put the first soc that use it in the compatible >>> + reg = <0xfffffd40 0x10>; >>> + heartbeat = <10>; >> need put second in the property name so need to read the doc > > I didn't found any example about a property with "second" in the name. > Which It's best "heartbeat-seconds", "heartbeat-sec" or "heartbeat-s" ? I think that, as it is indicated in the documentation, we should not worry too much about that... but "heartbeat" and "heartbeat-s" is ok with me. Maybe people @ devicetree-discuss have an advice for this? Bye,
On 12:00 Tue 25 Sep , Nicolas Ferre wrote: > On 09/25/2012 11:45 AM, Fabio Porcedda : > > On Tue, Sep 25, 2012 at 10:10 AM, Jean-Christophe PLAGNIOL-VILLARD > > <plagnioj@jcrosoft.com> wrote: > >> On 09:28 Tue 25 Sep , Fabio Porcedda wrote: > >>> Tested on an at91sam9260 board (evk-pro3) > >>> > >>> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> > >>> --- > >>> .../devicetree/bindings/watchdog/atmel-wdt.txt | 19 +++++++++++++++++++ > >>> drivers/watchdog/at91sam9_wdt.c | 21 +++++++++++++++++++++ > >>> 2 files changed, 40 insertions(+) > >>> create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > >>> > >>> diff --git a/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > >>> new file mode 100644 > >>> index 0000000..724fad1 > >>> --- /dev/null > >>> +++ b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt > >>> @@ -0,0 +1,19 @@ > >>> +* Atmel Watchdog Timers > >>> + > >>> +** at91sam9-wdt > >>> + > >>> +Required properties: > >>> +- compatible: must be "atmel,at91sam9-wdt". > >>> +- reg: physical base address of the controller and length of memory mapped > >>> + region. > >>> + > >>> +Optional properties: > >>> +- heartbeat: contains the watchdog heartbeats in seconds. > >>> + > >>> +Example: > >>> + > >>> + watchdog@fffffd40 { > >>> + compatible = "atmel,at91sam9-wdt"; > >> for the secind time atmel,at91sam9260-watchdog > > > > Ok, i will fix this. > > > >> you need to put the first soc that use it in the compatible > >>> + reg = <0xfffffd40 0x10>; > >>> + heartbeat = <10>; > >> need put second in the property name so need to read the doc > > > > I didn't found any example about a property with "second" in the name. > > Which It's best "heartbeat-seconds", "heartbeat-sec" or "heartbeat-s" ? > > I think that, as it is indicated in the documentation, we should not > worry too much about that... but "heartbeat" and "heartbeat-s" is ok > with me. > > Maybe people @ devicetree-discuss have an advice for this? for i2c-gpio mandatory as example cf discussion with Jean and Russell Best Regards, J.
On Tue, Sep 25, 2012 at 12:49 PM, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> wrote: > On 12:00 Tue 25 Sep , Nicolas Ferre wrote: >> On 09/25/2012 11:45 AM, Fabio Porcedda : >> > On Tue, Sep 25, 2012 at 10:10 AM, Jean-Christophe PLAGNIOL-VILLARD >> > <plagnioj@jcrosoft.com> wrote: >> >> On 09:28 Tue 25 Sep , Fabio Porcedda wrote: >> >>> Tested on an at91sam9260 board (evk-pro3) >> >>> >> >>> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> >> >>> --- >> >>> .../devicetree/bindings/watchdog/atmel-wdt.txt | 19 +++++++++++++++++++ >> >>> drivers/watchdog/at91sam9_wdt.c | 21 +++++++++++++++++++++ >> >>> 2 files changed, 40 insertions(+) >> >>> create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >> >>> >> >>> diff --git a/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >> >>> new file mode 100644 >> >>> index 0000000..724fad1 >> >>> --- /dev/null >> >>> +++ b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt >> >>> @@ -0,0 +1,19 @@ >> >>> +* Atmel Watchdog Timers >> >>> + >> >>> +** at91sam9-wdt >> >>> + >> >>> +Required properties: >> >>> +- compatible: must be "atmel,at91sam9-wdt". >> >>> +- reg: physical base address of the controller and length of memory mapped >> >>> + region. >> >>> + >> >>> +Optional properties: >> >>> +- heartbeat: contains the watchdog heartbeats in seconds. >> >>> + >> >>> +Example: >> >>> + >> >>> + watchdog@fffffd40 { >> >>> + compatible = "atmel,at91sam9-wdt"; >> >> for the secind time atmel,at91sam9260-watchdog >> > >> > Ok, i will fix this. >> > >> >> you need to put the first soc that use it in the compatible >> >>> + reg = <0xfffffd40 0x10>; >> >>> + heartbeat = <10>; >> >> need put second in the property name so need to read the doc >> > >> > I didn't found any example about a property with "second" in the name. >> > Which It's best "heartbeat-seconds", "heartbeat-sec" or "heartbeat-s" ? >> >> I think that, as it is indicated in the documentation, we should not >> worry too much about that... but "heartbeat" and "heartbeat-s" is ok >> with me. >> >> Maybe people @ devicetree-discuss have an advice for this? > for i2c-gpio mandatory as example cf discussion with Jean and Russell Russell King - ARM Linux linux at arm.linux.org.uk Mon Feb 20 08:51:06 EST 2012 > I'm saying that's a completely absurd proposal, as the proposal is > for two opaque numeric properties with different units. At least > make the units the same, or as Karol said, incorporate the units > into the property names. If i understand correctly the issue was that two different units where used for the same device. IMHO there is no problem if only one unit is used in the same device. Best regards
diff --git a/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt new file mode 100644 index 0000000..724fad1 --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/atmel-wdt.txt @@ -0,0 +1,19 @@ +* Atmel Watchdog Timers + +** at91sam9-wdt + +Required properties: +- compatible: must be "atmel,at91sam9-wdt". +- reg: physical base address of the controller and length of memory mapped + region. + +Optional properties: +- heartbeat: contains the watchdog heartbeats in seconds. + +Example: + + watchdog@fffffd40 { + compatible = "atmel,at91sam9-wdt"; + reg = <0xfffffd40 0x10>; + heartbeat = <10>; + }; diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c index 05e1be8..56b8836 100644 --- a/drivers/watchdog/at91sam9_wdt.c +++ b/drivers/watchdog/at91sam9_wdt.c @@ -32,6 +32,7 @@ #include <linux/timer.h> #include <linux/bitops.h> #include <linux/uaccess.h> +#include <linux/of.h> #include "at91sam9_wdt.h" @@ -254,6 +255,14 @@ static struct miscdevice at91wdt_miscdev = { .fops = &at91wdt_fops, }; +static inline void __init at91wdt_probe_dt(struct device_node *node) +{ + if (!node) + return; + + of_property_read_u32(node, "heartbeat", &heartbeat); +} + static int __init at91wdt_probe(struct platform_device *pdev) { struct resource *r; @@ -272,6 +281,8 @@ static int __init at91wdt_probe(struct platform_device *pdev) return -ENOMEM; } + at91wdt_probe_dt(pdev->dev.of_node); + /* Set watchdog */ res = at91_wdt_settimeout(ms_to_ticks(WDT_HW_TIMEOUT * 1000)); if (res) @@ -302,11 +313,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[] = { + { .compatible = "atmel,at91sam9-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), }, };
Tested on an at91sam9260 board (evk-pro3) Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> --- .../devicetree/bindings/watchdog/atmel-wdt.txt | 19 +++++++++++++++++++ drivers/watchdog/at91sam9_wdt.c | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/atmel-wdt.txt