lkml.org 
[lkml]   [2000]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch] AMD SC400 support, kernel 2.3.99


On Wed, 22 Mar 2000, Giuliano Procida wrote:

> according to the AMD Elan 520 manual, the timer is actually 1.1882 -
> could you double check your figure and/or make mention of the Elan520
> in your patch? I suppose we should check with AMD and make sure we get
> all of their weird ones.

According to the SC520 manual, the input to the PIT is 1.1882MHz.
According to the SC300/310/400/410 manuals, the input is 1.1892MHz.
I think that covers all of the ELAN processors and their
apparently inconsistent weirdness; the ELAN processors are the only
ones AMD makes with the on-board PIT.

An updated patch that handles all of the above is attached.


- Jason Sodergren - jason@taiga.com - http://www.taiga.com/~jason -
- PGPK @ http://www/taiga.com/~jason/pgp.phtml -

diff -u -r linux/arch/i386/config.in linux-2.3.99/arch/i386/config.in
--- linux/arch/i386/config.in Sun Mar 12 22:49:24 2000
+++ linux-2.3.99/arch/i386/config.in Wed Mar 22 12:50:32 2000
@@ -33,6 +33,10 @@
define_bool CONFIG_X86_BSWAP y
define_bool CONFIG_X86_POPAD_OK y
fi
+if [ "$CONFIG_M386" = "y" -o "$CONFIG_M486" = "y" -o "$CONFIG_M586" = "y" ]; then
+ bool 'AMD ELAN (SC300/SC310/SC400/SC410/SC520) support' CONFIG_AMD_ELAN
+fi
+
if [ "$CONFIG_M686" = "y" -o "$CONFIG_M586TSC" = "y" ]; then
define_bool CONFIG_X86_TSC y
fi
diff -u -r linux/include/asm-i386/timex.h linux-2.3.99/include/asm-i386/timex.h
--- linux/include/asm-i386/timex.h Sat Mar 18 15:10:59 2000
+++ linux-2.3.99/include/asm-i386/timex.h Wed Mar 22 12:53:22 2000
@@ -9,7 +9,18 @@
#include <linux/config.h>
#include <asm/msr.h>

-#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */
+#ifdef CONFIG_AMD_ELAN
+
+#ifndef CONFIG_M586
+#define CLOCK_TICK_RATE 1189200 /* Underlying HZ on AMD SC300/310/400/410 */
+#else
+#define CLOCK_TICK_RATE 1188200 /* Underlying HZ on AMD SC520 */
+#endif
+
+#else
+#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */
+#endif
+
#define CLOCK_TICK_FACTOR 20 /* Factor of both 1000000 and CLOCK_TICK_RATE */
#define FINETUNE ((((((long)LATCH * HZ - CLOCK_TICK_RATE) << SHIFT_HZ) * \
(1000000/CLOCK_TICK_FACTOR) / (CLOCK_TICK_RATE/CLOCK_TICK_FACTOR)) \
\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.033 / U:0.696 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site