Functions
BLE Communication timer and core configuration function
Peripheral Driver » LL Driver » PWR » Functions » PWR Exported Functions

## Functions
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_comm_timer_reset (void)
| Enable the Communication Timer Reset. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_comm_timer_reset (void)
| Disable the Communication Timer Reset, and set Communication Timer to running state. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_comm_timer_reset (void)
| Check if the Communication Timer Reset was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_comm_core_reset (void)
| Enable the Communication Core Reset. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_comm_core_reset (void)
| Disable the Communication Core Reset, and set Communication Core to running state. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_comm_core_reset (void)
| Check if the Communication Core Reset was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_comm_timer_power (void)
| Enable the Communication Timer Power, the Communication Timer will be Powered Up. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_comm_timer_power (void)
| Disable the Communication Timer Power, the Communication Timer will be Powered Down. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_comm_timer_power (void)
| Check if the Communication Timer Power was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_comm_core_power (void)
| Enable the Communication Core Power, the Communication Core will be Powered Up. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_comm_core_power (void)
| Disable the Communication Core Power, the Communication Core will be Powered Down. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_comm_core_power (void)
| Check if the Communication Core Power was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_set_timer_read_select (uint32_t select)
| Select which timer value to read. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_get_timer_read_select (void)
| Get which timer value was selected to read. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_get_timer_read_value (void)
| Get current timer value based on the selection. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_osc_sleep (void)
| Enable high frequency crystal oscillator sleep mode, and diable OSC. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_osc_sleep (void)
| Disable high frequency crystal oscillator sleep mode. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_osc_sleep (void)
| Check if the OSC sleep mode was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_radio_sleep (void)
| Enable Radio sleep mode, and disable Radio module. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_radio_sleep (void)
| Disable Radio sleep mode. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_radio_sleep (void)
| Check if the Radio sleep mode was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_comm_core_deep_sleep (void)
| Enable Communication Core Deep Sleep Mode. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_comm_core_deep_sleep (void)
| Disable Communication Core Deep Sleep Mode. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_comm_core_deep_sleep (void)
| Check if the Communication Core Deep Sleep Mode was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_comm_soft_wakeup_req (void)
| Enable Wake Up Request from Software. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_soft_wakeup_req (void)
| Check if the Wake Up Request was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_enable_comm_core_ext_wakeup (void)
| Enable Communication Core external wakeup. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_disable_comm_core_ext_wakeup (void)
| Disable Communication Core external wakeup. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_is_enabled_comm_core_ext_wakeup (void)
| Check if the Communication Core external wakeup was enabled or disabled. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_set_comm_core_wakeup_time (uint32_t time)
| Set the time in low_power_clk clock cycles to spend in Deep Sleep Mode before waking-up the device. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_get_comm_wakeup_time (void)
| Get the time in low_power_clk clock cycles to spend in Deep Sleep Mode before waking-up the device. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_get_comm_sleep_duration (void)
| Get the actual duration of the last deep sleep phase measured in low_power_clk clock cycle. More...
SECTION_RAM_CODE __STATIC_INLINE void | ll_pwr_set_comm_wakeup_timing (uint32_t twext, uint32_t twosc, uint32_t twrm)
| Set the wakeup timing in low_power_clk clock cycles to spend when waking-up the device. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_read_comm_wakeup_timing (void)
| Read the wakeup timing in low_power_clk clock cycles to spend when waking-up the device. More...
SECTION_RAM_CODE __STATIC_INLINE uint32_t | ll_pwr_read_comm_wakeup_timing_twosc (void)
| Read the Twosc of the wakeup timing in low_power_clk clock cycles to spend when waking-up the device. More...

## Detailed Description

## Function Documentation

## ◆ ll_pwr_disable_comm_core_deep_sleep()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_comm_core_deep_sleep | ( | void |  | ) |

Disable Communication Core Deep Sleep Mode.

Note
  Switch Communication Core from sleep mode into normal active mode.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_DEEP_SLEEP_ON

Return values

  None |

## ◆ ll_pwr_disable_comm_core_ext_wakeup()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_comm_core_ext_wakeup | ( | void |  | ) |

Disable Communication Core external wakeup.

Note
  After this configuration, Communication Core cannot be woken up by external wake-up

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_EXTWKUPDSB

Return values

  None |

## ◆ ll_pwr_disable_comm_core_power()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_comm_core_power | ( | void |  | ) |

Disable the Communication Core Power, the Communication Core will be Powered Down.

Register | BitsName
--- | ---
CALENDAR_TIMER_CTL | ISO_EN_PD_COMM_CORE
CALENDAR_TIMER_CTL | PWR_EN_PD_COMM_CORE

Return values

  None |

## ◆ ll_pwr_disable_comm_core_reset()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_comm_core_reset | ( | void |  | ) |

Disable the Communication Core Reset, and set Communication Core to running state.

Note
  After powered up, Comm Core need to enter into running mode.

Register | BitsName
--- | ---
PWR_RET01 | COMM_CORE_RST_N

Return values

  None |

## ◆ ll_pwr_disable_comm_timer_power()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_comm_timer_power | ( | void |  | ) |

Disable the Communication Timer Power, the Communication Timer will be Powered Down.

Register | BitsName
--- | ---
CALENDAR_TIMER_CTL | ISO_EN_PD_COMM_TIMER
CALENDAR_TIMER_CTL | PWR_EN_PD_COMM_TIMER

Return values

  None |

## ◆ ll_pwr_disable_comm_timer_reset()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_comm_timer_reset | ( | void |  | ) |

Disable the Communication Timer Reset, and set Communication Timer to running state.

Note
  After powered up, Comm Timer need to enter into running mode.

Register | BitsName
--- | ---
PWR_RET01 | COMM_TIMER_RST_N

Return values

  None |

## ◆ ll_pwr_disable_osc_sleep()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_osc_sleep | ( | void |  | ) |

Disable high frequency crystal oscillator sleep mode.

Note
  Switch OSC from sleep mode into normal active mode.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_OSC_SLEEP_EN

Return values

  None |

## ◆ ll_pwr_disable_radio_sleep()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_disable_radio_sleep | ( | void |  | ) |

Disable Radio sleep mode.

Note
  Switch Radio from sleep mode into normal active mode.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_RADIO_SLEEP_EN

Return values

  None |

## ◆ ll_pwr_enable_comm_core_deep_sleep()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_comm_core_deep_sleep | ( | void |  | ) |

Enable Communication Core Deep Sleep Mode.

Note
  This bit is reset on DEEP_SLEEP_STAT falling edge.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_DEEP_SLEEP_ON

Return values

  None |

## ◆ ll_pwr_enable_comm_core_ext_wakeup()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_comm_core_ext_wakeup | ( | void |  | ) |

Enable Communication Core external wakeup.

Note
  After this configuration, Communication Core can be woken up by external wake-up

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_EXTWKUPDSB

Return values

  None |

## ◆ ll_pwr_enable_comm_core_power()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_comm_core_power | ( | void |  | ) |

Enable the Communication Core Power, the Communication Core will be Powered Up.

Register | BitsName
--- | ---
CALENDAR_TIMER_CTL | ISO_EN_PD_COMM_CORE
CALENDAR_TIMER_CTL | PWR_EN_PD_COMM_CORE

Return values

  None |

## ◆ ll_pwr_enable_comm_core_reset()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_comm_core_reset | ( | void |  | ) |

Enable the Communication Core Reset.

Note
  Comm Core can be reset when all ble connection were disconnected and MCU was ready to enter into deepsleep mode, and When COMM_CORE_RST_N is 0, the ble is held in reset.

Register | BitsName
--- | ---
PWR_RET01 | COMM_CORE_RST_N

Return values

  None |

## ◆ ll_pwr_enable_comm_soft_wakeup_req()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_comm_soft_wakeup_req | ( | void |  | ) |

Enable Wake Up Request from Software.

Note
  Applies when system is in Deep Sleep Mode. It wakes up the Communication Core when written with a 1. No action happens if it is written with 0.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_SOFT_WAKEUP_REQ

Return values

  None |

## ◆ ll_pwr_enable_comm_timer_power()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_comm_timer_power | ( | void |  | ) |

Enable the Communication Timer Power, the Communication Timer will be Powered Up.

Register | BitsName
--- | ---
CALENDAR_TIMER_CTL | ISO_EN_PD_COMM_TIMER
CALENDAR_TIMER_CTL | PWR_EN_PD_COMM_TIMER

Return values

  None |

## ◆ ll_pwr_enable_comm_timer_reset()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_comm_timer_reset | ( | void |  | ) |

Enable the Communication Timer Reset.

Note
  Comm timer can be reset when all ble connection were disconnected and MCU was ready to enter into deepsleep mode.

Register | BitsName
--- | ---
PWR_RET01 | COMM_TIMER_RST_N

Return values

  None |

## ◆ ll_pwr_enable_osc_sleep()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_osc_sleep | ( | void |  | ) |

Enable high frequency crystal oscillator sleep mode, and diable OSC.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_OSC_SLEEP_EN

Return values

  None |

## ◆ ll_pwr_enable_radio_sleep()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_enable_radio_sleep | ( | void |  | ) |

Enable Radio sleep mode, and disable Radio module.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_RADIO_SLEEP_EN

Return values

  None |

## ◆ ll_pwr_get_comm_sleep_duration()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_get_comm_sleep_duration | ( | void |  | ) |

Get the actual duration of the last deep sleep phase measured in low_power_clk clock cycle.

Register | BitsName
--- | ---
COMM_TMR_DEEPSLPSTAT | DEEPSLDUR

Return values

  Sleep | duration

## ◆ ll_pwr_get_comm_wakeup_time()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_get_comm_wakeup_time | ( | void |  | ) |

Get the time in low_power_clk clock cycles to spend in Deep Sleep Mode before waking-up the device.

Register | BitsName
--- | ---
COMM_TMR_DEEPSLWKUP | AON_COMM_TMR_DEEPSLWKUP_DEEPSLTIME

Return values

  Clock | cycles to spend in Deep Sleep Mode before waking-up the device

## ◆ ll_pwr_get_timer_read_select()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_get_timer_read_select | ( | void |  | ) |

Get which timer value was selected to read.

Register | BitsName
--- | ---
PAD_CTL1 | TIMER_READ_SEL

Return values

  Returned | value can be one of the following values: LL_PWR_TIMER_READ_SEL_CAL_TIMER LL_PWR_TIMER_READ_SEL_AON_WDT LL_PWR_TIMER_READ_SEL_SLP_TIMER LL_PWR_TIMER_READ_SEL_CAL_ALARM

## ◆ ll_pwr_get_timer_read_value()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_get_timer_read_value | ( | void |  | ) |

Get current timer value based on the selection.

Note
  Please read multiple times until get a stable value.

Register | BitsName
--- | ---
PAD_CTL1 | TIMER_READ_SEL

Return values

  Returned | value can be one of the following values: LL_PWR_TIMER_READ_SEL_CAL_TIMER LL_PWR_TIMER_READ_SEL_AON_WDT LL_PWR_TIMER_READ_SEL_SLP_TIMER LL_PWR_TIMER_READ_SEL_CAL_ALARM

## ◆ ll_pwr_is_enabled_comm_core_deep_sleep()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_comm_core_deep_sleep | ( | void |  | ) |

Check if the Communication Core Deep Sleep Mode was enabled or disabled.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_DEEP_SLEEP_ON

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_is_enabled_comm_core_ext_wakeup()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_comm_core_ext_wakeup | ( | void |  | ) |

Check if the Communication Core external wakeup was enabled or disabled.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_EXTWKUPDSB

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_is_enabled_comm_core_power()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_comm_core_power | ( | void |  | ) |

Check if the Communication Core Power was enabled or disabled.

Register | BitsName
--- | ---
CALENDAR_TIMER_CTL | ISO_EN_PD_COMM_CORE
CALENDAR_TIMER_CTL | PWR_EN_PD_COMM_CORE

Return values

  None |

## ◆ ll_pwr_is_enabled_comm_core_reset()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_comm_core_reset | ( | void |  | ) |

Check if the Communication Core Reset was enabled or disabled.

Register | BitsName
--- | ---
PWR_RET01 | COMM_CORE_RST_N

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_is_enabled_comm_timer_power()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_comm_timer_power | ( | void |  | ) |

Check if the Communication Timer Power was enabled or disabled.

Register | BitsName
--- | ---
CALENDAR_TIMER_CTL | ISO_EN_PD_COMM_TIMER
CALENDAR_TIMER_CTL | PWR_EN_PD_COMM_TIMER

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_is_enabled_comm_timer_reset()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_comm_timer_reset | ( | void |  | ) |

Check if the Communication Timer Reset was enabled or disabled.

Register | BitsName
--- | ---
PWR_RET01 | COMM_TIMER_RST_N

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_is_enabled_osc_sleep()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_osc_sleep | ( | void |  | ) |

Check if the OSC sleep mode was enabled or disabled.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_OSC_SLEEP_EN

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_is_enabled_radio_sleep()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_radio_sleep | ( | void |  | ) |

Check if the Radio sleep mode was enabled or disabled.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_RADIO_SLEEP_EN

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_is_enabled_soft_wakeup_req()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_is_enabled_soft_wakeup_req | ( | void |  | ) |

Check if the Wake Up Request was enabled or disabled.

Note
  Resets at 0 means request action is performed.

Register | BitsName
--- | ---
MSIO_PAD_CFG_1 | COMM_DEEPSLCNTL_SOFT_WAKEUP_REQ

Return values

  State | of bit (1 or 0).

## ◆ ll_pwr_read_comm_wakeup_timing()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_read_comm_wakeup_timing | ( | void |  | ) |

Read the wakeup timing in low_power_clk clock cycles to spend when waking-up the device.

Register | BitsName
--- | ---
COMM_TMR_ENBPRESET | TWEXT
COMM_TMR_ENBPRESET | TWOSC
COMM_TMR_ENBPRESET | TWRM

Return values

  COMM_TMR_ENBPRESET | Register value

## ◆ ll_pwr_read_comm_wakeup_timing_twosc()

SECTION_RAM_CODE __STATIC_INLINE uint32_t ll_pwr_read_comm_wakeup_timing_twosc | ( | void |  | ) |

Read the Twosc of the wakeup timing in low_power_clk clock cycles to spend when waking-up the device.

Return values

  TWOSC | value

## ◆ ll_pwr_set_comm_core_wakeup_time()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_set_comm_core_wakeup_time | ( | uint32_t | time | ) |

Set the time in low_power_clk clock cycles to spend in Deep Sleep Mode before waking-up the device.

Register | BitsName
--- | ---
COMM_TMR_DEEPSLWKUP | AON_COMM_TMR_DEEPSLWKUP_DEEPSLTIME

Parameters

  time | 32 bit clock cycles loaded into the AON_COMM_TMR_DEEPSLWKUP_DEEPSLTIME

Return values

  None |

## ◆ ll_pwr_set_comm_wakeup_timing()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_set_comm_wakeup_timing | ( | uint32_t | twext,
|  | uint32_t | twosc,
|  | uint32_t | twrm
| ) |  |

Set the wakeup timing in low_power_clk clock cycles to spend when waking-up the device.

Register | BitsName
--- | ---
COMM_TMR_ENBPRESET | TWEXT
COMM_TMR_ENBPRESET | TWOSC
COMM_TMR_ENBPRESET | TWRM

Parameters

  twext | Time in low power oscillator cycles allowed for stabilization of the high frequency oscillator following an external wake–up request (signal wakeup_req).
  twosc | Time in low power oscillator cycles allowed for stabilization of the high frequency oscillator when the deep–sleep mode has been left due to sleep–timer expiry.
  twrm | Time in low power oscillator cycles allowed for the radio module to leave low–power mode.

Return values

  None |

## ◆ ll_pwr_set_timer_read_select()

SECTION_RAM_CODE __STATIC_INLINE void ll_pwr_set_timer_read_select | ( | uint32_t | select | ) |

Select which timer value to read.

Register | BitsName
--- | ---
PAD_CTL1 | TIMER_READ_SEL

Parameters

  select | This parameter can be one of the following values: LL_PWR_TIMER_READ_SEL_CAL_TIMER LL_PWR_TIMER_READ_SEL_AON_WDT LL_PWR_TIMER_READ_SEL_SLP_TIMER LL_PWR_TIMER_READ_SEL_CAL_ALARM

Return values

  None |