Power Manager#

Modules#

sl_power_ram_retention_config_t

sl_power_peripheral_t

sl_power_manager_ps_transition_event_info_t

sl_power_manager_ps_transition_event_handle_t

sli_power_sleep_config_t

Enumerations#

enum
SL_SI91X_POWER_MANAGER_PS0 = 0
SL_SI91X_POWER_MANAGER_PS1
SL_SI91X_POWER_MANAGER_PS2
SL_SI91X_POWER_MANAGER_PS3
SL_SI91X_POWER_MANAGER_PS4
SL_SI91X_POWER_MANAGER_SLEEP
SL_SI91X_POWER_MANAGER_STANDBY
LAST_ENUM_POWER_STATE
SL_SH_PS4TOPS2
SL_SH_PS2TOPS4
SL_SH_SLEEP_WAKEUP
SL_SH_DUMMY
}

Enumeration for the power states.

enum
SL_SI91X_POWER_MANAGER_POWERSAVE
SL_SI91X_POWER_MANAGER_PERFORMANCE
LAST_ENUM_CLOCK_SCALING
}

Enumeration for clock scaling parameters.

enum
SLI_SI91X_POWER_MANAGER_WAKEUP_FROM_FLASH_MODE = 1
SLI_SI91X_POWER_MANAGER_WAKEUP_WITHOUT_RETENTION = 2
SLI_SI91X_POWER_MANAGER_WAKEUP_WITH_RETENTION
SLI_SI91X_POWER_MANAGER_WAKEUP_WITH_RETENTION_WITHOUT_ULPSS_RAM
SLI_SI91X_POWER_MANAGER_WAKEUP_WITHOUT_RETENTION_WITHOUT_ULPSS_RAM
LAST_ENUM_POWER_SLEEP_MODE
}

Enumeration for the sleep modes.

enum
SLI_SI91X_POWER_MANAGER_DISABLE_LF_MODE = DISABLE_LF_MODE
SLI_SI91X_POWER_MANAGER_LF_32_KHZ_RC = (uint32_t)1 << (0)
SLI_SI91X_POWER_MANAGER_LF_32_KHZ_XTAL = (uint32_t)1 << (1)
SLI_SI91X_POWER_MANAGER_EXTERNAL_CAP_MODE = (uint32_t)1 << (2)
LAST_ENUM_POWER_LOW_FREQ_CLOCK
}

Enumeration for low frequency clocks.

Typedefs#

typedef uint32_t

Mask of all the event(s) to listen to.

typedef void(*
sl_power_manager_ps_transition_on_event_t)(sl_power_state_t from, sl_power_state_t to)

Typedef for the user supplied callback function which is called when an power state transition occurs.

Variables#

uint16_t

M4SS RAM size that needs to be restored.

uint16_t

ULPSS RAM size that needs to be restored.

boolean_t

Set or Clear RAM retention.

boolean_t

Enable will set the RAM banks using size, disable will set RAM banks using bank number.

uint32_t

M4SS RAM bank number that needs to be restored.

uint32_t

ULPSS RAM bank number that needs to be restored.

uint32_t

RAM Retention modes based on the flags sl_power_ram_retention_mode_t.

uint32_t

Masked value of M4SS Peripherals sl_power_m4ss_peripheral_t.

uint32_t

Masked value of ULPSS Peripherals sl_power_ulpss_peripheral_t.

uint32_t

Masked value of NPSS Peripherals sl_power_npss_peripheral_t.

Mask of the transitions on which the callback should be called.

Function that must be called when the event occurs.

sl_slist_node_t

List node.

Functions#

sl_status_t

Initialize the power manager service.

sl_status_t

Adds requirement on power states.

sl_status_t

Removes requirement on power states.

sl_status_t

Configures the clock scaling.

sl_status_t
sl_si91x_power_manager_add_peripheral_requirement(sl_power_peripheral_t *peripheral)

Adds the peripheral requirement.

sl_status_t
sl_si91x_power_manager_remove_peripheral_requirement(sl_power_peripheral_t *peripheral)

Removes the peripheral requirement.

sl_status_t
sl_si91x_power_manager_subscribe_ps_transition_event(sl_power_manager_ps_transition_event_handle_t *event_handle, const sl_power_manager_ps_transition_event_info_t *event_info)

Registers a callback to be called on given Power state transition(s).

sl_status_t
sl_si91x_power_manager_unsubscribe_ps_transition_event(sl_power_manager_ps_transition_event_handle_t *event_handle, const sl_power_manager_ps_transition_event_info_t *event_info)

Unregisters an event callback handle on Power State transition.

sl_status_t

Transit to sleep mode and waits for the peripheral set as wakeup source to trigger and wakeup the m4 soc.

void

Transit to standby state and waits for the interrupt.

sl_status_t
sl_si91x_power_manager_set_wakeup_sources(uint32_t source, boolean_t add)

Configures the wakeup sources.

sl_status_t
sl_si91x_power_manager_configure_ram_retention(sl_power_ram_retention_config_t *config)

Retains the RAM in low power state either by using size or RAM bank as input parameter.

Returns the current power state.

sl_status_t
sli_si91x_power_manager_change_power_state(sl_power_state_t from, sl_power_state_t to)

Updates the Power State as per the from and to parameters.

sl_status_t

Configures the parameters for sleep and transit to sleep mode.

sl_status_t
sli_power_manager_update_peripheral(sl_power_peripheral_t *peripheral, boolean_t add)

Updates the peripheral power state, i.e., enables and disables the peripheral as per requirements.

boolean_t
sli_si91x_power_manager_is_valid_transition(sl_power_state_t from, sl_power_state_t to)

Validates the power state transitions.

sl_status_t
sli_si91x_power_configure_wakeup_resource(uint32_t source, boolean_t add)

Configures the wakeup sources.

sl_status_t
sli_si91x_power_manager_set_ram_retention_configuration(sl_power_ram_retention_config_t *sram_bank)

Sets the RAM retention as well as configures the RAM banks which needs to be retained.

sl_status_t
sli_si91x_power_manager_configure_clock(sl_power_state_t state, boolean_t mode)

Configures the clock as per the input, i.e.

void

Sets the initial hardware configuration.

Macros#

#define

Event transition for entering PS4 state.

#define

Event transition for leaving PS4 state.

#define

Event transition for entering PS3 state.

#define

Event transition for leaving PS3 state.

#define

Event transition for entering PS2 state.

#define

Event transition for leaving PS2 state.

#define

Event transition for leaving PS1 state.

#define

Event transition for leaving sleep state.

#define

Event transition for leaving standby state.

#define

Deep Sleep Timer based wakeup source.

#define

Host based wakeup source.

#define

Wireless based wakeup source.

#define

M4 Processor based wakeup source.

#define

GPIO based wakeup source.

#define

Comparator based wakeup source.

#define

Sysrtc based wakeup source.

#define

ULP peripheral based wakeup source.

#define

SDC (Sensor data collector) based wakeup source.

#define

Alarm based wakeup source.

#define

Second based wakeup source.

#define

Milli second based wakeup source.

#define
SL_SI91X_POWER_MANAGER_WDT_WAKEUP WDT_INTR_BASED_WAKEUP

Watchdog interrupt based wakeup source.

#define

High Power ULP SRAM retention enable.

#define

M4SS RAM retention enable.

#define

M4 ULP RAM retention enable.

#define

TA RAM retention enable.

#define

ULPSS RAM retention enable.

#define

M4 ULP 16K RAM retention enable.

#define
SL_SI91X_POWER_MANAGER_M4SS_PG_EFUSE M4SS_PWRGATE_ULP_EFUSE_PERI

M4SS EFUSE Power Gate.

#define

M4SS RPDMA Power Gate.

#define
SL_SI91X_POWER_MANAGER_M4SS_PG_SDIO_SPI M4SS_PWRGATE_ULP_SDIO_SPI

M4SS SDIO SPI Power Gate.

#define
SL_SI91X_POWER_MANAGER_M4SS_PG_QSPI M4SS_PWRGATE_ULP_QSPI_ICACHE

M4SS QSPI and ICACHE Power Gate.

#define

M4SS IID Power Gate.

#define
SL_SI91X_POWER_MANAGER_M4SS_PG_M4_DEBUG M4SS_PWRGATE_ULP_M4_DEBUG_FPU

M4SS M4 Debug Power Gate.

#define

M4SS M4 Core Power Gate.

#define

M4SS External ROM Power Gate.

#define

ULP Miscellaneous Power Gate.

#define

ULP Capacitive Touch Sensor Power Gate.

#define

ULP UART Power Gate.

#define

ULP SSI Power Gate.

#define

ULP I2S Power Gate.

#define

ULP I2C Power Gate.

#define

ULP AUX Power Gate.

#define

ULP IR Power Gate.

#define

ULP UDMA Power Gate.

#define

ULP FIM Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUBFFS SLPSS_PWRGATE_ULP_MCUBFFS

NPSS MCU BFFS (Battery FF's) Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUFSM SLPSS_PWRGATE_ULP_MCUFSM

NPSS MCU FSM Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCURTC SLPSS_PWRGATE_ULP_MCURTC

NPSS MCU RTC (Real Time Clock) Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUWDT SLPSS_PWRGATE_ULP_MCUWDT

NPSS MCU WDT (Watchdog Timer) Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUPS SLPSS_PWRGATE_ULP_MCUPS

NPSS MCU Process Sensor Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUTS SLPSS_PWRGATE_ULP_MCUTS

NPSS MCU Temperature Sensor Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE1 SLPSS_PWRGATE_ULP_MCUSTORE1

NPSS MCU Storage 1 Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE2 SLPSS_PWRGATE_ULP_MCUSTORE2

NPSS MCU Storage 2 Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE3 SLPSS_PWRGATE_ULP_MCUSTORE3

NPSS MCU Storage 3 Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_TIMEPERIOD SLPSS_PWRGATE_ULP_TIMEPERIOD

NPSS Time Period Power Gate.

#define
SL_SI91X_POWER_MANAGER_NPSS_PG_NWPAPB_MCU_CTRL SLPSS_PWRGATE_ULP_NWPAPB_MCU_CTRL

NPSS MCU APB Control Power Gate.

#define

4 KB (Bank 1 of first 192k chunk)

#define

4 KB (Bank 2 of first 192k chunk)

#define

4 KB (Bank 3 of first 192k chunk)

#define

4 KB (Bank 4 of first 192k chunk)

#define

4 KB (Bank 5 of first 192k chunk)

#define

32 KB (Bank 6-7 of first 192k chunk)

#define

64 KB (Bank 9-11 of first 192k chunk)

#define

64 KB (Bank 12-15 of first 192k chunk)

#define

64 KB (Bank 1-4 of second 192k chunk)

#define

64 KB (Bank 1-4 of third 192k chunk)

#define
#define
#define
#define

Enumeration Documentation#

sl_power_state_t#

sl_power_state_t

Enumeration for the power states.

Enumerator
SL_SI91X_POWER_MANAGER_PS0

PS0 Power State.

SL_SI91X_POWER_MANAGER_PS1

PS1 Power State.

SL_SI91X_POWER_MANAGER_PS2

PS2 Power State.

SL_SI91X_POWER_MANAGER_PS3

PS3 Power State.

SL_SI91X_POWER_MANAGER_PS4

PS4 Power State.

SL_SI91X_POWER_MANAGER_SLEEP

Sleep.

SL_SI91X_POWER_MANAGER_STANDBY

Standby.

LAST_ENUM_POWER_STATE

Last enum for validation.

SL_SH_PS4TOPS2
SL_SH_PS2TOPS4
SL_SH_SLEEP_WAKEUP
SL_SH_DUMMY

Definition at line 166 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_clock_scaling_t#

sl_clock_scaling_t

Enumeration for clock scaling parameters.

Enumerator
SL_SI91X_POWER_MANAGER_POWERSAVE

Minimum supported frequency in a power state.

SL_SI91X_POWER_MANAGER_PERFORMANCE

Maximum supported frequency in a power state.

LAST_ENUM_CLOCK_SCALING

Last enum for validation.


Definition at line 178 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sli_power_sleep_mode_t#

sli_power_sleep_mode_t

Enumeration for the sleep modes.

Enumerator
SLI_SI91X_POWER_MANAGER_WAKEUP_FROM_FLASH_MODE
SLI_SI91X_POWER_MANAGER_WAKEUP_WITHOUT_RETENTION
SLI_SI91X_POWER_MANAGER_WAKEUP_WITH_RETENTION
SLI_SI91X_POWER_MANAGER_WAKEUP_WITH_RETENTION_WITHOUT_ULPSS_RAM
SLI_SI91X_POWER_MANAGER_WAKEUP_WITHOUT_RETENTION_WITHOUT_ULPSS_RAM
LAST_ENUM_POWER_SLEEP_MODE

Definition at line 60 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_power_low_freq_clock_t#

sli_power_low_freq_clock_t

Enumeration for low frequency clocks.

Enumerator
SLI_SI91X_POWER_MANAGER_DISABLE_LF_MODE
SLI_SI91X_POWER_MANAGER_LF_32_KHZ_RC
SLI_SI91X_POWER_MANAGER_LF_32_KHZ_XTAL
SLI_SI91X_POWER_MANAGER_EXTERNAL_CAP_MODE
LAST_ENUM_POWER_LOW_FREQ_CLOCK

Definition at line 74 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

Typedef Documentation#

sl_power_manager_ps_transition_event_t#

typedef uint32_t sl_power_manager_ps_transition_event_t

Mask of all the event(s) to listen to.


Definition at line 185 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_power_manager_ps_transition_on_event_t#

typedef void(* sl_power_manager_ps_transition_on_event_t) (sl_power_state_t from, sl_power_state_t to) )(sl_power_state_t from, sl_power_state_t to)

Typedef for the user supplied callback function which is called when an power state transition occurs.

Parameters
N/Afrom

Power state we are leaving.

N/Ato

Power state we are entering.


Definition at line 194 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

Variable Documentation#

m4ss_ram_size_kb#

uint16_t sl_power_ram_retention_config_t::m4ss_ram_size_kb

M4SS RAM size that needs to be restored.


Definition at line 148 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

ulpss_ram_size_kb#

uint16_t sl_power_ram_retention_config_t::ulpss_ram_size_kb

ULPSS RAM size that needs to be restored.


Definition at line 149 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

configure_ram_retention#

boolean_t sl_power_ram_retention_config_t::configure_ram_retention

Set or Clear RAM retention.


Definition at line 150 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

configure_ram_banks#

boolean_t sl_power_ram_retention_config_t::configure_ram_banks

Enable will set the RAM banks using size, disable will set RAM banks using bank number.


Definition at line 152 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

m4ss_ram_banks#

uint32_t sl_power_ram_retention_config_t::m4ss_ram_banks

M4SS RAM bank number that needs to be restored.


Definition at line 153 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

ulpss_ram_banks#

uint32_t sl_power_ram_retention_config_t::ulpss_ram_banks

ULPSS RAM bank number that needs to be restored.


Definition at line 154 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

ram_retention_mode#

uint32_t sl_power_ram_retention_config_t::ram_retention_mode

RAM Retention modes based on the flags sl_power_ram_retention_mode_t.


Definition at line 155 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

m4ss_peripheral#

uint32_t sl_power_peripheral_t::m4ss_peripheral

Masked value of M4SS Peripherals sl_power_m4ss_peripheral_t.


Definition at line 160 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

ulpss_peripheral#

uint32_t sl_power_peripheral_t::ulpss_peripheral

Masked value of ULPSS Peripherals sl_power_ulpss_peripheral_t.


Definition at line 161 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

npss_peripheral#

uint32_t sl_power_peripheral_t::npss_peripheral

Masked value of NPSS Peripherals sl_power_npss_peripheral_t.


Definition at line 162 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

event_mask#

const sl_power_manager_ps_transition_event_t sl_power_manager_ps_transition_event_info_t::event_mask

Mask of the transitions on which the callback should be called.


Definition at line 199 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

on_event#

const sl_power_manager_ps_transition_on_event_t sl_power_manager_ps_transition_event_info_t::on_event

Function that must be called when the event occurs.


Definition at line 200 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

node#

sl_slist_node_t sl_power_manager_ps_transition_event_handle_t::node

List node.


Definition at line 205 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

info#

sl_power_manager_ps_transition_event_info_t* sl_power_manager_ps_transition_event_handle_t::info

Handle event info.


Definition at line 206 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

Function Documentation#

sl_si91x_power_manager_init#

