POWER HAL

group nrf_power_hal

Hardware access layer for managing the POWER peripheral.

Defines

NRF_POWER_HAS_SLEEPEVT

Symbol indicating whether sleep events are present.

NRF_POWER_HAS_USBREG

Symbol indicating whether the POWER peripheral controls the USB regulator.

NRF_POWER_HAS_DCDCEN_VDDH

Symbol indicating whether DCDCEN for REG0 is present.

NRF_POWER_HAS_DCDCEN

Symbol indicating whether DCDCEN for REG1 is present.

NRF_POWER_HAS_POFWARN

Symbol indicating whether power failure event is present.

NRF_POWER_HAS_POFCON

Symbol indicating whether power failure comparator is present.

NRF_POWER_HAS_POFCON_VDDH

Symbol indicating whether power failure comparator for VDDH is present.

NRF_POWER_HAS_RESETREAS

Auxiliary definition to mark the fact that RESETREAS register is present in POWER.

NRF_POWER_HAS_MAINREGSTATUS

Symbol indicating whether MAINREGSTATUS register is present.

Enums

enum nrf_power_task_t

POWER tasks.

Values:

enumerator NRF_POWER_TASK_CONSTLAT

Enable constant latency mode.

enumerator NRF_POWER_TASK_LOWPWR

Enable low-power mode (variable latency).

enum nrf_power_event_t

POWER events.

Values:

enumerator NRF_POWER_EVENT_POFWARN

Power failure warning.

enumerator NRF_POWER_EVENT_SLEEPENTER

CPU entered WFI/WFE sleep.

enumerator NRF_POWER_EVENT_SLEEPEXIT

CPU exited WFI/WFE sleep.

enumerator NRF_POWER_EVENT_USBDETECTED

Voltage supply detected on VBUS.

enumerator NRF_POWER_EVENT_USBREMOVED

Voltage supply removed from VBUS.

enumerator NRF_POWER_EVENT_USBPWRRDY

USB 3.3V supply ready.

enum nrf_power_int_mask_t

POWER interrupts.

Values:

enumerator NRF_POWER_INT_POFWARN_MASK

Write ‘1’ to Enable interrupt for POFWARN event.

enumerator NRF_POWER_INT_SLEEPENTER_MASK

Write ‘1’ to Enable interrupt for SLEEPENTER event.

enumerator NRF_POWER_INT_SLEEPEXIT_MASK

Write ‘1’ to Enable interrupt for SLEEPEXIT event.

enumerator NRF_POWER_INT_USBDETECTED_MASK

Write ‘1’ to Enable interrupt for USBDETECTED event.

enumerator NRF_POWER_INT_USBREMOVED_MASK

Write ‘1’ to Enable interrupt for USBREMOVED event.

enumerator NRF_POWER_INT_USBPWRRDY_MASK

Write ‘1’ to Enable interrupt for USBPWRRDY event.

enum nrf_power_resetreas_mask_t

Reset reason.

Values:

enumerator NRF_POWER_RESETREAS_RESETPIN_MASK

Bit mask of RESETPIN field.

enumerator NRF_POWER_RESETREAS_DOG_MASK

Bit mask of DOG field.

enumerator NRF_POWER_RESETREAS_SREQ_MASK

Bit mask of SREQ field.

enumerator NRF_POWER_RESETREAS_LOCKUP_MASK

Bit mask of LOCKUP field.

enumerator NRF_POWER_RESETREAS_OFF_MASK

Bit mask of OFF field.

enumerator NRF_POWER_RESETREAS_LPCOMP_MASK

Bit mask of LPCOMP field.

enumerator NRF_POWER_RESETREAS_DIF_MASK

Bit mask of DIF field.

enumerator NRF_POWER_RESETREAS_NFC_MASK

Bit mask of NFC field.

enumerator NRF_POWER_RESETREAS_VBUS_MASK

Bit mask of VBUS field.

enum nrf_power_usbregstatus_mask_t

USBREGSTATUS register bit masks.

Values:

enumerator NRF_POWER_USBREGSTATUS_VBUSDETECT_MASK

USB detected or removed.

enumerator NRF_POWER_USBREGSTATUS_OUTPUTRDY_MASK

USB 3.3V supply ready.

enum nrf_power_ramblock_t

Numbers of RAM blocks.

Note

RAM blocks must be used in nRF51. In newer SoCs, RAM is divided into segments and this functionality is not supported. See the PS for mapping between the internal RAM and RAM blocks, because this mapping is not 1:1, and functions related to old style blocks must not be used.

Values:

enumerator NRF_POWER_RAMBLOCK0
enumerator NRF_POWER_RAMBLOCK1
enumerator NRF_POWER_RAMBLOCK2
enumerator NRF_POWER_RAMBLOCK3
enum nrf_power_ramblock_mask_t

Masks of RAM blocks.

Values:

enumerator NRF_POWER_RAMBLOCK0_MASK
enumerator NRF_POWER_RAMBLOCK1_MASK
enumerator NRF_POWER_RAMBLOCK2_MASK
enumerator NRF_POWER_RAMBLOCK3_MASK
enum nrf_power_onoffram_t

RAM power state position of the bits.

Values:

enumerator NRF_POWER_ONRAM0

Keep RAM block 0 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM0

Keep retention on RAM block 0 when RAM block is switched OFF.

enumerator NRF_POWER_ONRAM1

Keep RAM block 1 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM1

Keep retention on RAM block 1 when RAM block is switched OFF.

enumerator NRF_POWER_ONRAM2

Keep RAM block 2 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM2

Keep retention on RAM block 2 when RAM block is switched OFF.

enumerator NRF_POWER_ONRAM3

Keep RAM block 3 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM3

Keep retention on RAM block 3 when RAM block is switched OFF.

enum nrf_power_onoffram_mask_t

RAM power state bit masks.

Values:

enumerator NRF_POWER_ONRAM0_MASK

Keep RAM block 0 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM0_MASK

Keep retention on RAM block 0 when RAM block is switched OFF.

enumerator NRF_POWER_ONRAM1_MASK

Keep RAM block 1 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM1_MASK

Keep retention on RAM block 1 when RAM block is switched OFF.

enumerator NRF_POWER_ONRAM2_MASK

Keep RAM block 2 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM2_MASK

Keep retention on RAM block 2 when RAM block is switched OFF.

enumerator NRF_POWER_ONRAM3_MASK

Keep RAM block 3 ON or OFF in System ON mode.

enumerator NRF_POWER_OFFRAM3_MASK

Keep retention on RAM block 3 when RAM block is switched OFF.

enum nrf_power_pof_thr_t

Power failure comparator thresholds.

Values:

enumerator NRF_POWER_POFTHR_V21

Set threshold to 2.1V.

enumerator NRF_POWER_POFTHR_V23

Set threshold to 2.3V.

enumerator NRF_POWER_POFTHR_V25

Set threshold to 2.5V.

enumerator NRF_POWER_POFTHR_V27

Set threshold to 2.7V.

enumerator NRF_POWER_POFTHR_V17

Set threshold to 1.7V.

enumerator NRF_POWER_POFTHR_V18

Set threshold to 1.8V.

enumerator NRF_POWER_POFTHR_V19

Set threshold to 1.9V.

enumerator NRF_POWER_POFTHR_V20

Set threshold to 2.0V.

enumerator NRF_POWER_POFTHR_V22

Set threshold to 2.2V.

enumerator NRF_POWER_POFTHR_V24

Set threshold to 2.4V.

enumerator NRF_POWER_POFTHR_V26

Set threshold to 2.6V.

enumerator NRF_POWER_POFTHR_V28

Set threshold to 2.8V.

enum nrf_power_pof_thrvddh_t

Power failure comparator thresholds for VDDH.

Values:

enumerator NRF_POWER_POFTHRVDDH_V27

Set threshold to 2.7V.

enumerator NRF_POWER_POFTHRVDDH_V28

Set threshold to 2.8V.

enumerator NRF_POWER_POFTHRVDDH_V29

Set threshold to 2.9V.

enumerator NRF_POWER_POFTHRVDDH_V30

Set threshold to 3.0V.

enumerator NRF_POWER_POFTHRVDDH_V31

Set threshold to 3.1V.

enumerator NRF_POWER_POFTHRVDDH_V32

Set threshold to 3.2V.

enumerator NRF_POWER_POFTHRVDDH_V33

Set threshold to 3.3V.

enumerator NRF_POWER_POFTHRVDDH_V34

Set threshold to 3.4V.

enumerator NRF_POWER_POFTHRVDDH_V35

Set threshold to 3.5V.

enumerator NRF_POWER_POFTHRVDDH_V36

Set threshold to 3.6V.

enumerator NRF_POWER_POFTHRVDDH_V37

Set threshold to 3.7V.

enumerator NRF_POWER_POFTHRVDDH_V38

Set threshold to 3.8V.

enumerator NRF_POWER_POFTHRVDDH_V39

Set threshold to 3.9V.

enumerator NRF_POWER_POFTHRVDDH_V40

Set threshold to 4.0V.

enumerator NRF_POWER_POFTHRVDDH_V41

Set threshold to 4.1V.

enumerator NRF_POWER_POFTHRVDDH_V42

Set threshold to 4.2V.

enum nrf_power_mainregstatus_t

Main regulator status.

Values:

enumerator NRF_POWER_MAINREGSTATUS_NORMAL

Normal voltage mode. Voltage supplied on VDD.

enumerator NRF_POWER_MAINREGSTATUS_HIGH

High voltage mode. Voltage supplied on VDDH.

enum nrf_power_rampower_t

Bit positions for RAMPOWER register.

All possible bits described, even if they are not used in selected MCU.

Values:

enumerator NRF_POWER_RAMPOWER_S0POWER

Keep RAM section S0 ON in System ON mode

enumerator NRF_POWER_RAMPOWER_S1POWER

Keep RAM section S1 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S2POWER

Keep RAM section S2 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S3POWER

Keep RAM section S3 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S4POWER

Keep RAM section S4 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S5POWER

Keep RAM section S5 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S6POWER

Keep RAM section S6 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S7POWER

Keep RAM section S7 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S8POWER

Keep RAM section S8 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S9POWER

Keep RAM section S9 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S10POWER

Keep RAM section S10 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S11POWER

Keep RAM section S11 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S12POWER

Keep RAM section S12 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S13POWER

Keep RAM section S13 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S14POWER

Keep RAM section S14 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S15POWER

Keep RAM section S15 ON in System ON mode.

enumerator NRF_POWER_RAMPOWER_S0RETENTION

Keep section retention in OFF mode when section is OFF

enumerator NRF_POWER_RAMPOWER_S1RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S2RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S3RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S4RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S5RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S6RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S7RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S8RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S9RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S10RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S11RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S12RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S13RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S14RETENTION

Keep section retention in OFF mode when section is OFF.

enumerator NRF_POWER_RAMPOWER_S15RETENTION

Keep section retention in OFF mode when section is OFF.

enum nrf_power_rampower_mask_t

Bit masks for RAMPOWER register.

All possible bits described, even if they are not used in selected MCU.

Values:

enumerator NRF_POWER_RAMPOWER_S0POWER_MASK
enumerator NRF_POWER_RAMPOWER_S1POWER_MASK
enumerator NRF_POWER_RAMPOWER_S2POWER_MASK
enumerator NRF_POWER_RAMPOWER_S3POWER_MASK
enumerator NRF_POWER_RAMPOWER_S4POWER_MASK
enumerator NRF_POWER_RAMPOWER_S5POWER_MASK
enumerator NRF_POWER_RAMPOWER_S7POWER_MASK
enumerator NRF_POWER_RAMPOWER_S8POWER_MASK
enumerator NRF_POWER_RAMPOWER_S9POWER_MASK
enumerator NRF_POWER_RAMPOWER_S10POWER_MASK
enumerator NRF_POWER_RAMPOWER_S11POWER_MASK
enumerator NRF_POWER_RAMPOWER_S12POWER_MASK
enumerator NRF_POWER_RAMPOWER_S13POWER_MASK
enumerator NRF_POWER_RAMPOWER_S14POWER_MASK
enumerator NRF_POWER_RAMPOWER_S15POWER_MASK
enumerator NRF_POWER_RAMPOWER_S0RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S1RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S2RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S3RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S4RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S5RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S7RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S8RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S9RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S10RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S11RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S12RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S13RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S14RETENTION_MASK
enumerator NRF_POWER_RAMPOWER_S15RETENTION_MASK

Functions

NRF_STATIC_INLINE void nrf_power_task_trigger(NRF_POWER_Type *p_reg, nrf_power_task_t task)

Function for activating a specific POWER task.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • task[in] Task.

NRF_STATIC_INLINE uint32_t nrf_power_task_address_get(NRF_POWER_Type const *p_reg, nrf_power_task_t task)

Function for returning the address of a specific POWER task register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • task[in] Task.

Returns

Task address.

NRF_STATIC_INLINE void nrf_power_event_clear(NRF_POWER_Type *p_reg, nrf_power_event_t event)

Function for clearing a specific event.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event.

NRF_STATIC_INLINE bool nrf_power_event_check(NRF_POWER_Type const *p_reg, nrf_power_event_t event)

Function for retrieving the state of the POWER event.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event to be checked.

Return values
  • true – The event has been generated.

  • false – The event has not been generated.

NRF_STATIC_INLINE bool nrf_power_event_get_and_clear(NRF_POWER_Type *p_reg, nrf_power_event_t event)

Function for getting and clearing the state of specific event.

This function checks the state of the event and clears it.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event.

Return values
  • true – The event was set.

  • false – The event was not set.

NRF_STATIC_INLINE uint32_t nrf_power_event_address_get(NRF_POWER_Type const *p_reg, nrf_power_event_t event)

Function for returning the address of a specific POWER event register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event.

Returns

Address.

NRF_STATIC_INLINE void nrf_power_int_enable(NRF_POWER_Type *p_reg, uint32_t mask)

Function for enabling selected interrupts.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be enabled.

NRF_STATIC_INLINE uint32_t nrf_power_int_enable_check(NRF_POWER_Type const *p_reg, uint32_t mask)

Function for checking if the specified interrupts are enabled.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be checked.

Returns

Mask of enabled interrupts.

NRF_STATIC_INLINE uint32_t nrf_power_int_enable_get(NRF_POWER_Type const *p_reg)

Function for retrieving the information about enabled interrupts.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

The flags of enabled interrupts.

NRF_STATIC_INLINE void nrf_power_int_disable(NRF_POWER_Type *p_reg, uint32_t mask)

Function for disabling selected interrupts.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be disabled.

NRF_STATIC_INLINE void nrf_power_subscribe_set(NRF_POWER_Type *p_reg, nrf_power_task_t task, uint8_t channel)

Function for setting the subscribe configuration for a given POWER task.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • task[in] Task for which to set the configuration.

  • channel[in] Channel through which to subscribe events.

NRF_STATIC_INLINE void nrf_power_subscribe_clear(NRF_POWER_Type *p_reg, nrf_power_task_t task)

Function for clearing the subscribe configuration for a given POWER task.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • task[in] Task for which to clear the configuration.

NRF_STATIC_INLINE void nrf_power_publish_set(NRF_POWER_Type *p_reg, nrf_power_event_t event, uint8_t channel)

