diff options
author | Uwe Hermann <uwe@hermann-uwe.de> | 2008-11-11 14:26:03 +0000 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2008-11-11 14:26:03 +0000 |
commit | 3b6c527322259d6ae7878411ca26ee6dd9374b3c (patch) | |
tree | 9e4b8603e0864aff57aa0642ca4e5e119191904f | |
parent | 779b3e312901d4ef533d5cc13f551bab2823de08 (diff) | |
download | coreboot-3b6c527322259d6ae7878411ca26ee6dd9374b3c.tar.xz |
Always enable serial before SMBus (or as early as possible), as the SMBus
enable may do printk()s which result in a 2 minute delay on some boards.
Fix this on all boards which currently do smbus_enable() before enabling
the serial console.
Thanks to Elia Yehuda <z4ziggy@gmail.com> for tracking this bug down.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3742 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | src/mainboard/asus/mew-vm/auto.c | 4 | ||||
-rw-r--r-- | src/mainboard/msi/ms6178/auto.c | 5 | ||||
-rw-r--r-- | src/mainboard/rca/rm4100/auto.c | 4 | ||||
-rw-r--r-- | src/mainboard/thomson/ip1000/auto.c | 4 | ||||
-rw-r--r-- | src/mainboard/via/epia-m/auto.c | 4 |
5 files changed, 11 insertions, 10 deletions
diff --git a/src/mainboard/asus/mew-vm/auto.c b/src/mainboard/asus/mew-vm/auto.c index b0874e2069..78f9f48254 100644 --- a/src/mainboard/asus/mew-vm/auto.c +++ b/src/mainboard/asus/mew-vm/auto.c @@ -66,12 +66,12 @@ static void main(unsigned long bist) if (bist == 0) early_mtrr_init(); - enable_smbus(); - lpc47b272_enable_serial(SERIAL_DEV, TTYS0_BASE); uart_init(); console_init(); + enable_smbus(); + /* Halt if there was a built in self test failure. */ report_bist_failure(bist); diff --git a/src/mainboard/msi/ms6178/auto.c b/src/mainboard/msi/ms6178/auto.c index 0ae4e0a1b8..d92aa6b53b 100644 --- a/src/mainboard/msi/ms6178/auto.c +++ b/src/mainboard/msi/ms6178/auto.c @@ -53,8 +53,6 @@ static void main(unsigned long bist) if (bist == 0) early_mtrr_init(); - enable_smbus(); - /* FIXME */ outb(0x87, 0x2e); outb(0x87, 0x2e); @@ -64,6 +62,9 @@ static void main(unsigned long bist) uart_init(); console_init(); + + enable_smbus(); + report_bist_failure(bist); /* dump_spd_registers(&memctrl[0]); */ sdram_initialize(ARRAY_SIZE(memctrl), memctrl); diff --git a/src/mainboard/rca/rm4100/auto.c b/src/mainboard/rca/rm4100/auto.c index 14c50cb78c..833f5ba3fd 100644 --- a/src/mainboard/rca/rm4100/auto.c +++ b/src/mainboard/rca/rm4100/auto.c @@ -101,13 +101,13 @@ static void main(unsigned long bist) hard_reset(); } - enable_smbus(); - smscsuperio_enable_serial(SERIAL_DEV, TTYS0_BASE); mb_gpio_init(); uart_init(); console_init(); + enable_smbus(); + /* Prevent the TCO timer from rebooting us */ i82801xx_halt_tco_timer(); diff --git a/src/mainboard/thomson/ip1000/auto.c b/src/mainboard/thomson/ip1000/auto.c index 205d11b63e..8760f89d6f 100644 --- a/src/mainboard/thomson/ip1000/auto.c +++ b/src/mainboard/thomson/ip1000/auto.c @@ -101,13 +101,13 @@ static void main(unsigned long bist) hard_reset(); } - enable_smbus(); - smscsuperio_enable_serial(SERIAL_DEV, TTYS0_BASE); mb_gpio_init(); uart_init(); console_init(); + enable_smbus(); + /* Prevent the TCO timer from rebooting us */ i82801xx_halt_tco_timer(); diff --git a/src/mainboard/via/epia-m/auto.c b/src/mainboard/via/epia-m/auto.c index ac50b96373..04ef1a74e7 100644 --- a/src/mainboard/via/epia-m/auto.c +++ b/src/mainboard/via/epia-m/auto.c @@ -108,12 +108,12 @@ static void main(unsigned long bist) pci_write_config8(dev, 0x15, 0x1c); } - enable_smbus(); - enable_vt8235_serial(); uart_init(); console_init(); + enable_smbus(); + print_spew("In auto.c:main()\r\n"); /* Halt if there was a built in self test failure */ |