RA Flexible Software Package Documentation
Release v5.6.0
|
|
Interface for accessing low power modes.
This section defines the API for the LPM (Low Power Mode) Driver. The LPM Driver provides functions for controlling power consumption by configuring and transitioning to a low power mode. The LPM driver supports configuration of MCU low power modes using the LPM hardware peripheral. The LPM driver supports low power modes deep standby, standby, sleep, and snooze.
Data Structures | |
struct | lpm_ram_retention_t |
struct | lpm_ldo_standby_cfg_t |
struct | lpm_cfg_t |
struct | lpm_api_t |
struct | lpm_instance_t |
Typedefs | |
typedef void | lpm_ctrl_t |
Enumerations | |
enum | lpm_mode_t |
enum | lpm_snooze_request_t |
enum | lpm_snooze_end_t |
enum | lpm_snooze_cancel_t |
enum | lpm_snooze_dtc_t |
enum | lpm_standby_wake_source_t |
enum | lpm_io_port_t |
enum | lpm_power_supply_t |
enum | lpm_deep_standby_cancel_edge_t |
enum | lpm_deep_standby_cancel_source_t |
enum | lpm_output_port_enable_t |
enum | lpm_ldo_standby_operation_t |
enum | lpm_flash_mode_select_t |
enum | lpm_hoco_startup_speed_t |
enum | lpm_standby_sosc_t |
struct lpm_ram_retention_t |
struct lpm_ldo_standby_cfg_t |
Configure LDO operation in standby mode.
Data Fields | ||
---|---|---|
lpm_ldo_standby_operation_t | pll1_ldo | Configure the state of PLL1 LDO in standby mode. |
lpm_ldo_standby_operation_t | pll2_ldo | Configure the state of PLL2 LDO in standby mode. |
lpm_ldo_standby_operation_t | hoco_ldo | Configure the state of HOCO LDO in standby mode. |
struct lpm_cfg_t |
User configuration structure, used in open function
Data Fields | ||
---|---|---|
lpm_mode_t | low_power_mode |
Low Power Mode |
lpm_standby_wake_source_bits_t | standby_wake_sources |
Bitwise list of sources to wake from deep sleep and standby mode |
lpm_snooze_request_t | snooze_request_source |
Snooze request source |
lpm_snooze_end_bits_t | snooze_end_sources |
Bitwise list of snooze end sources |
lpm_snooze_cancel_t | snooze_cancel_sources |
List of snooze cancel sources |
lpm_snooze_dtc_t | dtc_state_in_snooze |
State of DTC in snooze mode, enabled or disabled |
lpm_output_port_enable_t | output_port_enable |
Output port enabled/disabled in standby and deep standby |
lpm_io_port_t | io_port_state |
IO port state in deep standby (maintained or reset) |
lpm_power_supply_t | power_supply_state |
Internal power supply state in standby and deep standby (deepcut) |
lpm_deep_standby_cancel_source_bits_t | deep_standby_cancel_source |
Sources that can trigger exit from deep standby |
lpm_deep_standby_cancel_edge_bits_t | deep_standby_cancel_edge |
Signal edges for the sources that can trigger exit from deep standby |
lpm_ram_retention_t | ram_retention_cfg |
RAM retention configuration for deep sleep and standby modes. |
lpm_ldo_standby_cfg_t | ldo_standby_cfg |
Configure LDOs that are disabled in standby mode. |
void const * | p_extend |
Placeholder for extension. |
struct lpm_api_t |
LPM driver structure. General LPM functions implemented at the HAL layer will follow this API.
Data Fields | |
fsp_err_t(* | open )(lpm_ctrl_t *const p_ctrl, lpm_cfg_t const *const p_cfg) |
fsp_err_t(* | close )(lpm_ctrl_t *const p_ctrl) |
fsp_err_t(* | lowPowerReconfigure )(lpm_ctrl_t *const p_ctrl, lpm_cfg_t const *const p_cfg) |
fsp_err_t(* | lowPowerModeEnter )(lpm_ctrl_t *const p_ctrl) |
fsp_err_t(* | ioKeepClear )(lpm_ctrl_t *const p_ctrl) |
fsp_err_t(* lpm_api_t::open) (lpm_ctrl_t *const p_ctrl, lpm_cfg_t const *const p_cfg) |
Initialization function
fsp_err_t(* lpm_api_t::close) (lpm_ctrl_t *const p_ctrl) |
Initialization function
fsp_err_t(* lpm_api_t::lowPowerReconfigure) (lpm_ctrl_t *const p_ctrl, lpm_cfg_t const *const p_cfg) |
Configure a low power mode.
[in] | p_cfg | Pointer to configuration structure. All elements of this structure must be set by user. |
fsp_err_t(* lpm_api_t::lowPowerModeEnter) (lpm_ctrl_t *const p_ctrl) |
Enter low power mode (sleep/standby/deep standby) using WFI macro. Function will return after waking from low power mode.
fsp_err_t(* lpm_api_t::ioKeepClear) (lpm_ctrl_t *const p_ctrl) |
Clear the IOKEEP bit after deep software standby.
struct lpm_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
Data Fields | ||
---|---|---|
lpm_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
lpm_cfg_t const *const | p_cfg | Pointer to the configuration structure for this instance. |
lpm_api_t const *const | p_api | Pointer to the API structure for this instance. |
typedef void lpm_ctrl_t |
LPM control block. Allocate an instance specific control block to pass into the LPM API calls.
enum lpm_mode_t |
enum lpm_snooze_request_t |
Snooze request sources
enum lpm_snooze_end_t |
Snooze end control
enum lpm_snooze_cancel_t |
Snooze cancel control
enum lpm_snooze_dtc_t |
enum lpm_standby_wake_source_t |
Wake from deep sleep or standby mode sources, does not apply to sleep or deep standby modes
enum lpm_io_port_t |
I/O port state after Deep Software Standby mode
enum lpm_power_supply_t |
Power supply control
Deep Standby Interrupt Edge
Deep Standby cancel sources
Output port enable
Starting the high-speed on-chip oscillator at the times of release from SSTBY mode and of transitions to SNOOZE mode.
enum lpm_standby_sosc_t |