[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