soc/intel/skl: correct OC pin skip value for disabled usb ports
Commit 056d552 introduced a bug where 0xFF gets set as OC pin value to
supposedly skip programming an OC pin for a disabled USB port. While the
value is correct for the other platforms, Skylake uses 0x08 for this
purpose. Correct this by using the enum value OC_SKIP (0x08) instead.
Change-Id: I41a8df3dce3712b4ab27c4e6e10160b2207406d1
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48003
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
diff --git a/src/soc/intel/skylake/chip.c b/src/soc/intel/skylake/chip.c
index e2aee07..ada06f2 100644
--- a/src/soc/intel/skylake/chip.c
+++ b/src/soc/intel/skylake/chip.c
@@ -26,6 +26,7 @@
#include <soc/pci_devs.h>
#include <soc/ramstage.h>
#include <soc/systemagent.h>
+#include <soc/usb.h>
#include <string.h>
#include "chip.h"
@@ -151,16 +152,16 @@
if (config->usb2_ports[i].enable)
params->Usb2OverCurrentPin[i] = config->usb2_ports[i].ocpin;
else
- params->Usb2OverCurrentPin[i] = 0xff;
+ params->Usb2OverCurrentPin[i] = OC_SKIP;
}
for (i = 0; i < ARRAY_SIZE(config->usb3_ports); i++) {
params->PortUsb30Enable[i] = config->usb3_ports[i].enable;
- if (config->usb3_ports[i].enable) {
+ if (config->usb3_ports[i].enable)
params->Usb3OverCurrentPin[i] = config->usb3_ports[i].ocpin;
- } else {
- params->Usb3OverCurrentPin[i] = 0xff;
- }
+ else
+ params->Usb3OverCurrentPin[i] = OC_SKIP;
+
if (config->usb3_ports[i].tx_de_emp) {
params->Usb3HsioTxDeEmphEnable[i] = 1;
params->Usb3HsioTxDeEmph[i] =