summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2013-06-06 10:39:48 +0300
committerRonald G. Minnich <rminnich@gmail.com>2013-06-12 05:22:46 +0200
commitb7d7cfbb308688170b43f0990229ba29230c65f1 (patch)
tree77051815bddd5440e8f3cfe33686e31643f9113e
parent5272a5feb74075da2edf2056f3d737543d0890b1 (diff)
usbdebug: Quirk for board aopen/dxplplusu
This ancient board with Intel e7505 invalidates cache while it does HW scrubbing for ECC in romstage. This breaks usbdebug console and prevents system from booting. If both EARLY_CONSOLE and USBDEBUG are selected, skip ECC scrubbing under these rare conditions to boot system. Change-Id: I6cb43bf69af54119f4a582dcaf498dd941d4c62d Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/3385 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marc.jones@se-eng.com> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--src/mainboard/aopen/dxplplusu/romstage.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mainboard/aopen/dxplplusu/romstage.c b/src/mainboard/aopen/dxplplusu/romstage.c
index 9b9679219f..98701f9b23 100644
--- a/src/mainboard/aopen/dxplplusu/romstage.c
+++ b/src/mainboard/aopen/dxplplusu/romstage.c
@@ -70,9 +70,11 @@ void main(unsigned long bist)
* scrub_ecc() are recovered to stack via xmm0-xmm3.
*/
#if CONFIG_HW_SCRUBBER
+#if ! ( CONFIG_USBDEBUG && CONFIG_EARLY_CONSOLE )
unsigned long ret_addr = (unsigned long)((unsigned long*)&bist - 1);
e7505_mch_scrub_ecc(ret_addr);
#endif
+#endif
/* Hook for post ECC scrub settings and debug. */
e7505_mch_done(memctrl);