Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/78827?usp=email )
Change subject: sb/intel/bd82x6x/early_usb: Print error for invalid USB setting ......................................................................
sb/intel/bd82x6x/early_usb: Print error for invalid USB setting
According to BWG the USB current setting 0 should not be used for desktop boards. As autoport defaults to 0 if the USB current doesn't match one of the lookup table entries most of the desktop boards in tree have a such setting. Print an error to alert users of such boards to update the USB current settings.
Change-Id: If76e9126b4aba8e16c1c91dece725aac12e1a7e9 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/southbridge/intel/bd82x6x/early_usb.c 1 file changed, 8 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/27/78827/1
diff --git a/src/southbridge/intel/bd82x6x/early_usb.c b/src/southbridge/intel/bd82x6x/early_usb.c index 654d44b..27a9c57 100644 --- a/src/southbridge/intel/bd82x6x/early_usb.c +++ b/src/southbridge/intel/bd82x6x/early_usb.c @@ -23,8 +23,15 @@ /* Unlock registers. */ write_pmbase16(UPRWC, read_pmbase16(UPRWC) | UPRWC_WR_EN);
- for (i = 0; i < 14; i++) + for (i = 0; i < 14; i++) { + if (get_platform_type() == PLATFORM_DESKTOP_SERVER && + portmap[i].current == 0) { + printk(BIOS_ERR, "%s: USB%02d: current setting of 0 is not a valid setting for desktop!\n", + __func__, i); + } + RCBA32(USBIR0 + 4 * i) = currents[portmap[i].current]; + } for (i = 0; i < 10; i++) RCBA32(0x3538 + 4 * i) = 0;