On Wed, Jan 22, 2014 at 10:41:33PM +0100, Uwe Kleine-König wrote:Peter,Hello,Hi Uwe,
On Wed, Jan 22, 2014 at 10:49:51AM +0100, Uwe Kleine-König wrote:On Tue, Dec 03, 2013 at 04:01:50PM +0800, Chris Ruehl wrote:I debugged that a bit further and the problem is thatusb: chipidea: hw_phymode_configure moved before ci_usb_phy_initThis patch (or a later revision of it to be more exact) made it into
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 detected, because the Viewport was not
available and read the viewport return 0's only.
mainline as cd0b42c2a6d2.
On an i.MX27 based machine I'm hitting an oops (see below) on
next-20140116 + a few patches. (I didn't switch to 3.13+ yet, as I think
not everything I need has landed there.) The oops goes away (and still
better, lsusb reports my connected devices instead of "unable to
initialize libusb: -99") when I do at least one of the following:
- set CONFIG_USB_CHIPIDEA=y instead of =m
- revert commit
cd0b42c2a6d2 (usb: chipidea: put hw_phymode_configure before ci_usb_phy_init)
hw_phymode_configure depends on the phy's clk being enabled (i.e.
usb_ipg_gate) and this is only enforced in ci_usb_phy_init (via
usb_phy_init -> usb_gen_phy_init). When CONFIG_USB_CHIPIDEA=y the init
call to disable all unused clocks wasn't run yet and so the clock is
still on as this is the boot default.
I am a little puzzled at your platform
- Which phy you have used? ulpi phy ,internal phy or other external phy?
- If you use ulpi phy, why you still need to use nop phy driver?
Besides, according to chris patch, the ulpi can only be visited after
hw_phymode_configure?
- Do you have some hardware related operation at phy's probe? If it exists,
why not move it to phy->init?
Peter
Considering that it's already late today and that I don't know the
chipidea driver I'm sure there are people who can come up with a better
patch with less effort than me. Any volunteers?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |