]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: OMAP3: hwmod data: keep MIDLEMODE in force-standby for musb
authorGrazvydas Ignotas <notasas@gmail.com>
Mon, 11 Mar 2013 19:49:00 +0000 (21:49 +0200)
committerPaul Walmsley <paul@pwsan.com>
Wed, 13 Mar 2013 10:13:07 +0000 (04:13 -0600)
commitb80b5a621451a30755d26187a812210e1ac6d1b2
treec53fd22c15be70639b44f2d42b4b9ab2992ef1ae
parent2e7e60669f14b58ce087042a0040e91300f553a5
ARM: OMAP3: hwmod data: keep MIDLEMODE in force-standby for musb

For some unknown reason, allowing hwmod to control MIDLEMODE causes
core_pwrdm to not hit idle states for musb in DM3730 at least.
I've verified that setting any MIDLEMODE value other than "force
standby" before enabling the device causes subsequent suspend
attempts to fail with core_pwrdm not entering idle states, even
if the driver is unloaded and "force standby" is restored before
suspend attempt. To recover from this, soft reset can be used, but
that's not suitable solution for suspend.

Keeping the register set at force standby (reset value) makes it work
and device still functions properly, as musb has driver-controlled
OTG_FORCESTDBY register that controls MSTANDBY signal.
Note that TI PSP kernels also have similar workarounds.

This patch also fixes HWMOD_SWSUP_MSTANDBY documentation to match the
actual flag name.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/omap_hwmod.h
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c