summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEric Biederman <ebiederm@xmission.com>2004-10-23 02:47:13 +0000
committerEric Biederman <ebiederm@xmission.com>2004-10-23 02:47:13 +0000
commit60216355d21fae62daf00afa66443b03ed743e2a (patch)
tree18e3eb1ba2abbac7cc2e49803354ee1a1303e060 /src
parent720a8f57ef1a1a4264354dd9601c53e12b82ae36 (diff)
- With Xeon cpus it seems best to use the tsc calibrated with timer2 as
the time source. The apic timer also has a variable time base. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1711 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src')
-rw-r--r--src/cpu/intel/model_f2x/Config.lb7
-rw-r--r--src/cpu/intel/model_f2x/apic_timer.c26
-rw-r--r--src/mainboard/tyan/s2735/Options.lb6
3 files changed, 6 insertions, 33 deletions
diff --git a/src/cpu/intel/model_f2x/Config.lb b/src/cpu/intel/model_f2x/Config.lb
index b985ffc12d..e5121065b8 100644
--- a/src/cpu/intel/model_f2x/Config.lb
+++ b/src/cpu/intel/model_f2x/Config.lb
@@ -1,5 +1,3 @@
-uses CONFIG_UDELAY_TSC
-
dir /cpu/x86/mtrr
dir /cpu/x86/fpu
dir /cpu/x86/mmx
@@ -10,8 +8,3 @@ dir /cpu/intel/microcode
dir /cpu/intel/hyperthreading
driver model_f2x_init.o
-if CONFIG_UDELAY_TSC
- dir /cpu/x86/tsc
-else
- object apic_timer.o
-end
diff --git a/src/cpu/intel/model_f2x/apic_timer.c b/src/cpu/intel/model_f2x/apic_timer.c
deleted file mode 100644
index 5a81f912c5..0000000000
--- a/src/cpu/intel/model_f2x/apic_timer.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdint.h>
-#include <delay.h>
-#include <cpu/x86/msr.h>
-#include <cpu/x86/lapic.h>
-
-void init_timer(void)
-{
- /* Set the apic timer to no interrupts and periodic mode */
- lapic_write(LAPIC_LVTT, (1 << 17)|(1<< 16)|(0 << 12)|(0 << 0));
- /* Set the divider to 1, no divider */
- lapic_write(LAPIC_TDCR, LAPIC_TDR_DIV_1);
- /* Set the initial counter to 0xffffffff */
- lapic_write(LAPIC_TMICT, 0xffffffff);
-}
-
-void udelay(unsigned usecs)
-{
- uint32_t start, value, ticks;
- /* Calculate the number of ticks to run, our FSB runs a 200Mhz */
- ticks = usecs * 200;
- start = lapic_read(LAPIC_TMCCT);
- do {
- value = lapic_read(LAPIC_TMCCT);
- } while((start - value) < ticks);
-
-}
diff --git a/src/mainboard/tyan/s2735/Options.lb b/src/mainboard/tyan/s2735/Options.lb
index cecb58bb9f..c68fd37489 100644
--- a/src/mainboard/tyan/s2735/Options.lb
+++ b/src/mainboard/tyan/s2735/Options.lb
@@ -79,6 +79,12 @@ default HAVE_HARD_RESET=1
#default HARD_RESET_FUNCTION=0
##
+## Delay timer options
+##
+default CONFIG_UDELAY_TSC=1
+default CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2=1
+
+##
## Build code to export a programmable irq routing table
##
default HAVE_PIRQ_TABLE=1