diff options
| -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 00000000000..a87a1e9bc06 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/lpc32xx-rtc.txt @@ -0,0 +1,15 @@ +* NXP LPC32xx SoC Real Time Clock controller + +Required properties: +- compatible: must be "nxp,lpc3220-rtc" +- reg: physical base address of the controller and length of memory mapped +  region. +- interrupts: The RTC interrupt + +Example: + +	rtc@40024000 { +		compatible = "nxp,lpc3220-rtc"; +		reg = <0x40024000 0x1000>; +		interrupts = <52 0>; +	}; diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c index 63c72189c64..d5218553741 100644 --- a/drivers/rtc/rtc-lpc32xx.c +++ b/drivers/rtc/rtc-lpc32xx.c @@ -19,6 +19,7 @@  #include <linux/rtc.h>  #include <linux/slab.h>  #include <linux/io.h> +#include <linux/of.h>  /*   * Clock and Power control register offsets @@ -386,13 +387,22 @@ static const struct dev_pm_ops lpc32xx_rtc_pm_ops = {  #define LPC32XX_RTC_PM_OPS NULL  #endif +#ifdef CONFIG_OF +static const struct of_device_id lpc32xx_rtc_match[] = { +	{ .compatible = "nxp,lpc3220-rtc" }, +	{ } +}; +MODULE_DEVICE_TABLE(of, lpc32xx_rtc_match); +#endif +  static struct platform_driver lpc32xx_rtc_driver = {  	.probe		= lpc32xx_rtc_probe,  	.remove		= __devexit_p(lpc32xx_rtc_remove),  	.driver = {  		.name	= RTC_NAME,  		.owner	= THIS_MODULE, -		.pm	= LPC32XX_RTC_PM_OPS +		.pm	= LPC32XX_RTC_PM_OPS, +		.of_match_table = of_match_ptr(lpc32xx_rtc_match),  	},  };  |