From: "Chang, Rebecca Swee Fun" <[email protected]>

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 <[email protected]>
---
 ...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 <[email protected]>
+---
+ 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

_______________________________________________
linux-yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to