• Paul Walmsley's avatar
    [ARM] OMAP3 pwrdm: add hardware save-and-restore (SAR) support · 0b7cbfb5
    Paul Walmsley authored
    OMAP3430ES2+ introduces a new feature: optional powerdomain context
    hardware save-and-restore (SAR).  Currently, this feature only applies
    to USBHOST and USBTLL module context when the USBHOST or CORE
    powerdomains enter a low-power sleep state[1].  This feature avoids
    re-enumeration of USB devices when the powerdomains return from idle,
    which is potentially time-consuming.
    
    This patch adds support for enabling and disabling hardware
    save-and-restore to the powerdomain code.  Three new functions are
    added, pwrdm_enable_hdwr_sar(), pwrdm_disable_hdwr_sar(), and
    pwrdm_can_hdwr_sar().  A new struct powerdomain "flags" field is
    added, with a PWRDM_HAS_HDWR_SAR flag to indicate powerdomains with
    SAR support.
    
    Thanks to Jouni Högander <jouni.hogander@nokia.com> for reviewing an
    earlier version of these patches, and Richard Woodruff <r-woodruff2@ti.com>
    for clarifying the purpose of these bits.
    
    1.  For the USBHOST controller module, context loss occurs when the
        USBHOST powerdomain enters off-idle.  For USBTLL, context loss
        occurs either if CORE enters off-idle, or if the CORE logic is
        configured to turn off when CORE enters retention-idle (OSWR).
        34xx ES2 TRM 4.8.6.1.1, 4.8.6.1.2
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    0b7cbfb5
powerdomain.h 4.83 KB