usb: chipidea: move hw_phymode_configure() into probe
Currently hw_phymode_configure() is located inside hw_device_reset(), which is only called by chipidea udc driver. When operating in host mode, we also need to call hw_phymode_configure() in order to properly configure the PHY mode, so move this function into probe. After this change, USB Host1 port on mx53qsb board is functional. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Tested-by: Arnaud Patard <arnaud.patard@rtp-net.org> Reviewed-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5bb3da0ec0
commit
03779f05be
|
@ -264,8 +264,6 @@ int hw_device_reset(struct ci_hdrc *ci, u32 mode)
|
||||||
while (hw_read(ci, OP_USBCMD, USBCMD_RST))
|
while (hw_read(ci, OP_USBCMD, USBCMD_RST))
|
||||||
udelay(10); /* not RTOS friendly */
|
udelay(10); /* not RTOS friendly */
|
||||||
|
|
||||||
hw_phymode_configure(ci);
|
|
||||||
|
|
||||||
if (ci->platdata->notify_event)
|
if (ci->platdata->notify_event)
|
||||||
ci->platdata->notify_event(ci,
|
ci->platdata->notify_event(ci,
|
||||||
CI_HDRC_CONTROLLER_RESET_EVENT);
|
CI_HDRC_CONTROLLER_RESET_EVENT);
|
||||||
|
@ -457,6 +455,8 @@ static int ci_hdrc_probe(struct platform_device *pdev)
|
||||||
if (!ci->platdata->phy_mode)
|
if (!ci->platdata->phy_mode)
|
||||||
ci->platdata->phy_mode = of_usb_get_phy_mode(dev->of_node);
|
ci->platdata->phy_mode = of_usb_get_phy_mode(dev->of_node);
|
||||||
|
|
||||||
|
hw_phymode_configure(ci);
|
||||||
|
|
||||||
if (!ci->platdata->dr_mode)
|
if (!ci->platdata->dr_mode)
|
||||||
ci->platdata->dr_mode = of_usb_get_dr_mode(dev->of_node);
|
ci->platdata->dr_mode = of_usb_get_dr_mode(dev->of_node);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue