|
@@ -129,6 +129,15 @@ static int fsl_ehci_drv_probe(struct platform_device *pdev)
|
|
|
if (pdata->have_sysif_regs && pdata->controller_ver < FSL_USB_VER_1_6)
|
|
|
setbits32(hcd->regs + FSL_SOC_USB_CTRL, 0x4);
|
|
|
|
|
|
+ /*
|
|
|
+ * Enable UTMI phy and program PTS field in UTMI mode before asserting
|
|
|
+ * controller reset for USB Controller version 2.5
|
|
|
+ */
|
|
|
+ if (pdata->has_fsl_erratum_a007792) {
|
|
|
+ writel_be(CTRL_UTMI_PHY_EN, hcd->regs + FSL_SOC_USB_CTRL);
|
|
|
+ writel(PORT_PTS_UTMI, hcd->regs + FSL_SOC_USB_PORTSC1);
|
|
|
+ }
|
|
|
+
|
|
|
/* Don't need to set host mode here. It will be done by tdi_reset() */
|
|
|
|
|
|
retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
|