This patch enables support for i.MX53 in addition to i.MX25 by enabling the
driver on ARCH_MXC generally.
Signed-off-by: Roland Stigge <[email protected]>
---
drivers/rtc/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- linux-2.6.orig/drivers/rtc/Kconfig
+++ linux-2.6/drivers/rtc/Kconfig
@@ -768,7 +768,7 @@ config RTC_DRV_DAVINCI
config RTC_DRV_IMXDI
tristate "Freescale IMX DryIce Real Time Clock"
- depends on SOC_IMX25
+ depends on ARCH_MXC
help
Support for Freescale IMX DryIce RTC
This patch adds device tree support to the rtc-imxdi driver.
Signed-off-by: Roland Stigge <[email protected]>
---
Documentation/devicetree/bindings/rtc/imxdi-rtc.txt | 17 +++++++++++++++++
drivers/rtc/rtc-imxdi.c | 11 +++++++++++
2 files changed, 28 insertions(+)
--- /dev/null
+++ linux-2.6/Documentation/devicetree/bindings/rtc/imxdi-rtc.txt
@@ -0,0 +1,17 @@
+* i.MX25 Real Time Clock controller
+
+This binding supports the following chips: i.MX25, i.MX53
+
+Required properties:
+- compatible: should be: "fsl,imx25-rtc"
+- reg: physical base address of the controller and length of memory mapped
+ region.
+- interrupts: rtc alarm interrupt
+
+Example:
+
+rtc@80056000 {
+ compatible = "fsl,imx53-rtc", "fsl,imx25-rtc";
+ reg = <0x80056000 2000>;
+ interrupts = <29>;
+};
--- linux-2.6.orig/drivers/rtc/rtc-imxdi.c
+++ linux-2.6/drivers/rtc/rtc-imxdi.c
@@ -37,6 +37,7 @@
#include <linux/rtc.h>
#include <linux/sched.h>
#include <linux/workqueue.h>
+#include <linux/of.h>
/* DryIce Register Definitions */
@@ -493,10 +494,20 @@ static int __devexit dryice_rtc_remove(s
return 0;
}
+#ifdef CONFIG_OF
+static const struct of_device_id dryice_dt_ids[] = {
+ { .compatible = "fsl,imx25-rtc" },
+ { /* sentinel */ }
+};
+
+MODULE_DEVICE_TABLE(of, dryice_dt_ids);
+#endif
+
static struct platform_driver dryice_rtc_driver = {
.driver = {
.name = "imxdi_rtc",
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(dryice_dt_ids),
},
.remove = __devexit_p(dryice_rtc_remove),
};
This patch enables support for i.MX53 in addition to i.MX25 by providing a
dummy clock on i.MX53 since this one doesn't have a separate clock for internal
RTC but the driver requests one.
Signed-off-by: Roland Stigge <[email protected]>
---
arch/arm/mach-imx/clk-imx51-imx53.c | 1 +
1 file changed, 1 insertion(+)
--- linux-2.6.orig/arch/arm/mach-imx/clk-imx51-imx53.c
+++ linux-2.6/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -467,6 +467,7 @@ int __init mx53_clocks_init(unsigned lon
clk_register_clkdev(clk[can1_serial_gate], "per", "53fc8000.can");
clk_register_clkdev(clk[can2_ipg_gate], "ipg", "53fcc000.can");
clk_register_clkdev(clk[can2_serial_gate], "per", "53fcc000.can");
+ clk_register_clkdev(clk[dummy], NULL, "53fa4000.rtc");
/* set SDHC root clock to 200MHZ*/
clk_set_rate(clk[esdhc_a_podf], 200000000);
On Thu, Oct 18, 2012 at 06:06:08PM +0200, Roland Stigge wrote:
> This patch enables support for i.MX53 in addition to i.MX25 by enabling the
> driver on ARCH_MXC generally.
>
> Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Sascha Hauer <[email protected]>
> ---
> drivers/rtc/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-2.6.orig/drivers/rtc/Kconfig
> +++ linux-2.6/drivers/rtc/Kconfig
> @@ -768,7 +768,7 @@ config RTC_DRV_DAVINCI
>
> config RTC_DRV_IMXDI
> tristate "Freescale IMX DryIce Real Time Clock"
> - depends on SOC_IMX25
> + depends on ARCH_MXC
> help
> Support for Freescale IMX DryIce RTC
>
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
On Thu, Oct 18, 2012 at 06:06:09PM +0200, Roland Stigge wrote:
> This patch adds device tree support to the rtc-imxdi driver.
>
> Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Sascha Hauer <[email protected]>
> ---
> Documentation/devicetree/bindings/rtc/imxdi-rtc.txt | 17 +++++++++++++++++
> drivers/rtc/rtc-imxdi.c | 11 +++++++++++
> 2 files changed, 28 insertions(+)
>
> --- /dev/null
> +++ linux-2.6/Documentation/devicetree/bindings/rtc/imxdi-rtc.txt
> @@ -0,0 +1,17 @@
> +* i.MX25 Real Time Clock controller
> +
> +This binding supports the following chips: i.MX25, i.MX53
> +
> +Required properties:
> +- compatible: should be: "fsl,imx25-rtc"
> +- reg: physical base address of the controller and length of memory mapped
> + region.
> +- interrupts: rtc alarm interrupt
> +
> +Example:
> +
> +rtc@80056000 {
> + compatible = "fsl,imx53-rtc", "fsl,imx25-rtc";
> + reg = <0x80056000 2000>;
> + interrupts = <29>;
> +};
> --- linux-2.6.orig/drivers/rtc/rtc-imxdi.c
> +++ linux-2.6/drivers/rtc/rtc-imxdi.c
> @@ -37,6 +37,7 @@
> #include <linux/rtc.h>
> #include <linux/sched.h>
> #include <linux/workqueue.h>
> +#include <linux/of.h>
>
> /* DryIce Register Definitions */
>
> @@ -493,10 +494,20 @@ static int __devexit dryice_rtc_remove(s
> return 0;
> }
>
> +#ifdef CONFIG_OF
> +static const struct of_device_id dryice_dt_ids[] = {
> + { .compatible = "fsl,imx25-rtc" },
> + { /* sentinel */ }
> +};
> +
> +MODULE_DEVICE_TABLE(of, dryice_dt_ids);
> +#endif
> +
> static struct platform_driver dryice_rtc_driver = {
> .driver = {
> .name = "imxdi_rtc",
> .owner = THIS_MODULE,
> + .of_match_table = of_match_ptr(dryice_dt_ids),
> },
> .remove = __devexit_p(dryice_rtc_remove),
> };
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
On Thu, Oct 18, 2012 at 06:06:10PM +0200, Roland Stigge wrote:
> This patch enables support for i.MX53 in addition to i.MX25 by providing a
> dummy clock on i.MX53 since this one doesn't have a separate clock for internal
> RTC but the driver requests one.
>
> Signed-off-by: Roland Stigge <[email protected]>
Applied, thanks
Sascha
> ---
> arch/arm/mach-imx/clk-imx51-imx53.c | 1 +
> 1 file changed, 1 insertion(+)
>
> --- linux-2.6.orig/arch/arm/mach-imx/clk-imx51-imx53.c
> +++ linux-2.6/arch/arm/mach-imx/clk-imx51-imx53.c
> @@ -467,6 +467,7 @@ int __init mx53_clocks_init(unsigned lon
> clk_register_clkdev(clk[can1_serial_gate], "per", "53fc8000.can");
> clk_register_clkdev(clk[can2_ipg_gate], "ipg", "53fcc000.can");
> clk_register_clkdev(clk[can2_serial_gate], "per", "53fcc000.can");
> + clk_register_clkdev(clk[dummy], NULL, "53fa4000.rtc");
>
> /* set SDHC root clock to 200MHZ*/
> clk_set_rate(clk[esdhc_a_podf], 200000000);
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |