[linux-yocto] [PATCH 1/4] valleyisland-io: enable USB controller support for Baytrail
rebecca.swee.fun.chang at intel.com
rebecca.swee.fun.chang at intel.com
Sun Dec 8 20:03:30 PST 2013
From: "Chang, Rebecca Swee Fun" <rebecca.swee.fun.chang at intel.com>
Baytrail has 2 USB controllers, namely, EHCI controller and XHCI
controller. This patch will add PCI device ID for Baytrail to have
USB EHCI and XHCI controller support.
Signed-off-by: Chang, Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com>
---
...upport-for-Intel-Baytrail-USB-controllers.patch | 60 ++++++++++++++++++++
1 file changed, 60 insertions(+)
create mode 100644 meta/cfg/kernel-cache/features/valleyisland-io/0011-usb-add-support-for-Intel-Baytrail-USB-controllers.patch
diff --git a/meta/cfg/kernel-cache/features/valleyisland-io/0011-usb-add-support-for-Intel-Baytrail-USB-controllers.patch b/meta/cfg/kernel-cache/features/valleyisland-io/0011-usb-add-support-for-Intel-Baytrail-USB-controllers.patch
new file mode 100644
index 0000000..f0978ee
--- /dev/null
+++ b/meta/cfg/kernel-cache/features/valleyisland-io/0011-usb-add-support-for-Intel-Baytrail-USB-controllers.patch
@@ -0,0 +1,60 @@
+usb: add support for Baytrail USB controllers
+
+Intel Baytrail has 1 EHCI controller and 1 XHCI controller.
+
+Signed-off-by: Chang, Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com>
+---
+ drivers/usb/host/ehci-pci.c | 3 ++-
+ drivers/usb/host/pci-quirks.c | 12 +++++++++++-
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
+index 170b939..2f9e35a 100644
+--- a/drivers/usb/host/ehci-pci.c
++++ b/drivers/usb/host/ehci-pci.c
+@@ -332,7 +332,8 @@ static bool usb_is_intel_switchable_ehci(struct pci_dev *pdev)
+ (pdev->device == 0x1E26 ||
+ pdev->device == 0x8C2D ||
+ pdev->device == 0x8C26 ||
+- pdev->device == 0x9C26);
++ pdev->device == 0x9C26 ||
++ pdev->device == 0x0F34);
+ }
+
+ static void ehci_enable_xhci_companion(void)
+diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
+index 4c338ec..4375c5e 100644
+--- a/drivers/usb/host/pci-quirks.c
++++ b/drivers/usb/host/pci-quirks.c
+@@ -724,6 +724,7 @@ static int handshake(void __iomem *ptr, u32 mask, u32 done,
+
+ #define PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI 0x8C31
+ #define PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI 0x9C31
++#define PCI_DEVICE_ID_INTEL_BYT_XHCI 0x0F35
+
+ bool usb_is_intel_ppt_switchable_xhci(struct pci_dev *pdev)
+ {
+@@ -741,10 +742,19 @@ bool usb_is_intel_lpt_switchable_xhci(struct pci_dev *pdev)
+ pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI);
+ }
+
++/* The Intel BYT also has switchable ports. */
++bool usb_is_intel_byt_switchable_xhci(struct pci_dev *pdev)
++{
++ return pdev->class == PCI_CLASS_SERIAL_USB_XHCI &&
++ pdev->vendor == PCI_VENDOR_ID_INTEL &&
++ pdev->device == PCI_DEVICE_ID_INTEL_BYT_XHCI;
++}
++
+ bool usb_is_intel_switchable_xhci(struct pci_dev *pdev)
+ {
+ return usb_is_intel_ppt_switchable_xhci(pdev) ||
+- usb_is_intel_lpt_switchable_xhci(pdev);
++ usb_is_intel_lpt_switchable_xhci(pdev)||
++ usb_is_intel_byt_switchable_xhci(pdev);
+ }
+ EXPORT_SYMBOL_GPL(usb_is_intel_switchable_xhci);
+
+--
+1.7.10.4
+
--
1.7.10.4
More information about the linux-yocto
mailing list