• Kevin Hilman's avatar
    omap3: PM: enable UART3 module wakeups · b427f92f
    Kevin Hilman authored
    UART3 is in the PER powerdomain.  If PER goes idle/inactive
    independently of CORE, for UART3 to wakeup it must have its wakeup
    enable bits setup in PM_WKEN_PER.  This patch enables these bits.
    
    The reason it works when PER and CORE work together is because when
    CORE goes inactive/retention, the IOPAD wakeups are enabled and
    trigger UART3 wakeup.
    
    Without this patch, when the UART inactivity timer fires for UART3,
    its clocks are disabled and it's unable to wakeup so will be unusable
    until PER is awoken by another source.
    
    Another way of testing is by keeping CORE on during suspend but
    allowing PER to hit retention
    
      # echo 3 > /debug/pm_debug/core_pwrdm/suspend
    
    then enter suspend
    
      # echo mem > /sys/power/state
    
    Without this patch, UART3 will be unable to wakeup the system.
    Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    b427f92f
pm34xx.c 20.9 KB