[PATCH] omap4: clocks: Make dmtimer clocks calls OMAP4 compatible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The gptimer library has been adapted for the OMAP4 way of clock calls.
In OMAP4, the iclk are hw controlled and no sw control is available.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
---
 arch/arm/plat-omap/dmtimer.c |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index 24bf692..e4bfeed 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -428,7 +428,9 @@ void omap_dm_timer_enable(struct omap_dm_timer *timer)
 #ifdef CONFIG_ARCH_OMAP2PLUS
 	if (cpu_class_is_omap2()) {
 		clk_enable(timer->fclk);
-		clk_enable(timer->iclk);
+		/* OMAP4 iclk are hw controlled and no sw control available */
+		if (!cpu_is_omap44xx())
+			clk_enable(timer->iclk);
 	}
 #endif
 
@@ -443,7 +445,9 @@ void omap_dm_timer_disable(struct omap_dm_timer *timer)
 
 #ifdef CONFIG_ARCH_OMAP2PLUS
 	if (cpu_class_is_omap2()) {
-		clk_disable(timer->iclk);
+		/* OMAP4 iclk are hw controlled and no sw control available */
+		if (!cpu_is_omap44xx())
+			clk_disable(timer->iclk);
 		clk_disable(timer->fclk);
 	}
 #endif
@@ -781,10 +785,19 @@ int __init omap_dm_timer_init(void)
 #ifdef CONFIG_ARCH_OMAP2PLUS
 		if (cpu_class_is_omap2()) {
 			char clk_name[16];
-			sprintf(clk_name, "gpt%d_ick", i + 1);
-			timer->iclk = clk_get(NULL, clk_name);
-			sprintf(clk_name, "gpt%d_fck", i + 1);
-			timer->fclk = clk_get(NULL, clk_name);
+			/*
+			 * OMAP4 iclks are hw controlled and no sw control
+			 * is available
+			 */
+			if (cpu_is_omap44xx()) {
+				sprintf(clk_name, "gptimer%d_ck", i + 1);
+				timer->fclk = clk_get(NULL, clk_name);
+			} else {
+				sprintf(clk_name, "gpt%d_ick", i + 1);
+				timer->iclk = clk_get(NULL, clk_name);
+				sprintf(clk_name, "gpt%d_fck", i + 1);
+				timer->fclk = clk_get(NULL, clk_name);
+			}
 		}
 #endif
 	}
-- 
1.6.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux