Power driver provides APIs to control peripherals power and control the system power mode.
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAMX0 (1UL << 0) |
| SRAM instances retention control during low power modes. More...
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAMX1 (1UL << 1) |
| Enable SRAMX_1 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAMX2 (1UL << 2) |
| Enable SRAMX_2 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAMX3 (1UL << 3) |
| Enable SRAMX_3 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM00 (1UL << 4) |
| Enable SRAM0_0 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM01 (1UL << 5) |
| Enable SRAM0_1 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM10 (1UL << 6) |
| Enable SRAM1_0 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM20 (1UL << 7) |
| Enable SRAM2_0 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM30 (1UL << 8) |
| Enable SRAM3_0 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM31 (1UL << 9) |
| Enable SRAM3_1 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM40 (1UL << 10) |
| Enable SRAM4_0 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM41 (1UL << 11) |
| Enable SRAM4_1 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM42 (1UL << 12) |
| Enable SRAM4_2 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM43 (1UL << 13) |
| Enable SRAM4_3 retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM_USB_HS (1UL << 14) |
| Enable SRAM USB HS retention when entering in Low power modes.
|
|
#define | LOWPOWER_SRAMRETCTRL_RETEN_RAM_PUF (1UL << 15) |
| Enable SRAM PUFF retention when entering in Low power modes.
|
|
#define | WAKEUP_SYS (1ULL << 0) /*!< [SLEEP, DEEP SLEEP ] */ /* WWDT0_IRQ and BOD_IRQ*/ |
| Low Power Modes Wake up sources.
|
|
#define | WAKEUP_SDMA0 (1ULL << 1) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_GLOBALINT0 (1ULL << 2) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_GPIO_GLOBALINT1 (1ULL << 3) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_GPIO_INT0_0 (1ULL << 4) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_1 (1ULL << 5) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_2 (1ULL << 6) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_3 (1ULL << 7) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_UTICK (1ULL << 8) |
| [SLEEP, ]
|
|
#define | WAKEUP_MRT (1ULL << 9) |
| [SLEEP, ]
|
|
#define | WAKEUP_CTIMER0 (1ULL << 10) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_CTIMER1 (1ULL << 11) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_SCT (1ULL << 12) |
| [SLEEP, ]
|
|
#define | WAKEUP_CTIMER3 (1ULL << 13) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM0 (1ULL << 14) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM1 (1ULL << 15) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM2 (1ULL << 16) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM3 (1ULL << 17) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_FLEXCOMM4 (1ULL << 18) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM5 (1ULL << 19) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM6 (1ULL << 20) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM7 (1ULL << 21) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_ADC (1ULL << 22) |
| [SLEEP, ]
|
|
#define | WAKEUP_ACMP_CAPT (1ULL << 24) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_USB0_NEEDCLK (1ULL << 27) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_USB0 (1ULL << 28) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_RTC_LITE_ALARM_WAKEUP (1ULL << 29) |
| [SLEEP, DEEP SLEEP, POWER DOWN, DEEP POWER DOWN]
|
|
#define | WAKEUP_EZH_ARCH_B (1ULL << 30) |
| [SLEEP, ]
|
|
#define | WAKEUP_WAKEUP_MAILBOX (1ULL << 31) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_GPIO_INT0_4 (1ULL << 32) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_5 (1ULL << 33) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_6 (1ULL << 34) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_7 (1ULL << 35) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_CTIMER2 (1ULL << 36) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_CTIMER4 (1ULL << 37) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_OS_EVENT_TIMER (1ULL << 38) |
| [SLEEP, DEEP SLEEP, POWER DOWN, DEEP POWER DOWN]
|
|
#define | WAKEUP_SDIO (1ULL << 42) |
| [SLEEP, ]
|
|
#define | WAKEUP_USB1 (1ULL << 47) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_USB1_NEEDCLK (1ULL << 48) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_SEC_HYPERVISOR_CALL (1ULL << 49) |
| [SLEEP, ]
|
|
#define | WAKEUP_SEC_GPIO_INT0_0 (1ULL << 50) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_SEC_GPIO_INT0_1 (1ULL << 51) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_PLU (1ULL << 52) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_SHA (1ULL << 54) |
| [SLEEP, ]
|
|
#define | WAKEUP_CASPER (1ULL << 55) |
| [SLEEP, ]
|
|
#define | WAKEUP_PUFF (1ULL << 56) |
| [SLEEP, ]
|
|
#define | WAKEUP_PQ (1ULL << 57) |
| [SLEEP, ]
|
|
#define | WAKEUP_SDMA1 (1ULL << 58) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_LSPI_HS (1ULL << 59) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_ALLWAKEUPIOS (1ULL << 63) |
| [ , DEEP POWER DOWN]
|
|
#define | LOWPOWER_HWWAKE_FORCED (1UL << 0) |
| Sleep Postpone. More...
|
|
#define | LOWPOWER_HWWAKE_PERIPHERALS (1UL << 1) |
| Wake for Flexcomms. More...
|
|
#define | LOWPOWER_HWWAKE_SDMA0 (1UL << 3) |
| Wake for DMA0. More...
|
|
#define | LOWPOWER_HWWAKE_SDMA1 (1UL << 5) |
| Wake for DMA1. More...
|
|
#define | LOWPOWER_HWWAKE_ENABLE_FRO192M (1UL << 31) |
| Need to be set if FRO192M is disable - via PDCTRL0 - in Deep Sleep mode and any of \ LOWPOWER_HWWAKE_PERIPHERALS, LOWPOWER_HWWAKE_SDMA0 or LOWPOWER_HWWAKE_SDMA1 is set.
|
|
#define | LOWPOWER_CPURETCTRL_ENA_DISABLE 0 |
| In POWER DOWN mode, CPU Retention is disabled.
|
|
#define | LOWPOWER_CPURETCTRL_ENA_ENABLE 1 |
| In POWER DOWN mode, CPU Retention is enabled.
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO0_INDEX 0 |
| Wake up I/O sources. More...
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO1_INDEX 2 |
| Pin P0(28)
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO2_INDEX 4 |
| Pin P1(18)
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO3_INDEX 6 |
| Pin P1(30)
|
|
#define | LOWPOWER_WAKEUPIOSRC_DISABLE 0 |
| Wake up is disable.
|
|
#define | LOWPOWER_WAKEUPIOSRC_RISING 1 |
| Wake up on rising edge.
|
|
#define | LOWPOWER_WAKEUPIOSRC_FALLING 2 |
| Wake up on falling edge.
|
|
#define | LOWPOWER_WAKEUPIOSRC_RISING_FALLING 3 |
| Wake up on both rising or falling edges.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_PULLUPDOWN_INDEX 8 |
| Wake-up I/O 0 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_PULLUPDOWN_INDEX 9 |
| Wake-up I/O 1 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_PULLUPDOWN_INDEX 10 |
| Wake-up I/O 2 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_PULLUPDOWN_INDEX 11 |
| Wake-up I/O 3 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_PULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO0_PULLUPDOWN_INDEX) |
| Wake-up I/O 0 pull-up/down mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_PULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO1_PULLUPDOWN_INDEX) |
| Wake-up I/O 1 pull-up/down mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_PULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO2_PULLUPDOWN_INDEX) |
| Wake-up I/O 2 pull-up/down mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_PULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO3_PULLUPDOWN_INDEX) |
| Wake-up I/O 3 pull-up/down mask.
|
|
#define | LOWPOWER_WAKEUPIO_PULLDOWN 0 |
| Select pull-down.
|
|
#define | LOWPOWER_WAKEUPIO_PULLUP 1 |
| Select pull-up.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_DISABLEPULLUPDOWN_INDEX 12 |
| Wake-up I/O 0 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_DISABLEPULLUPDOWN_INDEX 13 |
| Wake-up I/O 1 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_DISABLEPULLUPDOWN_INDEX 14 |
| Wake-up I/O 2 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_DISABLEPULLUPDOWN_INDEX 15 |
| Wake-up I/O 3 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_DISABLEPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO0_DISABLEPULLUPDOWN_INDEX) |
| Wake-up I/O 0 pull-up/down disable/enable mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_DISABLEPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO1_DISABLEPULLUPDOWN_INDEX) |
| Wake-up I/O 1 pull-up/down disable/enable mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_DISABLEPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO2_DISABLEPULLUPDOWN_INDEX) |
| Wake-up I/O 2 pull-up/down disable/enable mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_DISABLEPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO3_DISABLEPULLUPDOWN_INDEX) |
| Wake-up I/O 3 pull-up/down disable/enable mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_USEEXTERNALPULLUPDOWN_INDEX (16) |
| Wake-up I/O 0 use external pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_USEEXTERNALPULLUPDOWN_INDEX (17) |
| Wake-up I/O 1 use external pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_USEEXTERNALPULLUPDOWN_INDEX (18) |
| Wake-up I/O 2 use external pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_USEEXTERNALPULLUPDOWN_INDEX (19) |
| Wake-up I/O 3 use external pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_USEEXTERNALPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO0_USEEXTERNALPULLUPDOWN_INDEX) |
| Wake-up I/O 0 use external pull-up/down \ disable/enable mask, 0: disable, 1: enable.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_USEEXTERNALPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO1_USEEXTERNALPULLUPDOWN_INDEX) |
| Wake-up I/O 1 use external pull-up/down \ disable/enable mask, 0: disable, 1: enable.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_USEEXTERNALPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO2_USEEXTERNALPULLUPDOWN_INDEX) |
| Wake-up I/O 2 use external pull-up/down \ disable/enable mask, 0: disable, 1: enable.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_USEEXTERNALPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO3_USEEXTERNALPULLUPDOWN_INDEX) |
| Wake-up I/O 3 use external pull-up/down \ disable/enable mask, 0: disable, 1: enable.
|
|
|
static void | POWER_EnablePD (pd_bit_t en) |
| API to enable PDRUNCFG bit in the Syscon. More...
|
|
static void | POWER_DisablePD (pd_bit_t en) |
| API to disable PDRUNCFG bit in the Syscon. More...
|
|
static void | POWER_SetBodVbatLevel (power_bod_vbat_level_t level, power_bod_hyst_t hyst, bool enBodVbatReset) |
| set BOD VBAT level. More...
|
|
static void | POWER_EnableDeepSleep (void) |
| API to enable deep sleep bit in the ARM Core. More...
|
|
static void | POWER_DisableDeepSleep (void) |
| API to disable deep sleep bit in the ARM Core. More...
|
|
void | POWER_CycleCpuAndFlash (void) |
| Shut off the Flash and execute the _WFI(), then power up the Flash after wake-up event This MUST BE EXECUTED outside the Flash: either from ROM or from SRAM. The rest could stay in Flash. But, for consistency, it is preferable to have all functions defined in this file implemented in ROM. More...
|
|
void | POWER_EnterDeepSleep (uint32_t exclude_from_pd, uint32_t sram_retention_ctrl, uint64_t wakeup_interrupts, uint32_t hardware_wake_ctrl) |
| Configures and enters in DEEP-SLEEP low power mode. More...
|
|
void | POWER_EnterPowerDown (uint32_t exclude_from_pd, uint32_t sram_retention_ctrl, uint64_t wakeup_interrupts, uint32_t cpu_retention_ctrl) |
| Configures and enters in POWERDOWN low power mode. More...
|
|
void | POWER_EnterDeepPowerDown (uint32_t exclude_from_pd, uint32_t sram_retention_ctrl, uint64_t wakeup_interrupts, uint32_t wakeup_io_ctrl) |
| Configures and enters in DEEPPOWERDOWN low power mode. More...
|
|
void | POWER_EnterSleep (void) |
| Configures and enters in SLEEP low power mode. More...
|
|
void | POWER_SetVoltageForFreq (uint32_t system_freq_hz) |
| Power Library API to choose normal regulation and set the voltage for the desired operating frequency. More...
|
|
uint32_t | POWER_GetLibVersion (void) |
| Power Library API to return the library version. More...
|
|
void | POWER_Xtal16mhzCapabankTrim (int32_t pi32_16MfXtalIecLoadpF_x100, int32_t pi32_16MfXtalPPcbParCappF_x100, int32_t pi32_16MfXtalNPcbParCappF_x100) |
| Sets board-specific trim values for 16MHz XTAL. More...
|
|
void | POWER_Xtal32khzCapabankTrim (int32_t pi32_32kfXtalIecLoadpF_x100, int32_t pi32_32kfXtalPPcbParCappF_x100, int32_t pi32_32kfXtalNPcbParCappF_x100) |
| Sets board-specific trim values for 32kHz XTAL. More...
|
|
void | POWER_SetXtal16mhzLdo (void) |
| Enables and sets LDO for 16MHz XTAL. More...
|
|
void | POWER_SetXtal16mhzTrim (uint32_t amp, uint32_t gm) |
| Set up 16-MHz XTAL Trimmings. More...
|
|
void | POWER_GetWakeUpCause (power_device_reset_cause_t *p_reset_cause, power_device_boot_mode_t *p_boot_mode, uint32_t *p_wakeupio_cause) |
| Return some key information related to the device reset causes / wake-up sources, for all power modes. More...
|
|