sl_status_t sl_si91x_power_manager_init (void )

Initialize the power manager service.

Parameters
[in]

Configures PS4 state with 100 MHz system clock.

  • Pre-conditions:

    • none

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

    • SL_STATUS_OK (0x0000) Success.

    • SL_STATUS_ALREADY_INITIALIZED (0x0012) Power Manager is already initialized.


Definition at line 226 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_add_ps_requirement#

sl_status_t sl_si91x_power_manager_add_ps_requirement (sl_power_state_t state)

Adds requirement on power states.

Parameters
[in]state

Power state to add requirement: sl_power_state_t

  • SL_POWER_MANAGER_PS4

  • SL_POWER_MANAGER_PS3

  • SL_POWER_MANAGER_PS2

  • SL_POWER_MANAGER_PS1

Default state for power manager is PS4. If any requirements are added then power manager switches to the state if it is a valid transition. Before transition from one state to another, make sure to remove requirements of previous states if any added. If any invalid state requirement is added then it returns SL_STATUS_INVALID_PARAMETER. If power manager service is not initialized then it returns SL_STATUS_NOT_INITIALIZED, to initialize call sl_si91x_power_manager_init. To get the requirements on all power states, call sl_si91x_power_manager_get_requirement_table. To know the current power state, use sl_si91x_power_manager_get_current_state.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

        - SL_STATUS_OK (0x0000) Success. 
      
        - SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized. 
      
        - SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.
      

Definition at line 261 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_remove_ps_requirement#

sl_status_t sl_si91x_power_manager_remove_ps_requirement (sl_power_state_t state)

Removes requirement on power states.

Parameters
[in]state

Power state to remove requirement: sl_power_state_t

  • SL_POWER_MANAGER_PS4

  • SL_POWER_MANAGER_PS3

  • SL_POWER_MANAGER_PS2

  • SL_POWER_MANAGER_PS1

Default state for power manager is PS4. Removing requirement will not impact on power state transitions. If the current state is PS4 and no other requirements are added, and PS4 requirement is removed then it returns SL_STATUS_INVALID_PARAMETER. If power manager service is not initialized then it returns SL_STATUS_NOT_INITIALIZED, to initialize call sl_si91x_power_manager_init. To get the requirements on all power states, call sl_si91x_power_manager_get_requirement_table. To know the current power state, use sl_si91x_power_manager_get_current_state.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.


Definition at line 294 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_set_clock_scaling#

sl_status_t sl_si91x_power_manager_set_clock_scaling (sl_clock_scaling_t mode)

Configures the clock scaling.

Parameters
[in]mode

(sl_clock_scaling_t type enum) the clock scaling mode sl_clock_scaling_t

PS4 and PS3 states are supported only. Possible values for clock scaling are:

  • POWERSAVE and PERFORMANCE

  • PS4 Performance: 180 MHz clock

  • PS4 Power-save: 100 MHz clock

  • PS3 Performance: 80 MHz clock

  • PS3 Power-save: 32 MHz clock

  • For PS2 state, 20 MHz clock is default.

  • If power manager service is not initialized then it returns SL_STATUS_NOT_INITIALIZED, to initialize call sl_si91x_power_manager_init.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

        - SL_STATUS_OK (0x0000) Success. 
      
        - SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized. 
      
        - SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed. 
      
        - SL_STATUS_INVALID_CONFIGURATION (0x0023) Invalid configuration of mode. 
      

Definition at line 331 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_add_peripheral_requirement#

sl_status_t sl_si91x_power_manager_add_peripheral_requirement (sl_power_peripheral_t * peripheral)

Adds the peripheral requirement.

Parameters
[in]peripheral

structure for different peripherals sl_power_peripheral_t

Power on the peripherals the valid peripherals passed in the structure. Structure member possible values: sl_power_peripheral_t

  • m4ss_peripheral -> Accepts masked value of m4ss peripherals.

  • ulpss_peripheral -> Accepts masked value of ulpss peripherals.

  • npss_peripheral -> Accepts masked value of npss peripherals. The values of enums can be combined by using 'OR' operator and then passed to the variable.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

        - SL_STATUS_OK (0x0000) Success. 
      
        - SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized. 
      
        - SL_STATUS_INVALID_STATE (0x0002) Not a valid transition. 
      
        - SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.
      

Definition at line 359 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_remove_peripheral_requirement#

sl_status_t sl_si91x_power_manager_remove_peripheral_requirement (sl_power_peripheral_t * peripheral)

Removes the peripheral requirement.

Parameters
[in]peripheral

Structure for different peripherals sl_power_peripheral_t

Power off the peripherals the valid peripherals passed in the structure. Structure member possible values: sl_power_peripheral_t

  • m4ss_peripheral -> Accepts masked value of m4ss peripherals.

  • ulpss_peripheral -> Accepts masked value of ulpss peripherals.

  • npss_peripheral -> Accepts masked value of npss peripherals. The values of enums can be combined by using 'OR' operator and then passed to the variable.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

        - SL_STATUS_OK (0x0000) Success. 
      
        - SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized. 
      
        - SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.
      

Definition at line 385 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_subscribe_ps_transition_event#

sl_status_t sl_si91x_power_manager_subscribe_ps_transition_event (sl_power_manager_ps_transition_event_handle_t * event_handle, const sl_power_manager_ps_transition_event_info_t * event_info)

Registers a callback to be called on given Power state transition(s).

Parameters
[in]event_handle

Event handle (no initialization needed).

[in]event_info

Event info structure that contains the event mask and the callback that must be called.

