SPRZ450B February 2018 – September 2024 DRA74P , DRA75P , DRA76P , DRA77P
Delay Needed to Read Some Timer Registers after Wakeup
Medium
For GP timers:
If a General Purpose Timer (GPTimer) is in posted mode (TSICR[2]POSTED=1), due to internal resynchronizations, values read in TCRR, TCAR1 and TCAR2 registers right after the timer interface clock (L4) goes from stopped to active may not return the expected values. The most common event leading to this situation occurs upon wake up from idle.
GPTimer non-posted synchronization mode is not impacted by this limitation.
For watchdog timers:
Due to internal resynchronizations, values read in Watchdog timers WCRR registers right after the timer interface clock (L4) goes from stopped to active may not return the expected values. The most common event leading to this situation occurs upon wake up from idle. All watchdog timers support only POSTED internal synchronization mode. There is no capability to change the internal synchronization scheme to NON-POSTED by software.
For GP timers:
For reliable counter read upon wakeup from IDLE state, software need to issue a non posted read to get accurate value.
To get this non posted read, TSICR[2]POSTED needs to be set at '0' and TSICR[3]READ_MODE needs to be set at '1'.
Note: For GP Timers 1/2/10 the TSICR[3]READ_MODE is a write only bit and reads to this register always return 0.
For watchdog timers:
Software has to wait at least (2 timer interface clock cycles + 1 timer functional clock cycle) after L4 clock wakeup before reading WCRR register of the Watchdog timers.
SR 1.0
AM574x: 1.0
DRA75xP, DRA74xP, DRA77xP, DRA76xP: 1.0
TDA2Px: 1.0
AM576x: 1.0