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
This commit is contained in:
parent
779b3e3129
commit
3b6c527322
|
@ -66,12 +66,12 @@ static void main(unsigned long bist)
|
||||||
if (bist == 0)
|
if (bist == 0)
|
||||||
early_mtrr_init();
|
early_mtrr_init();
|
||||||
|
|
||||||
enable_smbus();
|
|
||||||
|
|
||||||
lpc47b272_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
lpc47b272_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
||||||
uart_init();
|
uart_init();
|
||||||
console_init();
|
console_init();
|
||||||
|
|
||||||
|
enable_smbus();
|
||||||
|
|
||||||
/* Halt if there was a built in self test failure. */
|
/* Halt if there was a built in self test failure. */
|
||||||
report_bist_failure(bist);
|
report_bist_failure(bist);
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,6 @@ static void main(unsigned long bist)
|
||||||
if (bist == 0)
|
if (bist == 0)
|
||||||
early_mtrr_init();
|
early_mtrr_init();
|
||||||
|
|
||||||
enable_smbus();
|
|
||||||
|
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
outb(0x87, 0x2e);
|
outb(0x87, 0x2e);
|
||||||
outb(0x87, 0x2e);
|
outb(0x87, 0x2e);
|
||||||
|
@ -64,6 +62,9 @@ static void main(unsigned long bist)
|
||||||
|
|
||||||
uart_init();
|
uart_init();
|
||||||
console_init();
|
console_init();
|
||||||
|
|
||||||
|
enable_smbus();
|
||||||
|
|
||||||
report_bist_failure(bist);
|
report_bist_failure(bist);
|
||||||
/* dump_spd_registers(&memctrl[0]); */
|
/* dump_spd_registers(&memctrl[0]); */
|
||||||
sdram_initialize(ARRAY_SIZE(memctrl), memctrl);
|
sdram_initialize(ARRAY_SIZE(memctrl), memctrl);
|
||||||
|
|
|
@ -101,13 +101,13 @@ static void main(unsigned long bist)
|
||||||
hard_reset();
|
hard_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
enable_smbus();
|
|
||||||
|
|
||||||
smscsuperio_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
smscsuperio_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
||||||
mb_gpio_init();
|
mb_gpio_init();
|
||||||
uart_init();
|
uart_init();
|
||||||
console_init();
|
console_init();
|
||||||
|
|
||||||
|
enable_smbus();
|
||||||
|
|
||||||
/* Prevent the TCO timer from rebooting us */
|
/* Prevent the TCO timer from rebooting us */
|
||||||
i82801xx_halt_tco_timer();
|
i82801xx_halt_tco_timer();
|
||||||
|
|
||||||
|
|
|
@ -101,13 +101,13 @@ static void main(unsigned long bist)
|
||||||
hard_reset();
|
hard_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
enable_smbus();
|
|
||||||
|
|
||||||
smscsuperio_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
smscsuperio_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
||||||
mb_gpio_init();
|
mb_gpio_init();
|
||||||
uart_init();
|
uart_init();
|
||||||
console_init();
|
console_init();
|
||||||
|
|
||||||
|
enable_smbus();
|
||||||
|
|
||||||
/* Prevent the TCO timer from rebooting us */
|
/* Prevent the TCO timer from rebooting us */
|
||||||
i82801xx_halt_tco_timer();
|
i82801xx_halt_tco_timer();
|
||||||
|
|
||||||
|
|
|
@ -108,12 +108,12 @@ static void main(unsigned long bist)
|
||||||
pci_write_config8(dev, 0x15, 0x1c);
|
pci_write_config8(dev, 0x15, 0x1c);
|
||||||
}
|
}
|
||||||
|
|
||||||
enable_smbus();
|
|
||||||
|
|
||||||
enable_vt8235_serial();
|
enable_vt8235_serial();
|
||||||
uart_init();
|
uart_init();
|
||||||
console_init();
|
console_init();
|
||||||
|
|
||||||
|
enable_smbus();
|
||||||
|
|
||||||
print_spew("In auto.c:main()\r\n");
|
print_spew("In auto.c:main()\r\n");
|
||||||
|
|
||||||
/* Halt if there was a built in self test failure */
|
/* Halt if there was a built in self test failure */
|
||||||
|
|
Loading…
Reference in New Issue