]> git.neil.brown.name Git - history.git/commitdiff
[CPUFREQ] Add VIA Nehemiah scaling ratios.
authorDave Jones <davej@redhat.com>
Tue, 7 Oct 2003 18:52:44 +0000 (19:52 +0100)
committerDave Jones <davej@redhat.com>
Tue, 7 Oct 2003 18:52:44 +0000 (19:52 +0100)
arch/i386/kernel/cpu/cpufreq/longhaul.c
arch/i386/kernel/cpu/cpufreq/longhaul.h

index 9c9966c6efbc8b61537c9fe0e9f31698380b8fb0..3744382de9ca38ed6c591cfc1919c517f9b2bb90 100644 (file)
@@ -410,6 +410,8 @@ static int longhaul_cpu_init (struct cpufreq_policy *policy)
                cpuname = "C3 'Nehemiah' [C5N]";
                longhaul_version=3;
                numscales=32;
+               memcpy (clock_ratio, nehemiah_clock_ratio, sizeof(nehemiah_clock_ratio));
+               memcpy (eblcr_table, nehemiah_eblcr, sizeof(nehemiah_eblcr));
        */
        default:
                cpuname = "Unknown";
index cf7478a794104481e30c13aaa5b22b591cea80ba..a14e8230c9a6164fe9c9c861fcc72a1f5db51005 100644 (file)
@@ -232,7 +232,79 @@ static int __initdata ezrat_eblcr[32] = {
        145, /* 1111 -> 14.5x */
 };
 
+/*
+ * VIA C3 Nehemiah */
+static int __initdata nehemiah_clock_ratio[32] = {
+       100, /* 0000 -> 10.0x */
+       160, /* 0001 -> 16.0x */
+       -1,  /* 0010 -> RESERVED */
+       90,  /* 0011 ->  9.0x */
+       95,  /* 0100 ->  9.5x */
+       -1,  /* 0101 -> RESERVED */
+       -1,  /* 0110 -> RESERVED */
+       55,  /* 0111 ->  5.5x */
+       60,  /* 1000 ->  6.0x */
+       70,  /* 1001 ->  7.0x */
+       80,  /* 1010 ->  8.0x */
+       50,  /* 1011 ->  5.0x */
+       65,  /* 1100 ->  6.5x */
+       75,  /* 1101 ->  7.5x */
+       85,  /* 1110 ->  8.5x */
+       120, /* 1111 ->  12.0x */
 
+       100, /* 0000 -> 10.0x */
+       110, /* 0001 -> 11.0x */
+       120, /* 0010 -> 12.0x */
+       90,  /* 0011 ->  9.0x */
+       105, /* 0100 -> 10.5x */
+       115, /* 0101 -> 11.5x */
+       125, /* 0110 -> 12.5x */
+       135, /* 0111 -> 13.5x */
+       140, /* 1000 -> 14.0x */
+       150, /* 1001 -> 15.0x */
+       160, /* 1010 -> 16.0x */
+       130, /* 1011 -> 13.0x */
+       145, /* 1100 -> 14.5x */
+       155, /* 1101 -> 15.5x */
+       -1,  /* 1110 -> RESERVED */
+       120, /* 1111 -> 12.0x */
+};
+
+static int __initdata nehemiah_eblcr[32] = {
+       50,  /* 0000 ->  5.0x */
+       160, /* 0001 -> 16.0x */
+       -1,  /* 0010 -> RESERVED */
+       100, /* 0011 -> 10.0x */
+       55,  /* 0100 ->  5.5x */
+       -1,  /* 0101 -> RESERVED */
+       -1,  /* 0110 -> RESERVED */
+       95,  /* 0111 ->  9.5x */
+       90,  /* 1000 ->  9.0x */
+       70,  /* 1001 ->  7.0x */
+       80,  /* 1010 ->  8.0x */
+       60,  /* 1011 ->  6.0x */
+       120, /* 1100 -> 12.0x */
+       75,  /* 1101 ->  7.5x */
+       85,  /* 1110 ->  8.5x */
+       65,  /* 1111 ->  6.5x */
+
+       90,  /* 0000 ->  9.0x */
+       110, /* 0001 -> 11.0x */
+       120, /* 0010 -> 12.0x */
+       100, /* 0011 -> 10.0x */
+       135, /* 0100 -> 13.5x */
+       115, /* 0101 -> 11.5x */
+       125, /* 0110 -> 12.5x */
+       105, /* 0111 -> 10.5x */
+       130, /* 1000 -> 13.0x */
+       150, /* 1001 -> 15.0x */
+       160, /* 1010 -> 16.0x */
+       140, /* 1011 -> 14.0x */
+       120, /* 1100 -> 12.0x */
+       155, /* 1101 -> 15.5x */
+       -1,  /* 1110 -> RESERVED */
+       -1,  /* 1111 -> RESERVED */
+};
 /* 
  * Voltage scales. Div/Mod by 1000 to get actual voltage.
  * Which scale to use depends on the VRM type in use.