diff options
author | Roland Stigge <stigge@antcom.de> | 2012-05-29 18:07:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-29 19:22:34 -0400 |
commit | e862e7c4ee52c2d1a0af37a8c3a2bda079042b06 (patch) | |
tree | 41284c9cc0bb04039f61b8cbf2719dfa9a0aac5b | |
parent | bcffb10f287c89ca6e4f89ef748301a9e22384d0 (diff) |
drivers/rtc/rtc-lpc32xx.c: add device tree support
Adds device tree support for rtc-lpc32xx.c
Signed-off-by: Roland Stigge <stigge@antcom.de>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | Documentation/devicetree/bindings/rtc/lpc32xx-rtc.txt | 15 | ||||
-rw-r--r-- | drivers/rtc/rtc-lpc32xx.c | 12 |
2 files changed, 26 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/rtc/lpc32xx-rtc.txt b/Documentation/devicetree/bindings/rtc/lpc32xx-rtc.txt new file mode 100644 index 000000000000..a87a1e9bc060 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/lpc32xx-rtc.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | * NXP LPC32xx SoC Real Time Clock controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "nxp,lpc3220-rtc" | ||
5 | - reg: physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts: The RTC interrupt | ||
8 | |||
9 | Example: | ||
10 | |||
11 | rtc@40024000 { | ||
12 | compatible = "nxp,lpc3220-rtc"; | ||
13 | reg = <0x40024000 0x1000>; | ||
14 | interrupts = <52 0>; | ||
15 | }; | ||
diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c index 63c72189c64b..d5218553741f 100644 --- a/drivers/rtc/rtc-lpc32xx.c +++ b/drivers/rtc/rtc-lpc32xx.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/rtc.h> | 19 | #include <linux/rtc.h> |
20 | #include <linux/slab.h> | 20 | #include <linux/slab.h> |
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <linux/of.h> | ||
22 | 23 | ||
23 | /* | 24 | /* |
24 | * Clock and Power control register offsets | 25 | * Clock and Power control register offsets |
@@ -386,13 +387,22 @@ static const struct dev_pm_ops lpc32xx_rtc_pm_ops = { | |||
386 | #define LPC32XX_RTC_PM_OPS NULL | 387 | #define LPC32XX_RTC_PM_OPS NULL |
387 | #endif | 388 | #endif |
388 | 389 | ||
390 | #ifdef CONFIG_OF | ||
391 | static const struct of_device_id lpc32xx_rtc_match[] = { | ||
392 | { .compatible = "nxp,lpc3220-rtc" }, | ||
393 | { } | ||
394 | }; | ||
395 | MODULE_DEVICE_TABLE(of, lpc32xx_rtc_match); | ||
396 | #endif | ||
397 | |||
389 | static struct platform_driver lpc32xx_rtc_driver = { | 398 | static struct platform_driver lpc32xx_rtc_driver = { |
390 | .probe = lpc32xx_rtc_probe, | 399 | .probe = lpc32xx_rtc_probe, |
391 | .remove = __devexit_p(lpc32xx_rtc_remove), | 400 | .remove = __devexit_p(lpc32xx_rtc_remove), |
392 | .driver = { | 401 | .driver = { |
393 | .name = RTC_NAME, | 402 | .name = RTC_NAME, |
394 | .owner = THIS_MODULE, | 403 | .owner = THIS_MODULE, |
395 | .pm = LPC32XX_RTC_PM_OPS | 404 | .pm = LPC32XX_RTC_PM_OPS, |
405 | .of_match_table = of_match_ptr(lpc32xx_rtc_match), | ||
396 | }, | 406 | }, |
397 | }; | 407 | }; |
398 | 408 | ||