Function for setting the publish configuration for a given POWER event.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event for which to set the configuration.

  • channel[in] Channel through which to publish the event.

NRF_STATIC_INLINE void nrf_power_publish_clear(NRF_POWER_Type *p_reg, nrf_power_event_t event)

Function for clearing the publish configuration for a given POWER event.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event for which to clear the configuration.

NRF_STATIC_INLINE uint32_t nrf_power_resetreas_get(NRF_POWER_Type const *p_reg)

Function for getting the reset reason bitmask.

This function returns the reset reason bitmask. Unless cleared, the RESETREAS register is cumulative. A field is cleared by writing ‘1’ to it (see nrf_power_resetreas_clear). If none of the reset sources is flagged, the chip was reset from the on-chip reset generator, which indicates a power-on-reset or a brown out reset.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

The mask of reset reasons constructed with nrf_power_resetreas_mask_t.

NRF_STATIC_INLINE void nrf_power_resetreas_clear(NRF_POWER_Type *p_reg, uint32_t mask)

Function for clearing the selected reset reason field.

This function clears the selected reset reason field.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] The mask constructed from nrf_power_resetreas_mask_t enumerator values.

NRF_STATIC_INLINE bool nrf_power_powerstatus_get(NRF_POWER_Type const *p_reg)

Function for getting power status of the LTE Modem domain.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Return values
  • true – The LTE Modem domain is powered on.

  • false – The LTE Modem domain is powered off.

NRF_STATIC_INLINE uint32_t nrf_power_ramstatus_get(NRF_POWER_Type const *p_reg)

Function for getting the RAMSTATUS register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

Value with bits set according to the masks in nrf_power_ramblock_mask_t.

NRF_STATIC_INLINE void nrf_power_pofcon_set(NRF_POWER_Type *p_reg, bool enable, nrf_power_pof_thr_t thr)

Function for setting the power failure comparator configuration.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • enable[in] True if the power failure comparator is to be enabled, false otherwise.

  • thr[in] voltage threshold value.

NRF_STATIC_INLINE nrf_power_pof_thr_t nrf_power_pofcon_get(NRF_POWER_Type const *p_reg, bool *p_enabled)

Function for getting the power failure comparator configuration.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • p_enabled[out] Function sets this boolean variable to true if power failure comparator is enabled. The pointer can be NULL if we do not need this information.

Returns

Threshold setting for power failure comparator.

NRF_STATIC_INLINE void nrf_power_pofcon_vddh_set(NRF_POWER_Type *p_reg, nrf_power_pof_thrvddh_t thr)

Function for setting the VDDH power failure comparator threshold.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • thr[in] Threshold to be set.

NRF_STATIC_INLINE nrf_power_pof_thrvddh_t nrf_power_pofcon_vddh_get(NRF_POWER_Type const *p_reg)

Function for getting the VDDH power failure comparator threshold.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

VDDH threshold currently configured.

NRF_STATIC_INLINE void nrf_power_gpregret_set(NRF_POWER_Type *p_reg, uint8_t val)

Function for setting the general purpose retention register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • val[in] Value to be set in the register.

NRF_STATIC_INLINE uint8_t nrf_power_gpregret_get(NRF_POWER_Type const *p_reg)

Function for getting general purpose retention register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

The value from the register.

NRF_STATIC_INLINE void nrf_power_gpregret2_set(NRF_POWER_Type *p_reg, uint8_t val)

Function for setting the general purpose retention register 2.

Note

This register is not available in the nRF51 MCU family.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • val[in] Value to be set in the register.

NRF_STATIC_INLINE uint8_t nrf_power_gpregret2_get(NRF_POWER_Type const *p_reg)

Function for getting the general purpose retention register 2.

Note

This register is not available in all MCUs.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

The value from the register.

NRF_STATIC_INLINE uint8_t nrf_power_gpregret_ext_get(NRF_POWER_Type const *p_reg, uint8_t reg_num)

