aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2013-12-06 21:50:55 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2013-12-23 10:35:39 +0100
commit50ecb9c11131a31bc6f0d0e0b5fcbd5aab36e5e0 (patch)
tree0a5ae0f9b4dadebe761bf8865e69fae2372a2d3a
parentd26da9c8f0794f473f476a69821abffb52996237 (diff)
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>
-rw-r--r--src/arch/x86/lib/romstage_console.c4
-rw-r--r--src/console/Kconfig14
-rw-r--r--src/northbridge/intel/sandybridge/raminit.c2
3 files changed, 13 insertions, 7 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,12 +173,18 @@ config USBDEBUG
If unsure, say N.
+if USBDEBUG
+
config USBDEBUG_IN_ROMSTAGE
- bool
- default y if USBDEBUG && EARLY_CBMEM_INIT && EARLY_CONSOLE
- default n
+ 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 USBDEBUG
+ If unsure, say Y.
config USBDEBUG_HCD_INDEX
int
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