If power manager service is not initialized then it returns SL_STATUS_NOT_INITIALIZED, to initialize call sl_si91x_power_manager_init.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized.

      • SL_STATUS_NULL_POINTER (0x0022) Null Pointer is passed.

Note

  • Adding and removing power state transition requirement(s) from a callback on a transition event is not supported.

  • The parameters passed must be persistent, meaning that they need to survive until the callback fires.

  • An ASSERT is thrown if the handle is not found.

Usage example:

#define PS_EVENT_MASK          (  SL_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS4 \
                                | SL_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS4  \
                                | SL_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS3 \
                                | SL_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS3  \
                                | SL_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS2 \
                                | SL_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS2  \
                                | SL_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS0 \
                                | SL_POWER_MANAGER_EVENT_TRANSITION_LEAVING_SLEEP)

sl_power_manager_ps_transition_event_handle_t handle;
sl_power_manager_ps_transition_event_info_t info = { .event_mask = PS_EVENT_MASK,
                                                     .on_event   = transition_callback };

void transition_callback(sl_power_state_t from, sl_power_state_t to)
{
  [...]
}

void main(void)
{
  sl_status_t status;

  status = sl_si91x_power_manager_init();
  // Validate the status

  status = sl_si91x_power_manager_subscribe_ps_transition_event(&handle, &info);
  // Validate the status
}

Definition at line 446 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_unsubscribe_ps_transition_event#

sl_status_t sl_si91x_power_manager_unsubscribe_ps_transition_event (sl_power_manager_ps_transition_event_handle_t * event_handle, const sl_power_manager_ps_transition_event_info_t * event_info)

Unregisters an event callback handle on Power State transition.

Parameters
[in]event_handle

Event handle which must be unregistered (must have been registered previously).

[in]event_info

Event info structure that contains the event mask and the callback that must be called.

If power manager service is not initialized then it returns SL_STATUS_NOT_INITIALIZED, to initialize call sl_si91x_power_manager_init.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized.

      • SL_STATUS_NULL_POINTER (0x0022) Null Pointer is passed.

Note

  • An ASSERT is thrown if the handle is not found.


Definition at line 476 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_sleep#

sl_status_t sl_si91x_power_manager_sleep (void )

Transit to sleep mode and waits for the peripheral set as wakeup source to trigger and wakeup the m4 soc.

Parameters
[in]

It supports PS4, PS3 and PS2 only, it cannot enter sleep mode from any other active states. If any error is there, it returns the error code and does not transit to sleep mode.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.

      • SL_STATUS_INVALID_STATE (0x0002) Not a valid transition.


Definition at line 509 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_standby#

void sl_si91x_power_manager_standby (void )

Transit to standby state and waits for the interrupt.

Parameters
[in]

Standby transition is possible from PS4, PS3, PS2 state only. Transition from sleep, PS1 or PS0 is not supported.

Returns

  • The following values are returned:

    • none


Definition at line 527 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_set_wakeup_sources#

sl_status_t sl_si91x_power_manager_set_wakeup_sources (uint32_t source, boolean_t add)

Configures the wakeup sources.

Parameters
[in]source

(sl_power_wakeup_sources_t type enum) Wakeup sources sl_power_wakeup_sources_t

[in]add

(boolean_t) true enables and false disables wakeup source

One or many wakeup sources can be configured by using 'OR' operation. The initialization of the peripheral configured as wakeup source needs to be performed by user. Power Manager only sets it as a wakeup source.

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.


Definition at line 557 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_configure_ram_retention#

sl_status_t sl_si91x_power_manager_configure_ram_retention (sl_power_ram_retention_config_t * config)

Retains the RAM in low power state either by using size or RAM bank as input parameter.

Parameters
[in]config

Structure for the parameters of RAM retention sl_power_ram_retention_config_t.

Structure member possible values: sl_power_ram_retention_config_t

  • configure_ram_retention -> Boolean to enable RAM retention. (Enable/Disable).

  • configure_ram_banks -> Boolean to switch between RAM Bank retentions. Either by size or by RAM bank number.

  • (Enable -> Use RAM Bank Number).

  • (Disable -> Use Size).

  • m4ss_ram_size_kb -> Retains m4ss RAM banks according to the size.

  • less than 320 KB (Enter 100 for 100 KB).

  • ulpss_ram_size_kb -> Retains ulpss RAM banks according to the size.

  • less than 8 KB (Enter 5 for 5 KB).

  • ram_bank_number -> Retains the m4ss and ulpss RAM Bank using bank number

  • ram_retention_mode -> Configures the RAM retention mode

Returns

  • The following values are returned:

    • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_NOT_INITIALIZED (0x0011) Power Manager is not initialized.

      • SL_STATUS_NULL_POINTER (0x0022) Null Pointer is passed.


Definition at line 597 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sl_si91x_power_manager_get_current_state#

sl_power_state_t sl_si91x_power_manager_get_current_state (void )

Returns the current power state.

Parameters
[in]

Possible return values:

  • 2 : SL_POWER_MANAGER_PS2, ///< PS2 Power State

  • 3 : SL_POWER_MANAGER_PS3, ///< PS3 Power State

  • 4 : SL_POWER_MANAGER_PS4, ///< PS4 Power State

Returns

  • The following values are returned:

    • sl_power_state_t enum value indicating current power state


Definition at line 614 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

sli_si91x_power_manager_change_power_state#

sl_status_t sli_si91x_power_manager_change_power_state (sl_power_state_t from, sl_power_state_t to)

Updates the Power State as per the from and to parameters.

Parameters
[in]from

( sl_power_state_t type enum) Power State from which the transition takes place.