Function for getting value of the particular general purpose retention register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • reg_num[in] General purpose retention register number.

Returns

The value from the register

NRF_STATIC_INLINE void nrf_power_gpregret_ext_set(NRF_POWER_Type *p_reg, uint8_t reg_num, uint8_t val)

Function for setting particular general purpose retention register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • reg_num[in] General purpose retention register number.

  • val[in] Value to be set in the register

NRF_STATIC_INLINE void nrf_power_dcdcen_set(NRF_POWER_Type *p_reg, bool enable)

Enable or disable DCDC converter.

Note

If the device consist of high voltage power input (VDDH), this setting will relate to the converter on low voltage side (1.3V output).

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • enable[in] True if DCDC converter is to be enabled, false otherwise.

NRF_STATIC_INLINE bool nrf_power_dcdcen_get(NRF_POWER_Type const *p_reg)

Function for getting the state of the DCDC converter.

Note

If the device consist of high voltage power input (VDDH), this setting will relate to the converter on low voltage side (1.3V output).

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Return values
  • true – Converter is enabled.

  • false – Converter is disabled.

NRF_STATIC_INLINE void nrf_power_rampower_mask_on(NRF_POWER_Type *p_reg, uint8_t block, uint32_t section_mask)

Turn ON sections in the selected RAM block.

This function turns ON several sections in one block and also block retention.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • block[in] RAM block index.

  • section_mask[in] Mask of the sections created by merging nrf_power_rampower_mask_t flags.

NRF_STATIC_INLINE void nrf_power_rampower_mask_off(NRF_POWER_Type *p_reg, uint8_t block, uint32_t section_mask)

Turn ON sections in the selected RAM block.

This function turns OFF several sections in one block and also block retention.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • block[in] RAM block index.

  • section_mask[in] Mask of the sections created by merging nrf_power_rampower_mask_t flags.

NRF_STATIC_INLINE uint32_t nrf_power_rampower_mask_get(NRF_POWER_Type const *p_reg, uint8_t block)

Function for getting the ON mask and retention sections in the selected RAM block.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • block[in] RAM block index.

Returns

Mask of sections state composed from nrf_power_rampower_mask_t flags.

NRF_STATIC_INLINE void nrf_power_dcdcen_vddh_set(NRF_POWER_Type *p_reg, bool enable)

Function for enabling or disabling the DCDC converter on VDDH.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • enable[in] True if DCDC converter on VDDH is to be enabled, false otherwise.

NRF_STATIC_INLINE bool nrf_power_dcdcen_vddh_get(NRF_POWER_Type const *p_reg)

Function for getting the state of DCDC converter on VDDH.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Return values
  • true – Converter is enabled.

  • false – Converter is disabled.

NRF_STATIC_INLINE nrf_power_mainregstatus_t nrf_power_mainregstatus_get(NRF_POWER_Type const *p_reg)

Function for getting the main supply status.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

The current main supply status.

NRF_STATIC_INLINE uint32_t nrf_power_usbregstatus_get(NRF_POWER_Type const *p_reg)

Function for getting the whole USBREGSTATUS register.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns

The USBREGSTATUS register value. Use nrf_power_usbregstatus_mask_t values for bit masking.

NRF_STATIC_INLINE bool nrf_power_usbregstatus_vbusdet_get(NRF_POWER_Type const *p_reg)

Function for getting the VBUS input detection status.

USBDETECTED and USBREMOVED events are derived from this information

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Return values
  • false – VBUS voltage below valid threshold.

  • true – VBUS voltage above valid threshold.

NRF_STATIC_INLINE bool nrf_power_usbregstatus_outrdy_get(NRF_POWER_Type const *p_reg)

Function for getting the state of the elapsed time for the USB supply output settling.

Parameters
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Return values
  • false – USBREG output settling time not elapsed.

  • true – USBREG output settling time elapsed (same information as USBPWRRDY event).