]> git.baikalelectronics.ru Git - kernel.git/commit
usb: musb: omap2430: Fix retention idle on musb peripheral only boards
authorJarkko Nikula <jhnikula@gmail.com>
Wed, 27 Apr 2011 14:02:37 +0000 (17:02 +0300)
committerFelipe Balbi <balbi@ti.com>
Mon, 2 May 2011 09:34:32 +0000 (12:34 +0300)
commit8470985f86b2732b5eeb24ba9f4cab037cfc6f13
treeef90c8a3bc44c70d5eb122911ae50f4685d41f2e
parent4ac80a4fa15e01b0c69e225fce09539cab4a280b
usb: musb: omap2430: Fix retention idle on musb peripheral only boards

Recent runtime pm and hwmod conversions for 2.6.39 broke the musb peripheral
mode OMAP retention idle on boards where the board mode in struct
musb_hdrc_platform_data is set to MUSB_PERIPHERAL.

These conversions changed the way how the OTG_SYSCONFIG register is
configured and used in runtime. Before 2.6.39 smart standby/idle modes were
activated statically in OTG_SYSCONFIG. Those modes allow that the musb is
able to idle when peripheral device is not connected to host.

In 2.6.39 the OTG_SYSCONFIG is updated runtime depending on VBUS status.
No standby/idle modes are used when device is connected and force
standby/idle when disconnected.

Unfortunately VBUS disconnect event that handles the disconnect case lets
the peripheral musb to idle only when board mode is MUSB_OTG. Fix this by
checking the peripheral mode also.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/omap2430.c