[in]to

( sl_power_state_t type enum) Power State to which the transition takes place.

Note

  • FOR INTERNAL USE ONLY.

Returns

  • status SL_STATUS_OK on success, else error code as follow:

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.


Definition at line 99 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_si91x_power_manager_set_sleep_configuration#

sl_status_t sli_si91x_power_manager_set_sleep_configuration (sl_power_state_t state)

Configures the parameters for sleep and transit to sleep mode.

Parameters
[in]state

( sl_power_state_t type enum) Current Power state

Note

  • FOR INTERNAL USE ONLY.

Returns

  • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.


Definition at line 115 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_power_manager_update_peripheral#

sl_status_t sli_power_manager_update_peripheral (sl_power_peripheral_t * peripheral, boolean_t add)

Updates the peripheral power state, i.e., enables and disables the peripheral as per requirements.

Parameters
[in]peripheral

( sl_power_peripheral_t type structure)

[in]add

(boolean) true -> add peripheral, false -> remove peripheral.

If flag is set, the peripherals which are passed in the sl_power_peripheral_t structures is be powered on. If flag is cleared, the peripherals which are passed in the sl_power_peripheral_t structures is be powered off.

Note

  • FOR INTERNAL USE ONLY.

Returns

  • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.

      • SL_STATUS_NULL_POINTER (0x0022) Null Pointer is passed.


Definition at line 139 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_si91x_power_manager_is_valid_transition#

boolean_t sli_si91x_power_manager_is_valid_transition (sl_power_state_t from, sl_power_state_t to)

Validates the power state transitions.

Parameters
[in]from

( sl_power_state_t type enum) Power State from which the transition takes place.

[in]to

( sl_power_state_t type enum) Power State to which the transition takes place.

If invalid, returns false. Note

  • FOR INTERNAL USE ONLY.

Returns

  • boolean value true or false.


Definition at line 150 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_si91x_power_configure_wakeup_resource#

sl_status_t sli_si91x_power_configure_wakeup_resource (uint32_t source, boolean_t add)

Configures the wakeup sources.

Parameters
[in]source

(uint32_t) Ored value of wakeup sources.

[in]add

(boolean) true -> add peripheral, false -> remove peripheral.

If add is set, the wakeup source which are passed in the source variable is set. If add is clear, the wakeup source which are passed in the source variable is clear.

Note

  • FOR INTERNAL USE ONLY.

Returns

  • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.


Definition at line 169 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_si91x_power_manager_set_ram_retention_configuration#

sl_status_t sli_si91x_power_manager_set_ram_retention_configuration (sl_power_ram_retention_config_t * sram_bank)

Sets the RAM retention as well as configures the RAM banks which needs to be retained.

Parameters
[in]sram_bank

( sl_power_ram_retention_config_t type struct)

Note

  • FOR INTERNAL USE ONLY.

Returns

  • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.

      • SL_STATUS_NULL_POINTER (0x0022) Null Pointer is passed.


Definition at line 186 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_si91x_power_manager_configure_clock#

sl_status_t sli_si91x_power_manager_configure_clock (sl_power_state_t state, boolean_t mode)

Configures the clock as per the input, i.e.

Parameters
[in]state

( sl_power_state_t type enum) current power state.

[in]mode

(boolean) true -> performance mode, false -> powersave mode.

powersave or performance.

Note

  • FOR INTERNAL USE ONLY.

Returns

  • status SL_STATUS_OK on success, else error code.

      • SL_STATUS_OK (0x0000) Success.

      • SL_STATUS_INVALID_PARAMETER (0x0021) Invalid Parameter is passed.


Definition at line 203 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

sli_si91x_power_manager_init_hardware#

void sli_si91x_power_manager_init_hardware (void )

Sets the initial hardware configuration.

Parameters
[in]

Note

  • FOR INTERNAL USE ONLY.

Returns

  • none


Definition at line 214 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sli_si91x_power_manager.h

Macro Definition Documentation#

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS4#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS4
Value:
(1 << 0)

Event transition for entering PS4 state.


Definition at line 56 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS4#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS4
Value:
(1 << 1)

Event transition for leaving PS4 state.


Definition at line 57 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS3#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS3
Value:
(1 << 2)

Event transition for entering PS3 state.


Definition at line 58 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS3#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS3
Value:
(1 << 3)

Event transition for leaving PS3 state.


Definition at line 59 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS2#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_ENTERING_PS2
Value:
(1 << 4)

Event transition for entering PS2 state.


Definition at line 60 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS2#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS2
Value:
(1 << 5)

Event transition for leaving PS2 state.


Definition at line 61 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS1#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_PS1
Value:
(1 << 6)

Event transition for leaving PS1 state.


Definition at line 62 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_SLEEP#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_SLEEP
Value:
(1 << 7)

Event transition for leaving sleep state.


Definition at line 63 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_STANDBY#

#define SL_SI91X_POWER_MANAGER_EVENT_TRANSITION_LEAVING_STANDBY
Value:
(1 << 8)

Event transition for leaving standby state.


Definition at line 64 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_DST_WAKEUP#

#define SL_SI91X_POWER_MANAGER_DST_WAKEUP
Value:
DST_BASED_WAKEUP

Deep Sleep Timer based wakeup source.


Definition at line 67 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_HOST_WAKEUP#

#define SL_SI91X_POWER_MANAGER_HOST_WAKEUP
Value:
HOST_BASED_WAKEUP

Host based wakeup source.


Definition at line 68 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_WIRELESS_WAKEUP#

#define SL_SI91X_POWER_MANAGER_WIRELESS_WAKEUP
Value:
WIRELESS_BASED_WAKEUP

