]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/usb/host/ehci-orion.c
Merge branch 'for-rmk' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel
[linux-2.6-omap-h63xx.git] / drivers / usb / host / ehci-orion.c
index 5416cf9690056a3f72c526255914fe992f00c0f0..9d487908012e56fb515d82576ccdbd5db71fa480 100644 (file)
@@ -33,8 +33,9 @@
 /*
  * Implement Orion USB controller specification guidelines
  */
-static void orion_usb_setup(struct usb_hcd *hcd)
+static void orion_usb_phy_v1_setup(struct usb_hcd *hcd)
 {
+       /* The below GLs are according to the Orion Errata document */
        /*
         * Clear interrupt cause and mask
         */
@@ -258,9 +259,19 @@ static int __init ehci_orion_drv_probe(struct platform_device *pdev)
                ehci_orion_conf_mbus_windows(hcd, pd->dram);
 
        /*
-        * setup Orion USB controller
+        * setup Orion USB controller.
         */
-       orion_usb_setup(hcd);
+       switch (pd->phy_version) {
+       case EHCI_PHY_NA:       /* dont change USB phy settings */
+               break;
+       case EHCI_PHY_ORION:
+               orion_usb_phy_v1_setup(hcd);
+               break;
+       case EHCI_PHY_DD:
+       case EHCI_PHY_KW:
+       default:
+               printk(KERN_WARNING "Orion ehci -USB phy version isn't supported.\n");
+       }
 
        err = usb_add_hcd(hcd, irq, IRQF_SHARED | IRQF_DISABLED);
        if (err)