On Fri, Jun 05, 2015 at 12:12:19AM +0200, Maciej S. Szmigiero wrote:
> Hi Peter,
> 
> > All imx usb controller's non core registers uses the same clock gate with
> > core registers, the usbmisc_imx is the library for imx glue driver, the
> > glue keeps clock on when it calls usbmisc_imx API to change non-core 
> > register.
> > 
> > Besides, we will support runtime pm in the future, it also needs to
> > close this clock when the usb is not in use.
> > 
> > Philipp Zabel also verifies it at imx6q platform, see
> > http://www.spinics.net/lists/linux-usb/msg118491.html
> > 
> > Cc: Philipp Zabel <p.za...@pengutronix.de>
> > Signed-off-by: Peter Chen <peter.c...@freescale.com>
> > ---
> >  drivers/usb/chipidea/usbmisc_imx.c | 19 -------------------
> >  1 file changed, 19 deletions(-)
> 
> This commit causes hard lockup when loading ci_hdrc_imx module
> on my iMX6DL (UDOO Dual) board.
> 
> Specifically, on current git the lockup happens on read from USBNC
> register in usbmisc_imx6q_set_wakeup() in usbmisc_imx.

The core and NC use the same clock (ahb clock), and the ci_hdrc_imx.c should 
already
enable the clock before calling usbmisc_imx6q_set_wakeup, would you
help dump stack to see what happens?

Besides, have you added clock property at your usbotg node?

> 
> This looks like the point where there is a first read from a register during
> attachment to device.
> 
> Best regards,
> Maciej Szmigiero
> 

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to