aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/rtc/imxdi-rtc.txt17
-rw-r--r--drivers/rtc/rtc-imxdi.c11
2 files changed, 28 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/rtc/imxdi-rtc.txt b/Documentation/devicetree/bindings/rtc/imxdi-rtc.txt
new file mode 100644
index 000000000000..c9d80d7da141
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/imxdi-rtc.txt
@@ -0,0 +1,17 @@
1* i.MX25 Real Time Clock controller
2
3This binding supports the following chips: i.MX25, i.MX53
4
5Required properties:
6- compatible: should be: "fsl,imx25-rtc"
7- reg: physical base address of the controller and length of memory mapped
8 region.
9- interrupts: rtc alarm interrupt
10
11Example:
12
13rtc@80056000 {
14 compatible = "fsl,imx53-rtc", "fsl,imx25-rtc";
15 reg = <0x80056000 2000>;
16 interrupts = <29>;
17};
diff --git a/drivers/rtc/rtc-imxdi.c b/drivers/rtc/rtc-imxdi.c
index 4eed51044c5d..18a4f0dd78a3 100644
--- a/drivers/rtc/rtc-imxdi.c
+++ b/drivers/rtc/rtc-imxdi.c
@@ -37,6 +37,7 @@
37#include <linux/rtc.h> 37#include <linux/rtc.h>
38#include <linux/sched.h> 38#include <linux/sched.h>
39#include <linux/workqueue.h> 39#include <linux/workqueue.h>
40#include <linux/of.h>
40 41
41/* DryIce Register Definitions */ 42/* DryIce Register Definitions */
42 43
@@ -495,10 +496,20 @@ static int __devexit dryice_rtc_remove(struct platform_device *pdev)
495 return 0; 496 return 0;
496} 497}
497 498
499#ifdef CONFIG_OF
500static const struct of_device_id dryice_dt_ids[] = {
501 { .compatible = "fsl,imx25-rtc" },
502 { /* sentinel */ }
503};
504
505MODULE_DEVICE_TABLE(of, dryice_dt_ids);
506#endif
507
498static struct platform_driver dryice_rtc_driver = { 508static struct platform_driver dryice_rtc_driver = {
499 .driver = { 509 .driver = {
500 .name = "imxdi_rtc", 510 .name = "imxdi_rtc",
501 .owner = THIS_MODULE, 511 .owner = THIS_MODULE,
512 .of_match_table = of_match_ptr(dryice_dt_ids),
502 }, 513 },
503 .remove = __devexit_p(dryice_rtc_remove), 514 .remove = __devexit_p(dryice_rtc_remove),
504}; 515};