The basis for this patch has been discussed on l-a-k on a thread
with subject line "IXP4xx timer interupt bug" then later on
[email protected] on a thread "ixp4xx variable
timer base issue".
The problem is that the NSLU2 deviates from the Intel IXDP425
system by using a cystal with frequency 66MHz as opposed to the
Intel stated (not quite mandated) value of 66.666666MHz. This
results in serious errors in the RTC (1%).
The patch configs in the correct value for the NSLU2. The problem
with the patch is that a multi-config kernel which includes NSLU2
support will use the NSLU2 frequency. However such kernels are
not a requirement as generic kernels are never flashed into NSLU2
systems (so there is no need to build NSLU2 support into a generic
kernel).
Signed-off-by: John Bowler <[email protected]>
--- linux-2.6.13.1/include/asm-arm/arch-ixp4xx/timex.h 2005-09-17 12:42:45.000000000 +0200
+++ nslu2-2.6.13.1/include/asm-arm/arch-ixp4xx/timex.h 2005-09-17 12:15:31.000000000 +0200
@@ -9,7 +9,12 @@
* We use IXP425 General purpose timer for our timer needs, it runs at
* 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.
+ * The NSLU2 has a 33.00MHz crystal, so a different FREQ is required.
*/
+#ifdef CONFIG_MACH_NSLU2
+#define FREQ 66000000
+#else
#define FREQ 66666666
+#endif
#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]