XHCI USB: Add port routing for Intel BayTrail USB device.

* from FreeBSD.
This commit is contained in:
Jérôme Duval 2014-10-21 17:55:36 +02:00
parent 9bf4e99477
commit 5ce63aed59
2 changed files with 5 additions and 2 deletions

View File

@ -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");
@ -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

View File

@ -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