• Grazvydas Ignotas's avatar
    ARM: OMAP3: hwmod data: keep MIDLEMODE in force-standby for musb · 092bc089
    Grazvydas Ignotas authored
    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: default avatarGrazvydas Ignotas <notasas@gmail.com>
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    092bc089
omap_hwmod.c 118 KB