From: Chris Ruehl Date: Fri, 10 Jan 2014 05:51:30 +0000 (+0800) Subject: usb: chipidea: put hw_phymode_configure before ci_usb_phy_init X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cd0b42c2a6d2a74244f0053f8960f5dad5842278;p=linux-beck.git usb: chipidea: put hw_phymode_configure before ci_usb_phy_init hw_phymode_configure configures the PORTSC registers and allow the following phy_inits to operate on the right parameters. This fix a problem where the UPLI (ISP1504) could not be detected, because the Viewport was not available and read the viewport return 0's only. Signed-off-by: Chris Ruehl Signed-off-by: Peter Chen Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index edeec3638684..33f22bc6ad7f 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -559,6 +559,8 @@ static int ci_hdrc_probe(struct platform_device *pdev) return -ENODEV; } + hw_phymode_configure(ci); + ret = ci_usb_phy_init(ci); if (ret) { dev_err(dev, "unable to init phy: %d\n", ret); @@ -576,8 +578,6 @@ static int ci_hdrc_probe(struct platform_device *pdev) ci_get_otg_capable(ci); - hw_phymode_configure(ci); - dr_mode = ci->platdata->dr_mode; /* initialize role(s) before the interrupt is requested */ if (dr_mode == USB_DR_MODE_OTG || dr_mode == USB_DR_MODE_HOST) {