mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-15 09:33:50 +01:00
cpu/efm32: define EFM power modes for pm_layered
This commit is contained in:
parent
b3989bc11f
commit
bc51071d44
@ -455,6 +455,15 @@ typedef struct {
|
||||
*/
|
||||
#define PM_NUM_MODES (3U)
|
||||
|
||||
/**
|
||||
* @name Available power modes
|
||||
* @{
|
||||
*/
|
||||
#define EFM32_PM_MODE_EM3 (0U) /**< CPU sleeps, peripherals in EM3 domain are active */
|
||||
#define EFM32_PM_MODE_EM2 (1U) /**< CPU sleeps, peripherals in EM2 + EM3 domain are active */
|
||||
#define EFM32_PM_MODE_EM1 (2U) /**< CPU sleeps, all peripherals are active */
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @name Watchdog timer (WDT) configuration
|
||||
* @{
|
||||
|
||||
@ -25,14 +25,15 @@
|
||||
void pm_set(unsigned mode)
|
||||
{
|
||||
switch (mode) {
|
||||
case 0:
|
||||
case EFM32_PM_MODE_EM3:
|
||||
/* after exiting EM3, clocks are restored */
|
||||
EMU_EnterEM3(true);
|
||||
break;
|
||||
case 1:
|
||||
case EFM32_PM_MODE_EM2:
|
||||
/* after exiting EM2, clocks are restored */
|
||||
EMU_EnterEM2(true);
|
||||
break;
|
||||
case EFM32_PM_MODE_EM1:
|
||||
default:
|
||||
/* wait for next event or interrupt */
|
||||
EMU_EnterEM1();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user