• Anurag Kumar Vulisha's avatar
    rtc: zynqmp: Update seconds time programming logic · b62c3a11
    Anurag Kumar Vulisha authored
    We program RTC time using SET_TIME_WRITE register and read the RTC
    current time using CURRENT_TIME register. When we set the time by
    writing into SET_TIME_WRITE Register and immediately try to read the
    rtc time from CURRENT_TIME register, the previous old value is
    returned instead of the new loaded time. This is because RTC takes
    nearly 1 sec to update the  new loaded value into the CURRENT_TIME
    register. This behaviour is expected in our RTC IP.
    
    This patch updates the driver to read the current time from SET_TIME_WRITE
    register instead of CURRENT_TIME when rtc time is requested within an 1sec
    period after setting the RTC time. Doing so will ensure the correct time is
    given to the user.
    
    Since there is a delay of 1sec in updating the CURRENT_TIME we are loading
    set time +1sec while programming the SET_TIME_WRITE register, doing this
    will give correct time without any delay when read from CURRENT_TIME.
    Signed-off-by: default avatarAnurag Kumar Vulisha <anuragku@xilinx.com>
    Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
    b62c3a11
rtc-zynqmp.c 8.62 KB