usbdebug: Add option to disable console for romstage

If there is trouble setting up usbdebug, it may be useful to delay
usbdebug init to run in ramstage.

Change-Id: I31de5a06d3f9ce19f71c422cce0c8cb0fd50f396
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/4488
Tested-by: build bot (Jenkins)
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin@google.com>
This commit is contained in:
Kyösti Mälkki 2013-12-06 21:50:55 +02:00
parent d26da9c8f0
commit 50ecb9c111
3 changed files with 14 additions and 8 deletions

View File

@ -49,7 +49,7 @@ void console_tx_byte(unsigned char byte)
#if CONFIG_CONSOLE_SERIAL8250 #if CONFIG_CONSOLE_SERIAL8250
uart8250_tx_byte(CONFIG_TTYS0_BASE, byte); uart8250_tx_byte(CONFIG_TTYS0_BASE, byte);
#endif #endif
#if CONFIG_USBDEBUG && (CONFIG_EARLY_CBMEM_INIT || !defined(__PRE_RAM__)) #if CONFIG_USBDEBUG && (CONFIG_USBDEBUG_IN_ROMSTAGE || !defined(__PRE_RAM__))
usbdebug_tx_byte(dbgp_console_output(), byte); usbdebug_tx_byte(dbgp_console_output(), byte);
#endif #endif
#if CONFIG_CONSOLE_NE2K #if CONFIG_CONSOLE_NE2K
@ -74,7 +74,7 @@ void console_tx_flush(void)
#if CONFIG_CONSOLE_NE2K #if CONFIG_CONSOLE_NE2K
ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT); ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
#endif #endif
#if CONFIG_USBDEBUG && (CONFIG_EARLY_CBMEM_INIT || !defined(__PRE_RAM__)) #if CONFIG_USBDEBUG && (CONFIG_USBDEBUG_IN_ROMSTAGE || !defined(__PRE_RAM__))
usbdebug_tx_flush(dbgp_console_output()); usbdebug_tx_flush(dbgp_console_output());
#endif #endif
} }

View File

@ -173,13 +173,19 @@ config USBDEBUG
If unsure, say N. If unsure, say N.
config USBDEBUG_IN_ROMSTAGE
bool
default y if USBDEBUG && EARLY_CBMEM_INIT && EARLY_CONSOLE
default n
if USBDEBUG if USBDEBUG
config USBDEBUG_IN_ROMSTAGE
bool "Enable early (pre-RAM) usbdebug console output."
default y
depends on EARLY_CBMEM_INIT && EARLY_CONSOLE
help
Configuring USB controllers in system-agent binary may cause
problems to usbdebug. Disabling this option delays usbdebug to
be setup on entry to ramstage.
If unsure, say Y.
config USBDEBUG_HCD_INDEX config USBDEBUG_HCD_INDEX
int int
default 0 default 0

View File

@ -276,7 +276,7 @@ void sdram_initialize(struct pei_data *pei_data)
die("UEFI PEI System Agent not found.\n"); die("UEFI PEI System Agent not found.\n");
} }
#if CONFIG_USBDEBUG #if CONFIG_USBDEBUG_IN_ROMSTAGE
/* mrc.bin reconfigures USB, so reinit it to have debug */ /* mrc.bin reconfigures USB, so reinit it to have debug */
usbdebug_init(); usbdebug_init();
#endif #endif