summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/olpc/rev_a/auto.c8
-rw-r--r--src/southbridge/amd/cs5536/cs5536_early_setup.c16
2 files changed, 16 insertions, 8 deletions
diff --git a/src/mainboard/olpc/rev_a/auto.c b/src/mainboard/olpc/rev_a/auto.c
index 06c235bf66..65c87103c1 100644
--- a/src/mainboard/olpc/rev_a/auto.c
+++ b/src/mainboard/olpc/rev_a/auto.c
@@ -157,12 +157,16 @@ static void main(unsigned long bist)
SystemPreInit();
msr_init();
+ cs5536_early_setup();
+
+ /* NOTE: must do this AFTER the early_setup!
+ * it is counting on some early MSR setup
+ * for cs5536
+ */
cs5536_setup_onchipuart();
uart_init();
console_init();
- cs5536_early_setup();
-
pll_reset();
cpuRegInit();
diff --git a/src/southbridge/amd/cs5536/cs5536_early_setup.c b/src/southbridge/amd/cs5536/cs5536_early_setup.c
index bf77087a47..710adccf7c 100644
--- a/src/southbridge/amd/cs5536/cs5536_early_setup.c
+++ b/src/southbridge/amd/cs5536/cs5536_early_setup.c
@@ -232,6 +232,10 @@ static int cs5536_setup_onchipuart(void)
wrmsr(MDD_LEG_IO,msr);
}
+/* note: you can't do prints in here in most cases,
+ * and we don't want to hang on serial, so they are
+ * commented out
+ */
static int cs5536_early_setup(void)
{
msr_t msr;
@@ -241,19 +245,19 @@ static int cs5536_early_setup(void)
msr = rdmsr(GLCP_SYS_RSTPLL);
if (msr.lo & (0x3f << 26)) {
/* PLL is already set and we are reboot from PLL reset */
- print_debug("reboot from BIOS reset\n\r");
+ //print_debug("reboot from BIOS reset\n\r");
return;
}
- print_debug("Setup idsel\r\n");
+ //print_debug("Setup idsel\r\n");
cs5536_setup_idsel();
- print_debug("Setup iobase\r\n");
+ //print_debug("Setup iobase\r\n");
cs5536_usb_swapsif();
cs5536_setup_iobase();
- print_debug("Setup gpio\r\n");
+ //print_debug("Setup gpio\r\n");
cs5536_setup_gpio();
- print_debug("Setup cis_mode\r\n");
+ //print_debug("Setup cis_mode\r\n");
cs5536_setup_cis_mode();
- print_debug("Setup smbus\r\n");
+ //print_debug("Setup smbus\r\n");
cs5536_enable_smbus();
dummy();
}