Skip to contentSkip to conversation

Fix IXP4xx CLOCK_TICK_RATE

PATCH New Deepak Saxena 1 participant 1 message Aug 23, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix IXP4xx CLOCK_TICK_RATE

[RMK is out for the week so sending this direct as it should go into 2.6.13]

As pointed out in the following thread, the CLOCK_TICK_RATE setting for IXP4xx is incorrect b/c the HW ignores the lowest 2 bits of the LATCH value.

http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2005-August/030950.html

Tnx to George Anziger and Egil Hjelmeland for finding the issue.

include/asm-arm/arch-ixp4xx/timex.h +4 -2
@@ -7,7 +7,9 @@
 
 /*
  * We use IXP425 General purpose timer for our timer needs, it runs at 
- * 66.66... MHz
+ * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
+ * timer register ignores the bottom 2 bits of the LATCH value.
  */
-#define CLOCK_TICK_RATE (66666666)
+#define FREQ 66666666
+#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
 
Signature · 3 lines
Deepak Saxena - [email protected] - http://www.plexity.net

Even a stopped clock gives the right time twice a day.