[coreboot-gerrit] Patch set updated for coreboot: 4bf8980 bd82x6x/xhci: Set mask of ports switchable between USB2 and USB3.
Vladimir Serbinenko (phcoder@gmail.com)
gerrit at coreboot.org
Sun Feb 1 00:49:45 CET 2015
Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8312
-gerrit
commit 4bf89808965e5ac11941e2c9c2989552c6cbfbcf
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date: Sat Jan 31 17:45:50 2015 +0100
bd82x6x/xhci: Set mask of ports switchable between USB2 and USB3.
Change-Id: Ica1cc90715c1810668e3f4f7282e5757a5688483
Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
src/southbridge/intel/bd82x6x/chip.h | 5 +++++
src/southbridge/intel/bd82x6x/usb_xhci.c | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/src/southbridge/intel/bd82x6x/chip.h b/src/southbridge/intel/bd82x6x/chip.h
index 290bb05..f4be82d 100644
--- a/src/southbridge/intel/bd82x6x/chip.h
+++ b/src/southbridge/intel/bd82x6x/chip.h
@@ -89,6 +89,11 @@ struct southbridge_intel_bd82x6x_config {
int docking_supported;
uint8_t pcie_hotplug_map[8];
+
+ /* Ports which can be routed to either EHCI or xHCI. */
+ uint32_t xhci_switchable_ports;
+ /* Ports which support SuperSpeed (USB 3.0 additional lanes). */
+ uint32_t superspeed_capable_ports;
};
#endif /* SOUTHBRIDGE_INTEL_BD82X6X_CHIP_H */
diff --git a/src/southbridge/intel/bd82x6x/usb_xhci.c b/src/southbridge/intel/bd82x6x/usb_xhci.c
index 19c419f..eb89a7d 100644
--- a/src/southbridge/intel/bd82x6x/usb_xhci.c
+++ b/src/southbridge/intel/bd82x6x/usb_xhci.c
@@ -29,6 +29,7 @@
static void usb_xhci_init(struct device *dev)
{
u32 reg32;
+ struct southbridge_intel_bd82x6x_config *config = dev->chip_info;
printk(BIOS_DEBUG, "XHCI: Setting up controller.. ");
@@ -37,6 +38,9 @@ static void usb_xhci_init(struct device *dev)
reg32 |= 1;
pci_write_config32(dev, 0x44, reg32);
+ pci_write_config32(dev, 0xd4, config->xhci_switchable_ports);
+ pci_write_config32(dev, 0xdc, config->superspeed_capable_ports);
+
/* Enable clock gating */
reg32 = pci_read_config32(dev, 0x40);
reg32 &= ~((1 << 20) | (1 << 21));
More information about the coreboot-gerrit
mailing list