Wireless based wakeup source.


Definition at line 69 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4_PROCESSOR_WAKEUP#

#define SL_SI91X_POWER_MANAGER_M4_PROCESSOR_WAKEUP
Value:
M4_PROCS_BASED_WAKEUP

M4 Processor based wakeup source.


Definition at line 70 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_GPIO_WAKEUP#

#define SL_SI91X_POWER_MANAGER_GPIO_WAKEUP
Value:
GPIO_BASED_WAKEUP

GPIO based wakeup source.


Definition at line 71 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_COMPARATOR_WAKEUP#

#define SL_SI91X_POWER_MANAGER_COMPARATOR_WAKEUP
Value:
COMPR_BASED_WAKEUP

Comparator based wakeup source.


Definition at line 72 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_SYSRTC_WAKEUP#

#define SL_SI91X_POWER_MANAGER_SYSRTC_WAKEUP
Value:
SYSRTC_BASED_WAKEUP

Sysrtc based wakeup source.


Definition at line 73 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_WAKEUP#

#define SL_SI91X_POWER_MANAGER_ULPSS_WAKEUP
Value:
ULPSS_BASED_WAKEUP

ULP peripheral based wakeup source.


Definition at line 74 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_SDCSS_WAKEUP#

#define SL_SI91X_POWER_MANAGER_SDCSS_WAKEUP
Value:
SDCSS_BASED_WAKEUP

SDC (Sensor data collector) based wakeup source.


Definition at line 75 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ALARM_WAKEUP#

#define SL_SI91X_POWER_MANAGER_ALARM_WAKEUP
Value:
ALARM_BASED_WAKEUP

Alarm based wakeup source.


Definition at line 76 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_SEC_WAKEUP#

#define SL_SI91X_POWER_MANAGER_SEC_WAKEUP
Value:
SEC_BASED_WAKEUP

Second based wakeup source.


Definition at line 77 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_MSEC_WAKEUP#

#define SL_SI91X_POWER_MANAGER_MSEC_WAKEUP
Value:
MSEC_BASED_WAKEUP

Milli second based wakeup source.


Definition at line 78 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_WDT_WAKEUP#

#define SL_SI91X_POWER_MANAGER_WDT_WAKEUP
Value:
WDT_INTR_BASED_WAKEUP

Watchdog interrupt based wakeup source.


Definition at line 79 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_HPSRAM_RETENTION_ULP_ENABLE#

#define SL_SI91X_POWER_MANAGER_HPSRAM_RETENTION_ULP_ENABLE
Value:
  HPSRAM_RET_ULP_MODE_EN

High Power ULP SRAM retention enable.


Definition at line 82 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_RETENTION_ENABLE#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_RETENTION_ENABLE
Value:
M4SS_RAM_RETENTION_MODE_EN

M4SS RAM retention enable.


Definition at line 84 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4ULP_RAM_RETENTION_ENABLE#

#define SL_SI91X_POWER_MANAGER_M4ULP_RAM_RETENTION_ENABLE
Value:
M4ULP_RAM_RETENTION_MODE_EN

M4 ULP RAM retention enable.


Definition at line 85 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_TA_RAM_RETENTION_ENABLE#

#define SL_SI91X_POWER_MANAGER_TA_RAM_RETENTION_ENABLE
Value:
TA_RAM_RETENTION_MODE_EN

TA RAM retention enable.


Definition at line 86 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_RAM_RETENTION_ENABLE#

#define SL_SI91X_POWER_MANAGER_ULPSS_RAM_RETENTION_ENABLE
Value:
ULPSS_RAM_RETENTION_MODE_EN

ULPSS RAM retention enable.


Definition at line 87 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4ULP_RAM16K_RETENTION_ENABLE#

#define SL_SI91X_POWER_MANAGER_M4ULP_RAM16K_RETENTION_ENABLE
Value:
  M4ULP_RAM16K_RETENTION_MODE_EN

M4 ULP 16K RAM retention enable.


Definition at line 88 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_EFUSE#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_EFUSE
Value:
M4SS_PWRGATE_ULP_EFUSE_PERI

M4SS EFUSE Power Gate.


Definition at line 92 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_RPDMA#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_RPDMA
Value:
M4SS_PWRGATE_ULP_RPDMA

M4SS RPDMA Power Gate.


Definition at line 93 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_SDIO_SPI#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_SDIO_SPI
Value:
M4SS_PWRGATE_ULP_SDIO_SPI

M4SS SDIO SPI Power Gate.


Definition at line 94 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_QSPI#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_QSPI
Value:
M4SS_PWRGATE_ULP_QSPI_ICACHE

M4SS QSPI and ICACHE Power Gate.


Definition at line 95 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_IID#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_IID
Value:
M4SS_PWRGATE_ULP_IID

M4SS IID Power Gate.


Definition at line 96 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_M4_DEBUG#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_M4_DEBUG
Value:
M4SS_PWRGATE_ULP_M4_DEBUG_FPU

M4SS M4 Debug Power Gate.


Definition at line 97 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_M4_CORE#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_M4_CORE
Value:
M4SS_PWRGATE_ULP_M4_CORE

M4SS M4 Core Power Gate.


Definition at line 98 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_PG_EXTERNAL_ROM#

#define SL_SI91X_POWER_MANAGER_M4SS_PG_EXTERNAL_ROM
Value:
M4SS_PWRGATE_ULP_EXT_ROM

M4SS External ROM Power Gate.


Definition at line 99 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_MISC#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_MISC
Value:
ULPSS_PWRGATE_ULP_MISC

