mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-16 10:03: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)
|
#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
|
* @name Watchdog timer (WDT) configuration
|
||||||
* @{
|
* @{
|
||||||
|
|||||||
@ -25,14 +25,15 @@
|
|||||||
void pm_set(unsigned mode)
|
void pm_set(unsigned mode)
|
||||||
{
|
{
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 0:
|
case EFM32_PM_MODE_EM3:
|
||||||
/* after exiting EM3, clocks are restored */
|
/* after exiting EM3, clocks are restored */
|
||||||
EMU_EnterEM3(true);
|
EMU_EnterEM3(true);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case EFM32_PM_MODE_EM2:
|
||||||
/* after exiting EM2, clocks are restored */
|
/* after exiting EM2, clocks are restored */
|
||||||
EMU_EnterEM2(true);
|
EMU_EnterEM2(true);
|
||||||
break;
|
break;
|
||||||
|
case EFM32_PM_MODE_EM1:
|
||||||
default:
|
default:
|
||||||
/* wait for next event or interrupt */
|
/* wait for next event or interrupt */
|
||||||
EMU_EnterEM1();
|
EMU_EnterEM1();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user