11.3.2.1.1 LFRCO and LFXO
The LFXO and LFRCO can be enabled and disabled by software via the CMU_OSCENCMD register. WDOGn can be configured to
force the LFXO or LFRCO to become (and remain) enabled when such an oscillator is selected as its clock source via the CLKSEL
bitfield in the WDOGn_CTRL register while SWOSCBLOCK is set. In that case LFXODIS and LFRCODIS commands are blocked.
They are automatically disabled when entering EM3. Upon EM4 entry they are default turned off, but they can optionally be retained
depending on the EMU_EM4CTRL configuration. Retaining of the LFXO or LFRCO in EM4 is needed if such an oscillator is required by
a specific peripheral in EM4. Retaining can also be used to guarantee quick oscillator availability after EM4 exit.
The oscillators should never be retained in case they are off before entering EM4. The following are the valid ways of using the LFXO/
LFRCO retention mechanism:
• Turn on LFXO/LFRCO always (even in EM4):
1. POR
2. Enable LFXO/LFRCO
3. Enable RETAINLFXO/RETAINLFRCO
4. EM4 entry
5. LFXO/LFRCO are retained and remain running in EM4
6. EM4 wakeup
7. Enable LFXO/LFRCO
8. Set EM4UNLATCH in EMU_CMD
• Turn off LFXO/LFRCO in EM4:
1. POR
2. Disable RETAINLFXO/RETAINLFRCO (default)
3. Enable LFXO/LFRCO
4. EM4 entry
5. LFXO/LFRCO are off in EM4
6. EM4 wakeup
7. Enable LFXO/LFRCO
8. Set EM4UNLATCH in EMU_CMD
• Turn on LFXO/LFRCO after EM4 exit:
1. POR
2. Disable RETAINLFXO/RETAINLFRCO (default)
3. Enable LFXO/LFRCO
4. EM4 entry
5. LFXO/LFRCO are off in EM4
6. EM4 wakeup
7. Enable LFXO/LFRCO
8. Set EM4UNLATCH in EMU_CMD
9. Enable RETAINLFXO/RETAINLFRCO
In summary RETAINLFXO/RETAINLFRCO should either be changed once after POR and kept static, or they can be changed on-the-fly
only after asserting EM4UNLATCH.
Note:
In order to support usage of LFRCO and LFXO in EM4, their settings are automatically latched upon EM4 entry. These settings remain
latched upon wake-up from EM4 to EM0 although the related registers (CMU_LFRCOCTRL, CMU_LFXOCTRL, CMU_LFECLKSEL,
CMU_LFECLKEN0 and CMU_LEEPRESC0) will have been reset. The registers can be rewritten by software, but they will only affect
the LFRCO and LFXO after unlatching their settings by setting EM4UNLATCH in the EMU_CMD register.
Note:
Turning off the LFRCO and LFXO upon EM4 Hibernate/Shutoff entry is most easily done by using the RETAINLFRCO and RETAINLF-
XO bitfields from the EMU_EM4CTRL register, which are default such that the LFRCO and LFXO are turned off automatically upon
EM4 Hibernate/Shutoff entry. Alternatively the LFRCO and LFXO can be disabled via the CMU_OSCENCMD register, in which case
software should wait for the oscillators to be properly disabled before executing the EM4 Hibernate/Shutoff entry routine.
After enabling the LFRCO (or LFXO), it should not be disabled before it has been signaled to be ready. Similarly, after disabling the
LFRCO (or LFXO), it should not be re-enabled before it has been signaled to be non-ready. Before entering EM4, software should
Reference Manual
CMU - Clock Management Unit
silabs.com
| Building a more connected world.
Rev. 1.1 | 286