ULP Miscellaneous Power Gate.


Definition at line 102 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_CAP#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_CAP
Value:
ULPSS_PWRGATE_ULP_CAP

ULP Capacitive Touch Sensor Power Gate.


Definition at line 103 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_UART#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_UART
Value:
ULPSS_PWRGATE_ULP_UART

ULP UART Power Gate.


Definition at line 104 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_SSI#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_SSI
Value:
ULPSS_PWRGATE_ULP_SSI

ULP SSI Power Gate.


Definition at line 105 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_I2S#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_I2S
Value:
ULPSS_PWRGATE_ULP_I2S

ULP I2S Power Gate.


Definition at line 106 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_I2C#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_I2C
Value:
ULPSS_PWRGATE_ULP_I2C

ULP I2C Power Gate.


Definition at line 107 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_AUX#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_AUX
Value:
ULPSS_PWRGATE_ULP_AUX

ULP AUX Power Gate.


Definition at line 108 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_IR#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_IR
Value:
ULPSS_PWRGATE_ULP_IR

ULP IR Power Gate.


Definition at line 109 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_UDMA#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_UDMA
Value:
ULPSS_PWRGATE_ULP_UDMA

ULP UDMA Power Gate.


Definition at line 110 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_PG_FIM#

#define SL_SI91X_POWER_MANAGER_ULPSS_PG_FIM
Value:
ULPSS_PWRGATE_ULP_FIM

ULP FIM Power Gate.


Definition at line 111 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUBFFS#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUBFFS
Value:
SLPSS_PWRGATE_ULP_MCUBFFS

NPSS MCU BFFS (Battery FF's) Power Gate.


Definition at line 114 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUFSM#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUFSM
Value:
SLPSS_PWRGATE_ULP_MCUFSM

NPSS MCU FSM Power Gate.


Definition at line 115 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCURTC#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCURTC
Value:
SLPSS_PWRGATE_ULP_MCURTC

NPSS MCU RTC (Real Time Clock) Power Gate.


Definition at line 116 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUWDT#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUWDT
Value:
SLPSS_PWRGATE_ULP_MCUWDT

NPSS MCU WDT (Watchdog Timer) Power Gate.


Definition at line 117 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUPS#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUPS
Value:
SLPSS_PWRGATE_ULP_MCUPS

NPSS MCU Process Sensor Power Gate.


Definition at line 118 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUTS#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUTS
Value:
SLPSS_PWRGATE_ULP_MCUTS

NPSS MCU Temperature Sensor Power Gate.


Definition at line 119 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE1#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE1
Value:
SLPSS_PWRGATE_ULP_MCUSTORE1

NPSS MCU Storage 1 Power Gate.


Definition at line 120 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE2#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE2
Value:
SLPSS_PWRGATE_ULP_MCUSTORE2

NPSS MCU Storage 2 Power Gate.


Definition at line 121 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE3#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_MCUSTORE3
Value:
SLPSS_PWRGATE_ULP_MCUSTORE3

NPSS MCU Storage 3 Power Gate.


Definition at line 122 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_TIMEPERIOD#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_TIMEPERIOD
Value:
SLPSS_PWRGATE_ULP_TIMEPERIOD

NPSS Time Period Power Gate.


Definition at line 123 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_NPSS_PG_NWPAPB_MCU_CTRL#

#define SL_SI91X_POWER_MANAGER_NPSS_PG_NWPAPB_MCU_CTRL
Value:
  SLPSS_PWRGATE_ULP_NWPAPB_MCU_CTRL

NPSS MCU APB Control Power Gate.


Definition at line 124 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_1#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_1
Value:
RAM_BANK_0

4 KB (Bank 1 of first 192k chunk)


Definition at line 128 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_2#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_2
Value:
RAM_BANK_1

4 KB (Bank 2 of first 192k chunk)


Definition at line 129 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_3#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_3
Value:
RAM_BANK_2

4 KB (Bank 3 of first 192k chunk)


Definition at line 130 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_4#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_4
Value:
RAM_BANK_3

4 KB (Bank 4 of first 192k chunk)


Definition at line 131 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_5#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_5
Value:
RAM_BANK_4

4 KB (Bank 5 of first 192k chunk)


Definition at line 132 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_6#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_6
Value:
RAM_BANK_5

32 KB (Bank 6-7 of first 192k chunk)


Definition at line 133 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_7#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_7
Value:
RAM_BANK_6

64 KB (Bank 9-11 of first 192k chunk)


Definition at line 134 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_8#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_8
Value:
RAM_BANK_7

64 KB (Bank 12-15 of first 192k chunk)


Definition at line 135 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_9#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_9
Value:
RAM_BANK_8

64 KB (Bank 1-4 of second 192k chunk)


Definition at line 136 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_10#

#define SL_SI91X_POWER_MANAGER_M4SS_RAM_BANK_10
Value:
RAM_BANK_9

64 KB (Bank 1-4 of third 192k chunk)


Definition at line 137 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_1#

#define SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_1
Value:
ULPSS_2K_BANK_0

2 KB


Definition at line 138 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_2#

#define SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_2
Value:
ULPSS_2K_BANK_1

2 KB


Definition at line 139 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_3#

#define SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_3
Value:
ULPSS_2K_BANK_2

2 KB


Definition at line 140 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h

SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_4#

#define SL_SI91X_POWER_MANAGER_ULPSS_RAM_BANK_4
Value:
ULPSS_2K_BANK_3

2 KB


Definition at line 141 of file components/device/silabs/si91x/mcu/drivers/service/power_manager/inc/sl_si91x_power_manager.h