diff options
author | Peter Chen <peter.chen@freescale.com> | 2014-04-23 15:56:37 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-04-24 12:56:34 -0700 |
commit | d03cccff9c768342d9576dde744ab3acb69d3ad4 (patch) | |
tree | 0b676ca2835f28606b6a457e90fb5831a3b6d2d5 /drivers/usb/chipidea/otg.c | |
parent | 72ee92d1337007c6c0165fbf62bfb183ae138116 (diff) | |
download | blackbird-obmc-linux-d03cccff9c768342d9576dde744ab3acb69d3ad4.tar.gz blackbird-obmc-linux-d03cccff9c768342d9576dde744ab3acb69d3ad4.zip |
usb: chipidea: coordinate usb phy initialization for different phy type
For internal PHY (like UTMI), the phy clock may from internal pll,
it is on/off on the fly, the access PORTSC.PTS will hang without
phy clock. So, the usb_phy_init which will open phy clock needs to
be called before hw_phymode_configure.
See: http://marc.info/?l=linux-arm-kernel&m=139350618732108&w=2
For external PHY (like ulpi), it needs to configure portsc.pts before
visit viewport, or the viewport can't be visited. so phy_phymode_configure
needs to be called before usb_phy_init.
See: cd0b42c2a6d2a74244f0053f8960f5dad5842278
It may not the best solution, but it can work for all situations.
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Chris Ruehl <chris.ruehl@gtsys.com.hk>
Cc: shc_work@mail.ru
Cc: denis@eukrea.com
Cc: festevam@gmail.com
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/chipidea/otg.c')
0 files changed, 0 insertions, 0 deletions