From 50ecb9c11131a31bc6f0d0e0b5fcbd5aab36e5e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Fri, 6 Dec 2013 21:50:55 +0200 Subject: [PATCH] usbdebug: Add option to disable console for romstage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: http://review.coreboot.org/4488 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc Reviewed-by: Paul Menzel Reviewed-by: Aaron Durbin --- src/arch/x86/lib/romstage_console.c | 4 ++-- src/console/Kconfig | 16 +++++++++++----- src/northbridge/intel/sandybridge/raminit.c | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/arch/x86/lib/romstage_console.c b/src/arch/x86/lib/romstage_console.c index fc90085ccd..278ef1a433 100644 --- a/src/arch/x86/lib/romstage_console.c +++ b/src/arch/x86/lib/romstage_console.c @@ -49,7 +49,7 @@ void console_tx_byte(unsigned char byte) #if CONFIG_CONSOLE_SERIAL8250 uart8250_tx_byte(CONFIG_TTYS0_BASE, byte); #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); #endif #if CONFIG_CONSOLE_NE2K @@ -74,7 +74,7 @@ void console_tx_flush(void) #if CONFIG_CONSOLE_NE2K ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT); #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()); #endif } diff --git a/src/console/Kconfig b/src/console/Kconfig index cd923ae5b8..40903c1c16 100644 --- a/src/console/Kconfig +++ b/src/console/Kconfig @@ -173,13 +173,19 @@ config USBDEBUG If unsure, say N. -config USBDEBUG_IN_ROMSTAGE - bool - default y if USBDEBUG && EARLY_CBMEM_INIT && EARLY_CONSOLE - default n - 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 int default 0 diff --git a/src/northbridge/intel/sandybridge/raminit.c b/src/northbridge/intel/sandybridge/raminit.c index 3b321d72b2..333a6b5296 100644 --- a/src/northbridge/intel/sandybridge/raminit.c +++ b/src/northbridge/intel/sandybridge/raminit.c @@ -276,7 +276,7 @@ void sdram_initialize(struct pei_data *pei_data) 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 */ usbdebug_init(); #endif