Skip to contentSkip to conversation

linux-3.0: system suspend leaves usbhost clocks enabled

DISCUSSION Peter Barada 1 participant 1 message Dec 19, 2011

lore
Share & tools
lore
#0 lore raw

I'm working with linux-3.0 (I know its not the latest), and I have the USB host working.

However when I try to suspend, the usbhost power domain doesn't go into suspend. I've added code to capture the PRCM registers in SRAM just before the WFI is executed and dump them after it resumes. For usbhost I'm seeing:

48005400 CM_FCLKEN_USBHOST    00000003 != 00000000
48005410 CM_ICLKEN_USBHOST    00000001 != 00000000
48005420 CM_IDLEST_USBHOST    00000000 != 00000003

Which means that the usbhost interface/function clocks are not disabled. I also noticed in the core/peripheral domain that a lot of interface clocks are enabled (compared to the older 2.6.32 kernel I was working on), even for devices that I don't have any platform_device for(so the device's probe will fail).

As far as I can tell, the only place the usbhost f/i clocks are enabled is in omap_hsusb_enable(), and disabled in omap_hsusb_disable(). I see omap_hsusb_eneable() called on startup, but never see omap_hsusb_disable() called during system suspend.

Any ideas how I can get the usbhost clocks disabled across a board suspend?

Signature · 2 lines
Peter Barada
[email protected]