Power driver provides APIs to control peripherals power and control the system power mode.
|
#define | WAKEUP_SYS (1UL << 0) /*!< [SLEEP, DEEP SLEEP ] */ /* WWDT0_IRQ and BOD_IRQ*/ |
| Low Power Modes Wake up sources.
|
|
#define | WAKEUP_SDMA0 (1UL << 1) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_GLOBALINT0 (1UL << 2) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_GPIO_GLOBALINT1 (1UL << 3) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_GPIO_INT0_0 (1UL << 4) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_1 (1UL << 5) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_2 (1UL << 6) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_3 (1UL << 7) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_UTICK (1UL << 8) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_MRT (1UL << 9) |
| [SLEEP, ]
|
|
#define | WAKEUP_CTIMER0 (1UL << 10) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_CTIMER1 (1UL << 11) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_SCT (1UL << 12) |
| [SLEEP, ]
|
|
#define | WAKEUP_CTIMER3 (1UL << 13) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM0 (1UL << 14) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM1 (1UL << 15) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM2 (1UL << 16) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM3 (1UL << 17) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_FLEXCOMM4 (1UL << 18) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM5 (1UL << 19) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM6 (1UL << 20) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_FLEXCOMM7 (1UL << 21) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_ADC0 (1UL << 22) |
| [SLEEP, ]
|
|
#define | WAKEUP_ADC1 (1UL << 23) |
| [SLEEP, ]
|
|
#define | WAKEUP_ACMP (1UL << 24) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_DMIC (1UL << 25) |
| [SLEEP, ]
|
|
#define | WAKEUP_HWVAD (1UL << 26) |
| [SLEEP, DEEP SLEEP, ]
|
|
#define | WAKEUP_USB0_NEEDCLK (1UL << 27) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_USB0 (1UL << 28) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_RTC_ALARM_WAKEUP (1UL << 29) |
| [SLEEP, DEEP SLEEP, POWER DOWN, DEEP POWER DOWN]
|
|
#define | WAKEUP_EZH_ARCH_B (1UL << 30) |
| [SLEEP, ]
|
|
#define | WAKEUP_WAKEUP_MAILBOX (1UL << 31) |
| [SLEEP, DEEP SLEEP, ]
|
|
#define | WAKEUP_GPIO_INT0_4 (1UL << 0) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_5 (1UL << 1) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_6 (1UL << 2) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_GPIO_INT0_7 (1UL << 3) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_CTIMER2 (1UL << 4) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_CTIMER4 (1UL << 5) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_OS_EVENT_TIMER (1UL << 6) |
| [SLEEP, DEEP SLEEP, POWER DOWN, DEEP POWER DOWN]
|
|
#define | WAKEUP_FLEXSPI (1UL << 7) |
| [SLEEP, ]
|
|
#define | WAKEUP_CAN0_0 (1UL << 11) |
| [SLEEP, ]
|
|
#define | WAKEUP_CAN0_1 (1UL << 12) |
| [SLEEP, ]
|
|
#define | WAKEUP_SPIFILTER (1UL << 13) |
| [SLEEP, ]
|
|
#define | WAKEUP_SEC_HYPERVISOR_CALL (1UL << 17) |
| [SLEEP, ]
|
|
#define | WAKEUP_SEC_GPIO_INT0_0 (1UL << 18) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_SEC_GPIO_INT0_1 (1UL << 19) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_SEC_VIO (1UL << 21) |
| [SLEEP, ]
|
|
#define | WAKEUP_CSS_IRQ0 (1UL << 22) |
| [SLEEP, ]
|
|
#define | WAKEUP_PKC (1UL << 23) |
| [SLEEP, ]
|
|
#define | WAKEUP_PUF (1UL << 24) |
| [SLEEP, ]
|
|
#define | WAKEUP_PQ (1UL << 25) |
| [SLEEP, ]
|
|
#define | WAKEUP_SDMA1 (1UL << 26) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_LSPI_HS (1UL << 27) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_CODE_WDG (1UL << 28) |
| [SLEEP, ]
|
|
#define | WAKEUP_I3C (1UL << 30) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_NEUTRON (1UL << 0) |
| [SLEEP, ]
|
|
#define | WAKEUP_CSS_IRQ1 (1UL << 1) |
| [SLEEP, ]
|
|
#define | WAKEUP_DAC0 (1UL << 10) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_DAC1 (1UL << 11) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_DAC2 (1UL << 12) |
| [SLEEP, DEEP SLEEP ]
|
|
#define | WAKEUP_HS_COMP0 (1UL << 13) |
| [SLEEP, ]
|
|
#define | WAKEUP_HS_COMP1 (1UL << 14) |
| [SLEEP, ]
|
|
#define | WAKEUP_HS_COMP2 (1UL << 15) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_CAPTURE (1UL << 16) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_FAULT (1UL << 17) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_RELOAD_ERROR (1UL << 18) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_COMPARE0 (1UL << 19) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_RELOAD0 (1UL << 20) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_COMPARE1 (1UL << 21) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_RELOAD1 (1UL << 22) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_COMPARE2 (1UL << 23) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_RELOAD2 (1UL << 24) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_COMPARE3 (1UL << 25) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM0_RELOAD3 (1UL << 26) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_CAPTURE (1UL << 27) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_FAULT (1UL << 28) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_RELOAD_ERROR (1UL << 29) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_COMPARE0 (1UL << 30) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_RELOAD0 (1UL << 31) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_COMPARE1 (1UL << 0) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_RELOAD1 (1UL << 1) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_COMPARE2 (1UL << 2) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_RELOAD2 (1UL << 3) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_COMPARE3 (1UL << 4) |
| [SLEEP, ]
|
|
#define | WAKEUP_FLEXPWM1_RELOAD3 (1UL << 5) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC0_COMPARE (1UL << 6) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC0_HOME (1UL << 7) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC0_WDG (1UL << 8) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC0_IDX (1UL << 9) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC1_COMPARE (1UL << 10) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC1_HOME (1UL << 11) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC1_WDG (1UL << 12) |
| [SLEEP, ]
|
|
#define | WAKEUP_ENC1_IDX (1UL << 13) |
| [SLEEP, ]
|
|
#define | WAKEUP_ITRC (1UL << 14) |
| [SLEEP, DEEP SLEEP, POWER DOWN ]
|
|
#define | WAKEUP_CF_DSP24L_IRQ0 (1UL << 15) |
| [SLEEP, ]
|
|
#define | WAKEUP_CF_DSP24L_IRQ1 (1UL << 16) |
| [SLEEP, ]
|
|
#define | WAKEUP_FTM0 (1UL << 17) |
| [SLEEP, ]
|
|
#define | LOWPOWER_HWWAKE_FORCED (1UL << 0) |
| Sleep Postpone (DEEP-SLEEP) More...
|
|
#define | LOWPOWER_HWWAKE_PERIPHERALS (1UL << 1) |
| Wake for Flexcomms. More...
|
|
#define | LOWPOWER_HWWAKE_DMIC (1UL << 2) |
| Wake for DMIC. More...
|
|
#define | LOWPOWER_HWWAKE_SDMA0 (1UL << 3) |
| Wake for DMA0. More...
|
|
#define | LOWPOWER_HWWAKE_SDMA1 (1UL << 5) |
| Wake for DMA1. More...
|
|
#define | LOWPOWER_HWWAKE_DAC (1UL << 6) |
| Wake for DAC0, DAC1, DAC2. 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, LOWPOWER_HWWAKE_SDMA1 or LOWPOWER_HWWAKE_DAC is \ set.
|
|
#define | LOWPOWER_CPURETCTRL_ENA_DISABLE 0 |
| CPU State retention (POWER-DOWN) More...
|
|
#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 (DEEP POWER-DOWN) 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_PIO4_INDEX 8 |
| Pin P0(26)
|
|
#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_WAKEUPIOSRC_PIO0MODE_INDEX 10 |
| Pin P1( 1)
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO1MODE_INDEX 12 |
| Pin P0(28)
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO2MODE_INDEX 14 |
| Pin P1(18)
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO3MODE_INDEX 16 |
| Pin P1(30)
|
|
#define | LOWPOWER_WAKEUPIOSRC_PIO4MODE_INDEX 18 |
| Pin P0(26)
|
|
#define | LOWPOWER_WAKEUPIOSRC_IO_MODE_PLAIN 0 |
| Wake up Pad is plain input.
|
|
#define | LOWPOWER_WAKEUPIOSRC_IO_MODE_PULLDOWN 1 |
| Wake up Pad is pull-down.
|
|
#define | LOWPOWER_WAKEUPIOSRC_IO_MODE_PULLUP 2 |
| Wake up Pad is pull-up.
|
|
#define | LOWPOWER_WAKEUPIOSRC_IO_MODE_REPEATER 3 |
| Wake up Pad is in repeater.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_DISABLEPULLUPDOWN_INDEX 20 |
| Wake-up I/O 0 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_DISABLEPULLUPDOWN_INDEX 21 |
| Wake-up I/O 1 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_DISABLEPULLUPDOWN_INDEX 22 |
| Wake-up I/O 2 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_DISABLEPULLUPDOWN_INDEX 23 |
| Wake-up I/O 3 pull-up/down disable/enable control index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO4_DISABLEPULLUPDOWN_INDEX 24 |
| Wake-up I/O 4 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_PIO4_DISABLEPULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO4_DISABLEPULLUPDOWN_INDEX) |
| Wake-up I/O 4 pull-up/down disable/enable mask.
|
|
#define | LOWPOWER_WAKEUPIO_PIO0_PULLUPDOWN_INDEX 25 |
| Wake-up I/O 0 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO1_PULLUPDOWN_INDEX 26 |
| Wake-up I/O 1 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO2_PULLUPDOWN_INDEX 27 |
| Wake-up I/O 2 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO3_PULLUPDOWN_INDEX 28 |
| Wake-up I/O 3 pull-up/down configuration index.
|
|
#define | LOWPOWER_WAKEUPIO_PIO4_PULLUPDOWN_INDEX 29 |
| Wake-up I/O 4 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_PIO4_PULLUPDOWN_MASK (1UL << LOWPOWER_WAKEUPIO_PIO4_PULLUPDOWN_INDEX) |
| Wake-up I/O 4 pull-up/down mask.
|
|
#define | LOWPOWER_WAKEUPIO_PULLDOWN 0 |
| Select pull-down.
|
|
#define | LOWPOWER_WAKEUPIO_PULLUP 1 |
| Select pull-up.
|
|
#define | LOWPOWER_WAKEUPIO_CFG_SRC_IOCON 0 |
| Wake-up pins configuration (in/out, pull up/down plain input ...) is coming from IOCON (valid for \ DEEP-SLEEP and POWER-DOWN)
|
|
#define | LOWPOWER_WAKEUPIO_CFG_SRC_PMC 1 |
| Wake-up pins configuration (in/out, pull up/down plain input ...) is coming from PMC and set up via \ the second parameter (wakeup_io_ctrl) of POWER_SetWakeUpPins API (valid for DEEP-SLEEP and POWER-DOWN)
|
|
|
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...
|
|
power_status_t | POWER_PowerInit (void) |
| SoC Power Management Controller initialization. More...
|
|
power_status_t | POWER_SetCorePowerSource (power_core_pwr_source_t pwr_source) |
| Selects the core logic supply source. More...
|
|
power_core_pwr_source_t | POWER_GetCorePowerSource (void) |
| Returns the current core logic supply source. More...
|
|
power_status_t | POWER_CorePowerSourceControl (power_core_pwr_source_t pwr_source, power_core_pwr_state_t pwr_state) |
| Allows to control the state (enabled or disabled) of the core logic internal regulators (DCDC, LDO_CORE) More...
|
|
power_status_t | POWER_SRAMPowerModeControl (power_sram_bit_t sram_inst, power_sram_pwr_mode_t pwr_mode) |
| Allows to configure SRAM instances (low) power modes when the part is in ACTIVE mode. More...
|
|
power_sram_pwr_mode_t | POWER_GetSRAMPowerMode (power_sram_index_t sram_index) |
|
void | POWER_EnterSleep (void) |
| Configures and enters in SLEEP low power mode. More...
|
|
void | POWER_EnterDeepSleep (uint32_t exclude_from_pd[2], uint32_t sram_retention_ctrl, uint32_t wakeup_interrupts[4], uint32_t hardware_wake_ctrl) |
| Configures and enters in DEEP-SLEEP low power mode. More...
|
|
void | POWER_EnterPowerDown (uint32_t exclude_from_pd[1], uint32_t sram_retention_ctrl, uint32_t wakeup_interrupts[4], uint32_t cpu_retention_addr) |
| Configures and enters in POWERDOWN low power mode. More...
|
|
void | POWER_EnterDeepPowerDown (uint32_t exclude_from_pd[1], uint32_t sram_retention_ctrl, uint32_t wakeup_interrupts[2], uint32_t wakeup_io_ctrl) |
| Configures and enters in DEEPPOWERDOWN low power mode. More...
|
|
void | POWER_SetWakeUpPins (uint32_t wakeup_io_cfg_src, uint32_t wakeup_io_ctrl) |
| Configures the 5 wake-up pins to wake up the part in DEEP-SLEEP and POWER-DOWN low power modes. More...
|
|
void | POWER_GetWakeUpCause (power_reset_cause_t *reset_cause, power_boot_mode_t *boot_mode, power_wakeup_pin_t *wakeup_pin_cause) |
| Return some key information related to the device reset causes / wake-up sources, for all power modes. More...
|
|
void | POWER_SetVoltageForFreq (uint32_t system_freq_hz) |
| Configures the device internal power control settings. More...
|
|