• Joonyoung Shim's avatar
    rtc: s5m: fix to update ctrl register · ff02c044
    Joonyoung Shim authored
    According to datasheet, the S2MPS13X and S2MPS14X should update write
    buffer via setting WUDR bit to high after ctrl register is written.
    
    If not, ALARM interrupt of rtc-s5m doesn't happen first time when i use
    tools/testing/selftests/timers/rtctest.c test program and hour format is
    used to 12 hour mode in Odroid-XU3 board.
    
    One more issue is the RTC doesn't keep time on Odroid-XU3 board when i
    turn on board after power off even if RTC battery is connected. It can
    be solved as setting WUDR & RUDR bits to high at the same time after
    RTC_CTRL register is written. It's same with condition of only writing
    ALARM registers, so this is for only S2MPS14 and we should set WUDR &
    A_UDR bits to high on S2MPS13.
    
    I can't find any reasonable description about this like fix from
    datasheet, but can find similar codes from rtc driver source of
    hardkernel kernel and vendor kernel.
    Signed-off-by: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
    Cc: <stable@vger.kernel.org> # v3.16
    Reviewed-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    Tested-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
    ff02c044
rtc-s5m.c 19.3 KB