Skip to content

Commit

Permalink
XHCI USB: Add port routing for Intel BayTrail USB device.
Browse files Browse the repository at this point in the history
* from FreeBSD.
  • Loading branch information
korli committed Oct 21, 2014
1 parent 9bf4e99 commit 5ce63ae
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/add-ons/kernel/busses/usb/xhci.cpp
Expand Up @@ -243,7 +243,8 @@ XHCI::XHCI(pci_info *info, Stack *stack)
if (fPCIInfo->vendor_id == PCI_VENDOR_INTEL
&& (fPCIInfo->device_id == PCI_DEVICE_INTEL_PANTHER_POINT_XHCI
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_LYNX_POINT_XHCI
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_LYNX_POINT_LP_XHCI)) {
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_LYNX_POINT_LP_XHCI
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_BAYTRAIL_XHCI)) {

TRACE("Intel xHC Controller\n");
TRACE("Looking for EHCI owned ports\n");
Expand Down Expand Up @@ -506,7 +507,8 @@ XHCI::Start()
if (fPCIInfo->vendor_id == PCI_VENDOR_INTEL
&& (fPCIInfo->device_id == PCI_DEVICE_INTEL_PANTHER_POINT_XHCI
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_LYNX_POINT_XHCI
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_LYNX_POINT_LP_XHCI)) {
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_LYNX_POINT_LP_XHCI
|| fPCIInfo->device_id == PCI_DEVICE_INTEL_BAYTRAIL_XHCI)) {
WriteRunReg32(XHCI_IMOD(0), 0x000003f8); // 4000 irq/s
} else {
WriteRunReg32(XHCI_IMOD(0), 0x000001f4); // 8000 irq/s
Expand Down
1 change: 1 addition & 0 deletions src/add-ons/kernel/busses/usb/xhci_hardware.h
Expand Up @@ -15,6 +15,7 @@
#define PCI_DEVICE_INTEL_PANTHER_POINT_XHCI 0x1e31
#define PCI_DEVICE_INTEL_LYNX_POINT_XHCI 0x8c31
#define PCI_DEVICE_INTEL_LYNX_POINT_LP_XHCI 0x9c31
#define PCI_DEVICE_INTEL_BAYTRAIL_XHCI 0x0f35

// Intel quirks registers in PCI config
#define XHCI_INTEL_USB3PRM 0xdc // USB 3.0 Port Routing Mask
Expand Down

0 comments on commit 5ce63ae

Please sign in to comment.