SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
A 32-bit shadow register is implemented to read a coherent value of the WCRR because the WCRR is directly related to the timer counter value and is updated on the timer clock (WD_TIMER_FCLK). The shadow register is updated by a 16-bit LSB read command.
Although the L4 clock (WD_TIMER_ICLK) is completely asynchronous with the timer clock (WD_TIMER_FCLK), some synchronization is performed to ensure that the value of the WCRR is not read while it is being incremented.
When 32-bit read access is performed, the shadow register is not updated. Read access is performed directly from the accessed register.
To ensure that a coherent value is read inside the WCRR, the first read access is to the lower 16 bits (offset = 0x08), followed by read access to the upper 16 bits (offset = 0x0A).