The Zynq® UltraScale+™ MPSoC real time clock (RTC) provides the real time even when the device is powered off. When the device is off, the RTC is switched to the battery power supply. A battery-backed RAM (BBRAM) is provided for when device is operating in the battery mode. However, the RTC controller and user interface are only operational when the low-power domain supply is ON. The RTC has an alarm function that generates an alarm at a specific time and date with a 136-year range. The RTC also has periodic software calibration and logic to correct the static fractional inaccuracy of an oscillator.


Real-Time Clock (RTC) provides the following features:

Missing features, Known Issues, limitations

Overview of Linux RTC Framework
This weblink is path to rtc.txt file in linux documentation which clearly expalins about the legacy and new framework for RTC on SoC.

Kernel Configuration:

Kconfig options:
        tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
        depends on OF
          If you say yes here you get support for the RTC controller found on
          Xilinx Zynq Ultrascale+ MPSoC.
Menuconfig snapshots -
[*] EDAC (Error Detection And Correction) reporting  --->
[*] Real Time Clock  --->
[*] DMA Engine support  --->
[*] Auxiliary Display support  --->

--- Real Time Clock
[*]   Set system time from RTC on startup and resume
[*]   Set the RTC time based on NTP synchronization (NEW)
(rtc0)  RTC used to set the system time
[ ]   RTC debug support
    *** RTC interfaces ***
[*]   /sys/class/rtc/rtcN (sysfs)
[*]   /proc/driver/rtc (procfs for rtcN)
[*]   /dev/rtcN (character devices)
[ ]     RTC UIE emulation on dev interface
< >   Test driver/device
       *** Platform RTC drivers ***
        < >   ST M48T86/Dallas DS12887
        < >   ST M48T35
        < >   ST M48T59/M48T08/M48T02
        < >   Oki MSM6242 (NEW)
        < >   TI BQ4802
        < >   Ricoh RP5C01 (NEW)
        < >   EM Microelectronic V3020
        <*>   Xilinx Zynq Ultrascale+ MPSoC RTC (NEW)
       *** on-CPU RTC drivers ***

Testing Procedure

1.Get current date and time using "date" command
2.Set date and time using following commanddate -s "2015-09-08 13:36:00"
3. Verify the same using date command again.


Related Links