summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2006-04-13 19:44:50 +0000
committerRonald G. Minnich <rminnich@gmail.com>2006-04-13 19:44:50 +0000
commitea9db56d0e78499faf38a5d8e0c2125275c69ef2 (patch)
tree95b8fa90f043258d1024a592794c6c8f31706cdf
parentd8d8fffa0edc8b86f1efab2f3a44c9d53cefe556 (diff)
downloadcoreboot-ea9db56d0e78499faf38a5d8e0c2125275c69ef2.tar.xz
add SystemPreInit() and support
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2254 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/cpu/amd/model_gx2/syspreinit.c22
-rw-r--r--src/mainboard/amd/rumba/auto.c3
-rw-r--r--src/mainboard/lippert/frontrunner/auto.c4
3 files changed, 26 insertions, 3 deletions
diff --git a/src/cpu/amd/model_gx2/syspreinit.c b/src/cpu/amd/model_gx2/syspreinit.c
new file mode 100644
index 0000000000..e3ad95235d
--- /dev/null
+++ b/src/cpu/amd/model_gx2/syspreinit.c
@@ -0,0 +1,22 @@
+/* ***************************************************************************/
+/* **/
+/* * StartTimer1*/
+/* **/
+/* * Entry: none*/
+/* * Exit: Starts Timer 1 for port 61 use*/
+/* * Destroys: Al,*/
+/* **/
+/* ***************************************************************************/
+void
+StartTimer1(void){
+ outb(0x56, 0x43);
+ outb(0x12, 0x41);
+}
+
+void
+SystemPreInit(void){
+
+ /* they want a jump ... */
+ __asm__("jmp .+2\ninvd\njmp.+2\n");
+ StartTimer1();
+}
diff --git a/src/mainboard/amd/rumba/auto.c b/src/mainboard/amd/rumba/auto.c
index dae503b696..ac9c2e5222 100644
--- a/src/mainboard/amd/rumba/auto.c
+++ b/src/mainboard/amd/rumba/auto.c
@@ -101,7 +101,7 @@ static void sdram_set_spd_registers(const struct mem_controller *ctrl)
#define PLLMSRlo2 ((1<<14) |(1<<13) | (1<<0))
#include "northbridge/amd/gx2/pll_reset.c"
#include "cpu/amd/model_gx2/cpureginit.c"
-
+#include "cpu/amd/model_gx2/syspreinit.c"
static void msr_init(void)
{
__builtin_wrmsr(0x1808, 0x10f3bf00, 0x22fffc02);
@@ -144,6 +144,7 @@ static void main(unsigned long bist)
{.channel0 = {(0xa<<3)|0, (0xa<<3)|1}}
};
+ SystemPreInit();
msr_init();
w83627hf_enable_serial(SERIAL_DEV, TTYS0_BASE);
diff --git a/src/mainboard/lippert/frontrunner/auto.c b/src/mainboard/lippert/frontrunner/auto.c
index 47c0565bdd..781fe1d0d2 100644
--- a/src/mainboard/lippert/frontrunner/auto.c
+++ b/src/mainboard/lippert/frontrunner/auto.c
@@ -48,7 +48,7 @@ static void sdram_set_spd_registers(const struct mem_controller *ctrl)
#define PLLMSRlo2 ((1<<14) |(1<<13) | (1<<0))
#include "northbridge/amd/gx2/pll_reset.c"
#include "cpu/amd/model_gx2/cpureginit.c"
-
+#include "cpu/amd/model_gx2/syspreinit.c"
static void msr_init(void)
{
__builtin_wrmsr(0x1808, 0x10f3bf00, 0x22fffc02);
@@ -81,7 +81,7 @@ static void main(unsigned long bist)
{.channel0 = {(0xa<<3)|0, (0xa<<3)|1}}
};
unsigned char temp;
-
+ SystemPreInit();
msr_init();
w83627hf_enable_serial(SERIAL_DEV, TTYS0_BASE);