ARM: AM43XX: hwmod: Add rtc hwmod
authorKeerthy <j-keerthy@ti.com>
Fri, 19 Feb 2016 04:38:55 +0000 (10:08 +0530)
committerPaul Walmsley <paul@pwsan.com>
Fri, 19 Feb 2016 04:46:19 +0000 (21:46 -0700)
The patch registers the rtc hwmod on AM437x chips.  The RTC module is
physically present on the AM438x SoC used on AM43X-EPOS-EVM, but it is
permanently disabled. A secure RTC is used instead on these devices,
where needed. Hence adding it selectively using a separate list to get
RTC Module functional on the other am43x SoCs used on am437x-gp-evm
and am437x-sk-evm.

Signed-off-by: Keerthy <j-keerthy@ti.com>
[paul@pwsan.com: cleaned up patch description]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/omap_hwmod_43xx_data.c

index e97a894b5f883723c94d8ac0649346df21d4398c..97fd399202dcb6a8825e90b91e4872f452ae70e1 100644 (file)
@@ -1020,9 +1020,21 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
        NULL,
 };
 
+static struct omap_hwmod_ocp_if *am43xx_rtc_hwmod_ocp_ifs[] __initdata = {
+       &am33xx_l4_wkup__rtc,
+       NULL,
+};
+
 int __init am43xx_hwmod_init(void)
 {
+       int ret;
+
        omap_hwmod_am43xx_reg();
        omap_hwmod_init();
-       return omap_hwmod_register_links(am43xx_hwmod_ocp_ifs);
+       ret = omap_hwmod_register_links(am43xx_hwmod_ocp_ifs);
+
+       if (!ret && of_machine_is_compatible("ti,am4372"))
+               ret = omap_hwmod_register_links(am43xx_rtc_hwmod_ocp_ifs);
+
+       return ret;
 }