Hi, 2011/6/5 Todd Poynor <[email protected]>: > In general, the imprecise external abort usually means an access was made to > registers of a module whose clock is gated. The calls to clk_enable() > within usbhs_enable() probably aren't following the proper sequence of > ensuring the CD_L3_INIT clock domain is on (CM_L3INIT_CLKSTCTRL.CLKTRCTRL = > 0x2 SW_WKUP) and then the associated module slaves woken up > (CM_L3INIT_HSUSBHOST_CLKCTRL.MODULEMODE = 0x2 Enabled, similar > for CM_L3INIT_HSUSBTLL_CLKCTRL). Probably needs calls to the OMAP device > layer to set those up, but I dunno the details of this device or why it > broke. >
No doubt, it is caused by gated clock, ehci will be OK if revert the commit below: commit 7e6502d577106fb5b202bbaac64c5f1b065e6daa Author: Keshava Munegowda <[email protected]> Date: Sun May 22 22:51:26 2011 +0200 mfd: Add omap-usbhs runtime PM support The usbhs core driver does not enable/disable the interface and functional clocks; These clocks are handled by hwmod and runtime pm, hence insted of the clock enable/disable, the runtime pm APIS are used. however,the port clocks and tll clocks are handled by the usbhs core. Signed-off-by: Keshava Munegowda <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]> -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
