• Jon Hunter's avatar
    ARM: OMAP2+: powerdomain code: Fix Wake-up power domain power status · d49cae92
    Jon Hunter authored
    The wake-up power domain is an alway-on power domain and so this power domain
    does not have a power state status (PM_PWSTST_xxx) register that indicates the
    current state. However, during the registering of the wake-up power domain the
    state of the domain is queried by calling pwrdm_read_pwrst(). This actually
    tries to read a register that does not exist and returns a value of 0 that
    indicates that the current state is OFF. The OFF state count of the wake-up
    power domain is then set to 1 and the current state to OFF. Both of which are
    incorrect.
    
    To fix this, if a power domain only supports the ON state, do not attempt to
    read the power state status register and simply return ON as the current power
    state.
    
    This is based upon Tony's current linux-omap master branch.
    
    Testing:
    - Boot tested on OMAP4460 panda.
    - Boot tested on OMAP3430 beagle and validated CORE RET still working (using
      Paul's 32k timer patch [1]).
    
    [1] http://marc.info/?l=linux-omap&m=134000053229888&w=2Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
    Acked-by: default avatarKevin Hilman <khilman@ti.com>
    Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    [paul@pwsan.com: edited commit message slightly]
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    d49cae92
powerdomain.c 27.7 KB