[PATCH] ARM i.MX clocksource: fix timer source selection

Sascha Hauer s.hauer at pengutronix.de
Wed Sep 26 05:41:52 EDT 2012


- The i.MX1 timer does not have IPG clock as source, so rename
  the define accordingly
- for the i.MX31 timer we want to use the per clock, not the ipg
  clock.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/mach-imx/clocksource.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-imx/clocksource.c b/arch/arm/mach-imx/clocksource.c
index 5fa6201..69a688c 100644
--- a/arch/arm/mach-imx/clocksource.c
+++ b/arch/arm/mach-imx/clocksource.c
@@ -43,8 +43,9 @@
 #define TCTL_SWR			(1 << 15)	/* Software reset */
 #define IMX1_TCTL_FRR			(1 << 8)	/* Freerun / restart */
 #define IMX31_TCTL_FRR			(1 << 9)	/* Freerun / restart */
-#define IMX1_TCTL_CLKSOURCE_IPG		(1 << 1)	/* Clock source bit position */
+#define IMX1_TCTL_CLKSOURCE_PER		(1 << 1)	/* Clock source bit position */
 #define IMX31_TCTL_CLKSOURCE_IPG	(1 << 6)	/* Clock source bit position */
+#define IMX31_TCTL_CLKSOURCE_PER	(2 << 6)	/* Clock source bit position */
 #define TCTL_TEN			(1 << 0)	/* Timer enable */
 
 static struct clk *clk_gpt;
@@ -56,12 +57,12 @@ struct imx_gpt_regs {
 
 static struct imx_gpt_regs regs_imx1 = {
 	.tcn = 0x10,
-	.tctl_val = IMX1_TCTL_FRR | IMX1_TCTL_CLKSOURCE_IPG | TCTL_TEN,
+	.tctl_val = IMX1_TCTL_FRR | IMX1_TCTL_CLKSOURCE_PER | TCTL_TEN,
 };
 
 static struct imx_gpt_regs regs_imx31 = {
 	.tcn = 0x24,
-	.tctl_val = IMX31_TCTL_FRR | IMX31_TCTL_CLKSOURCE_IPG | TCTL_TEN,
+	.tctl_val = IMX31_TCTL_FRR | IMX31_TCTL_CLKSOURCE_PER | TCTL_TEN,
 };
 
 static struct imx_gpt_regs *regs;
-- 
1.7.10.4




More information about the barebox mailing list