SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The change between the system clock (SYS_CLK1) and the ABE low-power clock (ABE_LP_CLK) is performed within global PRCM. A software-controllable bit (CM_CLKSEL_WKUPAON[0] CLKSEL) controls this change. A glitch-free clock multiplexer produces the resulting clock (WKUPAON_ICLK), which is used as the functional clock of the master counter. The CM_CLKSEL_WKUPAON[0] CLKSEL bit is exported from global PRCM to the master counter to control simultaneously the mode (SYS or ABE_LP).
The transition from SYS to ABE_LP mode (DPLL cascading entry) is done under software control as follows:
The transition from ABE_LP to SYS mode (DPLL cascading exit) is done under software control as follows:
Transition from FUNC (ABE_LP or SYS) to LP mode is done by hardware upon MPU subsystem standby entry sequence.
Transition from LP to FUNC (ABE_LP or SYS) mode is done by hardware upon MPU subsystem standby exit sequence.
The frequency change involves some uncertainty on the counter due to a glitch-free clock MUX in global PRCM. In order not to accumulate them, a free-running coarse counter on the FUNC_32K_CLK clock holds the reference count, used for realignment when necessary. To load and reload the reference count value (x375/2) from the coarse counter, the user must write 1 in the PRM_FRAC_INCREMENTER_DENUMERATOR_RELOAD[16] RELOAD bit (but it must be 0 prior to that).
Once configured (at first boot time), the counter is running in all modes without any action required by software.