The seconds counter is a 32-bit synchronous counter that holds the number of seconds from a specific reference point (known by the operating system). Initially, calculate the current time through the operation system’s clock device driver which is based on the number of seconds that elapse from a reference point. This current time value is programmed into the RTC counters through the time-set register that is used to initialize the seconds counter. After that, the seconds counter is clocked every second to increment and hold the updated current time. The current time is read through the interface to the RTC controller.
For every oscillator clock cycle, the value in the tick counter is compared against the value stored in the calibration register. If these values match, the tick counter is reset to zero and an interrupt is generated.
The interrupt signal from the RTC counters is asserted for one osc_rtc_clk cycle and is captured in the RTC controller’s interrupt status register only on a positive-edge transition. The follow-on interrupt from the RTC counters can be used by a clock device driver to calculate the time and date.
The fractional calibration feature, if enabled, takes effect every 16 seconds and delays the release of the clear signal to the tick counter by the number of oscillator cycles programmed in the calibration register’s fractional calibration field.