When moving to support partition reboot or android auto on XEN,
linux kernel will runs into runtime suspend state, and the usb
will be configured to low power suspend state by Linux.
Then we reboot and runs into U-Boot, however the usb already in
suspended state and uboot not able to lock the phy pll,
after clearing PHCD to out of suspended state, the phy pll could be
locked and fastboot works.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Suggested-by: Li Jun <jun.li@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit
999ae3e37bc8fea05ac984eb043dd925d80f1208)
(cherry picked from commit
93e07b3135685f2123d19003fa3ab75c00fc6948)
int ehci_mx6_common_init(struct usb_ehci *ehci, int index)
{
int ret;
+ u32 portsc;
enable_usboh3_clk(1);
mdelay(1);
+ portsc = readl(&ehci->portsc);
+ if (portsc & PORT_PTS_PHCD) {
+ debug("suspended: portsc %x, enabled it.\n", portsc);
+ clrbits_le32(&ehci->portsc, PORT_PTS_PHCD);
+ }
+
/* Do board specific initialization */
ret = board_ehci_hcd_init(index);
if (ret)