[ARM] Orion: add the option to support different ehci phy initialization

The Orion ehci driver serves the Orion, kirkwood and DD Soc families.
Since each of those integrate a different USB phy we should have the
ability to use few initialization sequences or to leave the boot loader
phy settings as is.

Signed-off-by: Ronen Shitrit <rshitrit@marvell.com>
This commit is contained in:
Ronen Shitrit
2008-09-17 10:08:05 +03:00
committed by Nicolas Pitre
parent 061e41fdb5
commit fb6f552930
5 changed files with 25 additions and 3 deletions

View 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)