nrfx 3.3
Data Structures | Macros | Enumerations | Functions
POWER HAL

Hardware access layer for managing the POWER peripheral. More...

Data Structures

struct  nrf_power_abb_config_t
 POWER operating point for ABB domain structure. More...
 

Macros

#define NRF_POWER_HAS_CONST_LATENCY   1
 Symbol indicating whether Constant Latency mode is present.
 
#define NRF_POWER_HAS_LOW_POWER   1
 Symbol indicating whether Low-Power mode is present.
 
#define NRF_POWER_HAS_SLEEPEVT   1
 Symbol indicating whether sleep events are present.
 
#define NRF_POWER_HAS_USBREG   1
 Symbol indicating whether the POWER peripheral controls the USB regulator.
 
#define NRF_POWER_HAS_DCDCEN_VDDH   1
 Symbol indicating whether DCDCEN for REG0 is present.
 
#define NRF_POWER_HAS_DCDCEN   1
 Symbol indicating whether DCDCEN for REG1 is present.
 
#define NRF_POWER_HAS_POFWARN   1
 Symbol indicating whether power failure event is present.
 
#define NRF_POWER_HAS_POFCON   1
 Symbol indicating whether power failure comparator is present.
 
#define NRF_POWER_HAS_POFCON_VDDH   1
 Symbol indicating whether power failure comparator for VDDH is present.
 
#define NRF_POWER_HAS_RESETREAS   1
 Symbol indicating whether RESETREAS register is present in POWER.
 
#define NRF_POWER_HAS_RESETREAS_CTRLAP   1
 Symbol indicating whether RESETREAS CTRLAP is present.
 
#define NRF_POWER_HAS_RESETREAS_LPCOMP   1
 Symbol indicating whether RESETREAS LPCOMP is present.
 
#define NRF_POWER_HAS_RESETREAS_NFC   1
 Symbol indicating whether RESETREAS NFC is present.
 
#define NRF_POWER_HAS_RESETREAS_VBUS   1
 Symbol indicating whether RESETREAS VBUS is present.
 
#define NRF_POWER_HAS_MAINREGSTATUS   1
 Symbol indicating whether MAINREGSTATUS register is present.
 
#define NRF_POWER_HAS_GPREGRET   1
 Symbol indicating whether GPREGRET register is present.
 
#define NRF_POWER_HAS_GPREGRET_ARRAY   1
 Symbol indicating whether GPREGRET register is treated as an array.
 
#define NRFX_POWER_GPREGRET_COUNT   POWER_GPREGRET_MaxCount
 Size of GPREGRET register when defined as array.
 
#define NRF_POWER_HAS_SEMAPHORE   1
 Symbol indicating whether semaphore for regulator voltage scaling procedure is present.
 
#define NRF_POWER_HAS_VREG_UPDATE_TASK_EVENT   1
 Symbol indicating whether task and event responsible for updating voltage regulators configuration are present.
 
#define NRF_POWER_HAS_VREG_CONFIG   1
 Symbol indicating whether voltage regulators are configurable.
 
#define NRF_POWER_HAS_ABB   1
 Symbol indicating whether the Adaptive Body Biasing (ABB) domains are present.
 
#define NRF_POWER_HAS_BLOCK_MODES   1
 Symbol indicating whether the power block modes are present.
 
#define NRF_POWER_HAS_BILS   1
 Symbol indicating whether the Built-in Leakage Sensors (BILS) are present.
 
#define NRF_POWER_HAS_PMIC   1
 Symbol indicating whether the Power Management IC (PMIC) is present.
 
#define NRF_POWER_EVENTS_ABB_LOCK_COUNT   POWER_EVENTS_ABBLOCK_MaxCount
 Symbol specifying the maximum number of available ABB_LOCK events.
 

Enumerations

enum  nrf_power_task_t {
  NRF_POWER_TASK_CONSTLAT = offsetof(NRF_POWER_Type, TASKS_CONSTLAT) ,
  NRF_POWER_TASK_LOWPWR = offsetof(NRF_POWER_Type, TASKS_LOWPWR) ,
  NRF_POWER_TASK_SEMAPHORE_ACQUIRE = offsetof(NRF_POWER_Type, TASKS_SEMAPHORE.ACQUIRE) ,
  NRF_POWER_TASK_SEMAPHORE_RELEASE = offsetof(NRF_POWER_Type, TASKS_SEMAPHORE.RELEASE) ,
  NRF_POWER_TASK_REGULATOR_UPDATE = offsetof(NRF_POWER_Type, TASKS_REGUPDATE)
}
 POWER tasks. More...
 
enum  nrf_power_event_t {
  NRF_POWER_EVENT_POFWARN = offsetof(NRF_POWER_Type, EVENTS_POFWARN) ,
  NRF_POWER_EVENT_SLEEPENTER = offsetof(NRF_POWER_Type, EVENTS_SLEEPENTER) ,
  NRF_POWER_EVENT_SLEEPEXIT = offsetof(NRF_POWER_Type, EVENTS_SLEEPEXIT) ,
  NRF_POWER_EVENT_USBDETECTED = offsetof(NRF_POWER_Type, EVENTS_USBDETECTED) ,
  NRF_POWER_EVENT_USBREMOVED = offsetof(NRF_POWER_Type, EVENTS_USBREMOVED) ,
  NRF_POWER_EVENT_USBPWRRDY = offsetof(NRF_POWER_Type, EVENTS_USBPWRRDY) ,
  NRF_POWER_EVENT_SEMAPHORE_ACQUIRED = offsetof(NRF_POWER_Type, EVENTS_SEMAPHORE.ACQUIRED) ,
  NRF_POWER_EVENT_SEMAPHORE_RELEASED = offsetof(NRF_POWER_Type, EVENTS_SEMAPHORE.RELEASED) ,
  NRF_POWER_EVENT_REGULATOR_UPDATED = offsetof(NRF_POWER_Type, EVENTS_REGUPDATED) ,
  NRF_POWER_EVENT_ABB_LOCK_0 = offsetof(NRF_POWER_Type, EVENTS_ABBLOCK[0]) ,
  NRF_POWER_EVENT_ABB_LOCK_1 = offsetof(NRF_POWER_Type, EVENTS_ABBLOCK[1])
}
 POWER events. More...
 
enum  nrf_power_int_mask_t {
  NRF_POWER_INT_POFWARN_MASK = POWER_INTENSET_POFWARN_Msk ,
  NRF_POWER_INT_SLEEPENTER_MASK = POWER_INTENSET_SLEEPENTER_Msk ,
  NRF_POWER_INT_SLEEPEXIT_MASK = POWER_INTENSET_SLEEPEXIT_Msk ,
  NRF_POWER_INT_USBDETECTED_MASK = POWER_INTENSET_USBDETECTED_Msk ,
  NRF_POWER_INT_USBREMOVED_MASK = POWER_INTENSET_USBREMOVED_Msk ,
  NRF_POWER_INT_USBPWRRDY_MASK = POWER_INTENSET_USBPWRRDY_Msk ,
  NRF_POWER_INT_SEMAPHORE_ACQUIRED = POWER_INTEN_SEMAPHOREACQUIRED_Msk ,
  NRF_POWER_INT_SEMAPHORE_RELEASED = POWER_INTEN_SEMAPHORERELEASED_Msk ,
  NRF_POWER_INT_REGULATOR_UPDATED = POWER_INTEN_REGUPDATED_Msk ,
  NRF_POWER_INT_ABB_LOCK_0 = POWER_INTEN_ABBLOCK0_Msk ,
  NRF_POWER_INT_ABB_LOCK_1 = POWER_INTEN_ABBLOCK1_Msk
}
 POWER interrupts. More...
 
enum  nrf_power_resetreas_mask_t {
  NRF_POWER_RESETREAS_RESETPIN_MASK = POWER_RESETREAS_RESETPIN_Msk ,
  NRF_POWER_RESETREAS_DOG_MASK = POWER_RESETREAS_DOG_Msk ,
  NRF_POWER_RESETREAS_SREQ_MASK = POWER_RESETREAS_SREQ_Msk ,
  NRF_POWER_RESETREAS_LOCKUP_MASK = POWER_RESETREAS_LOCKUP_Msk ,
  NRF_POWER_RESETREAS_OFF_MASK = POWER_RESETREAS_OFF_Msk ,
  NRF_POWER_RESETREAS_LPCOMP_MASK = POWER_RESETREAS_LPCOMP_Msk ,
  NRF_POWER_RESETREAS_DIF_MASK = POWER_RESETREAS_DIF_Msk ,
  NRF_POWER_RESETREAS_NFC_MASK = POWER_RESETREAS_NFC_Msk ,
  NRF_POWER_RESETREAS_VBUS_MASK = POWER_RESETREAS_VBUS_Msk ,
  NRF_POWER_RESETREAS_CTRLAP_MASK = POWER_RESETREAS_CTRLAP_Msk
}
 Reset reason. More...
 
enum  nrf_power_usbregstatus_mask_t {
  NRF_POWER_USBREGSTATUS_VBUSDETECT_MASK = POWER_USBREGSTATUS_VBUSDETECT_Msk ,
  NRF_POWER_USBREGSTATUS_OUTPUTRDY_MASK = POWER_USBREGSTATUS_OUTPUTRDY_Msk
}
 USBREGSTATUS register bit masks. More...
 
enum  nrf_power_ramblock_t {
  NRF_POWER_RAMBLOCK0 = POWER_RAMSTATUS_RAMBLOCK0_Pos ,
  NRF_POWER_RAMBLOCK1 = POWER_RAMSTATUS_RAMBLOCK1_Pos ,
  NRF_POWER_RAMBLOCK2 = POWER_RAMSTATUS_RAMBLOCK2_Pos ,
  NRF_POWER_RAMBLOCK3 = POWER_RAMSTATUS_RAMBLOCK3_Pos
}
 Numbers of RAM blocks. More...
 
enum  nrf_power_ramblock_mask_t {
  NRF_POWER_RAMBLOCK0_MASK = POWER_RAMSTATUS_RAMBLOCK0_Msk ,
  NRF_POWER_RAMBLOCK1_MASK = POWER_RAMSTATUS_RAMBLOCK1_Msk ,
  NRF_POWER_RAMBLOCK2_MASK = POWER_RAMSTATUS_RAMBLOCK2_Msk ,
  NRF_POWER_RAMBLOCK3_MASK = POWER_RAMSTATUS_RAMBLOCK3_Msk
}
 Masks of RAM blocks. More...
 
enum  nrf_power_onoffram_t {
  NRF_POWER_ONRAM0 ,
  NRF_POWER_OFFRAM0 ,
  NRF_POWER_ONRAM1 ,
  NRF_POWER_OFFRAM1 ,
  NRF_POWER_ONRAM2 ,
  NRF_POWER_OFFRAM2 ,
  NRF_POWER_ONRAM3 ,
  NRF_POWER_OFFRAM3
}
 RAM power state position of the bits. More...
 
enum  nrf_power_onoffram_mask_t {
  NRF_POWER_ONRAM0_MASK = 1U << NRF_POWER_ONRAM0 ,
  NRF_POWER_OFFRAM0_MASK = 1U << NRF_POWER_OFFRAM0 ,
  NRF_POWER_ONRAM1_MASK = 1U << NRF_POWER_ONRAM1 ,
  NRF_POWER_OFFRAM1_MASK = 1U << NRF_POWER_OFFRAM1 ,
  NRF_POWER_ONRAM2_MASK = 1U << NRF_POWER_ONRAM2 ,
  NRF_POWER_OFFRAM2_MASK = 1U << NRF_POWER_OFFRAM2 ,
  NRF_POWER_ONRAM3_MASK = 1U << NRF_POWER_ONRAM3 ,
  NRF_POWER_OFFRAM3_MASK = 1U << NRF_POWER_OFFRAM3
}
 RAM power state bit masks. More...
 
enum  nrf_power_pof_thr_t {
  NRF_POWER_POFTHR_V21 = POWER_POFCON_THRESHOLD_V21 ,
  NRF_POWER_POFTHR_V23 = POWER_POFCON_THRESHOLD_V23 ,
  NRF_POWER_POFTHR_V25 = POWER_POFCON_THRESHOLD_V25 ,
  NRF_POWER_POFTHR_V27 = POWER_POFCON_THRESHOLD_V27 ,
  NRF_POWER_POFTHR_V17 = POWER_POFCON_THRESHOLD_V17 ,
  NRF_POWER_POFTHR_V18 = POWER_POFCON_THRESHOLD_V18 ,
  NRF_POWER_POFTHR_V19 = POWER_POFCON_THRESHOLD_V19 ,
  NRF_POWER_POFTHR_V20 = POWER_POFCON_THRESHOLD_V20 ,
  NRF_POWER_POFTHR_V22 = POWER_POFCON_THRESHOLD_V22 ,
  NRF_POWER_POFTHR_V24 = POWER_POFCON_THRESHOLD_V24 ,
  NRF_POWER_POFTHR_V26 = POWER_POFCON_THRESHOLD_V26 ,
  NRF_POWER_POFTHR_V28 = POWER_POFCON_THRESHOLD_V28
}
 Power failure comparator thresholds. More...
 
enum  nrf_power_pof_thrvddh_t {
  NRF_POWER_POFTHRVDDH_V27 = POWER_POFCON_THRESHOLDVDDH_V27 ,
  NRF_POWER_POFTHRVDDH_V28 = POWER_POFCON_THRESHOLDVDDH_V28 ,
  NRF_POWER_POFTHRVDDH_V29 = POWER_POFCON_THRESHOLDVDDH_V29 ,
  NRF_POWER_POFTHRVDDH_V30 = POWER_POFCON_THRESHOLDVDDH_V30 ,
  NRF_POWER_POFTHRVDDH_V31 = POWER_POFCON_THRESHOLDVDDH_V31 ,
  NRF_POWER_POFTHRVDDH_V32 = POWER_POFCON_THRESHOLDVDDH_V32 ,
  NRF_POWER_POFTHRVDDH_V33 = POWER_POFCON_THRESHOLDVDDH_V33 ,
  NRF_POWER_POFTHRVDDH_V34 = POWER_POFCON_THRESHOLDVDDH_V34 ,
  NRF_POWER_POFTHRVDDH_V35 = POWER_POFCON_THRESHOLDVDDH_V35 ,
  NRF_POWER_POFTHRVDDH_V36 = POWER_POFCON_THRESHOLDVDDH_V36 ,
  NRF_POWER_POFTHRVDDH_V37 = POWER_POFCON_THRESHOLDVDDH_V37 ,
  NRF_POWER_POFTHRVDDH_V38 = POWER_POFCON_THRESHOLDVDDH_V38 ,
  NRF_POWER_POFTHRVDDH_V39 = POWER_POFCON_THRESHOLDVDDH_V39 ,
  NRF_POWER_POFTHRVDDH_V40 = POWER_POFCON_THRESHOLDVDDH_V40 ,
  NRF_POWER_POFTHRVDDH_V41 = POWER_POFCON_THRESHOLDVDDH_V41 ,
  NRF_POWER_POFTHRVDDH_V42 = POWER_POFCON_THRESHOLDVDDH_V42
}
 Power failure comparator thresholds for VDDH. More...
 
enum  nrf_power_mainregstatus_t {
  NRF_POWER_MAINREGSTATUS_NORMAL = POWER_MAINREGSTATUS_MAINREGSTATUS_Normal ,
  NRF_POWER_MAINREGSTATUS_HIGH = POWER_MAINREGSTATUS_MAINREGSTATUS_High
}
 Main regulator status. More...
 
enum  nrf_power_rampower_t {
  NRF_POWER_RAMPOWER_S0POWER = POWER_RAM_POWER_S0POWER_Pos ,
  NRF_POWER_RAMPOWER_S1POWER ,
  NRF_POWER_RAMPOWER_S2POWER ,
  NRF_POWER_RAMPOWER_S3POWER ,
  NRF_POWER_RAMPOWER_S4POWER ,
  NRF_POWER_RAMPOWER_S5POWER ,
  NRF_POWER_RAMPOWER_S6POWER ,
  NRF_POWER_RAMPOWER_S7POWER ,
  NRF_POWER_RAMPOWER_S8POWER ,
  NRF_POWER_RAMPOWER_S9POWER ,
  NRF_POWER_RAMPOWER_S10POWER ,
  NRF_POWER_RAMPOWER_S11POWER ,
  NRF_POWER_RAMPOWER_S12POWER ,
  NRF_POWER_RAMPOWER_S13POWER ,
  NRF_POWER_RAMPOWER_S14POWER ,
  NRF_POWER_RAMPOWER_S15POWER ,
  NRF_POWER_RAMPOWER_S0RETENTION = POWER_RAM_POWER_S0RETENTION_Pos ,
  NRF_POWER_RAMPOWER_S1RETENTION ,
  NRF_POWER_RAMPOWER_S2RETENTION ,
  NRF_POWER_RAMPOWER_S3RETENTION ,
  NRF_POWER_RAMPOWER_S4RETENTION ,
  NRF_POWER_RAMPOWER_S5RETENTION ,
  NRF_POWER_RAMPOWER_S6RETENTION ,
  NRF_POWER_RAMPOWER_S7RETENTION ,
  NRF_POWER_RAMPOWER_S8RETENTION ,
  NRF_POWER_RAMPOWER_S9RETENTION ,
  NRF_POWER_RAMPOWER_S10RETENTION ,
  NRF_POWER_RAMPOWER_S11RETENTION ,
  NRF_POWER_RAMPOWER_S12RETENTION ,
  NRF_POWER_RAMPOWER_S13RETENTION ,
  NRF_POWER_RAMPOWER_S14RETENTION ,
  NRF_POWER_RAMPOWER_S15RETENTION
}
 Bit positions for RAMPOWER register. More...
 
enum  nrf_power_rampower_mask_t {
  NRF_POWER_RAMPOWER_S0POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S0POWER ,
  NRF_POWER_RAMPOWER_S1POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S1POWER ,
  NRF_POWER_RAMPOWER_S2POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S2POWER ,
  NRF_POWER_RAMPOWER_S3POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S3POWER ,
  NRF_POWER_RAMPOWER_S4POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S4POWER ,
  NRF_POWER_RAMPOWER_S5POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S5POWER ,
  NRF_POWER_RAMPOWER_S7POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S7POWER ,
  NRF_POWER_RAMPOWER_S8POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S8POWER ,
  NRF_POWER_RAMPOWER_S9POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S9POWER ,
  NRF_POWER_RAMPOWER_S10POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S10POWER ,
  NRF_POWER_RAMPOWER_S11POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S11POWER ,
  NRF_POWER_RAMPOWER_S12POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S12POWER ,
  NRF_POWER_RAMPOWER_S13POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S13POWER ,
  NRF_POWER_RAMPOWER_S14POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S14POWER ,
  NRF_POWER_RAMPOWER_S15POWER_MASK = 1UL << NRF_POWER_RAMPOWER_S15POWER ,
  NRF_POWER_RAMPOWER_S0RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S0RETENTION ,
  NRF_POWER_RAMPOWER_S1RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S1RETENTION ,
  NRF_POWER_RAMPOWER_S2RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S2RETENTION ,
  NRF_POWER_RAMPOWER_S3RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S3RETENTION ,
  NRF_POWER_RAMPOWER_S4RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S4RETENTION ,
  NRF_POWER_RAMPOWER_S5RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S5RETENTION ,
  NRF_POWER_RAMPOWER_S7RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S7RETENTION ,
  NRF_POWER_RAMPOWER_S8RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S8RETENTION ,
  NRF_POWER_RAMPOWER_S9RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S9RETENTION ,
  NRF_POWER_RAMPOWER_S10RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S10RETENTION ,
  NRF_POWER_RAMPOWER_S11RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S11RETENTION ,
  NRF_POWER_RAMPOWER_S12RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S12RETENTION ,
  NRF_POWER_RAMPOWER_S13RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S13RETENTION ,
  NRF_POWER_RAMPOWER_S14RETENTION_MASK = 1UL << NRF_POWER_RAMPOWER_S14RETENTION ,
  NRF_POWER_RAMPOWER_S15RETENTION_MASK = (int)(1UL << NRF_POWER_RAMPOWER_S15RETENTION)
}
 Bit masks for RAMPOWER register. More...
 
enum  nrf_power_vreg_mask_t {
  NRF_POWER_VREG_1V8_MASK = POWER_REGCONFIG_VREG1V8_Msk ,
  NRF_POWER_VREG_1V0_MASK = POWER_REGCONFIG_VREG1V0_Msk ,
  NRF_POWER_VREG_0V8_MASK = POWER_REGCONFIG_VREG0V8_Msk ,
  NRF_POWER_VREG_VS_MASK = POWER_REGCONFIG_VREGVS_Msk ,
  NRF_POWER_VREG_MAIN1V8_MASK = POWER_REGCONFIG_VREGMAIN1V8_Msk ,
  NRF_POWER_VREG_MAIN1V0_MASK = POWER_REGCONFIG_VREGMAIN1V0_Msk ,
  NRF_POWER_VREG_MAINVS_MASK = POWER_REGCONFIG_VREGMAINVS_Msk ,
  NRF_POWER_VREG_FORCE_MASK = POWER_REGCONFIG_FORCE_Msk
}
 POWER voltage regulators bit masks. More...
 
enum  nrf_power_op_point_t {
  NRF_POWER_OP_POINT_0V4 = POWER_ABB_OPPOINT_OPPOINT_OpPoint0V4 ,
  NRF_POWER_OP_POINT_0V5 = POWER_ABB_OPPOINT_OPPOINT_OpPoint0V5 ,
  NRF_POWER_OP_POINT_0V6 = POWER_ABB_OPPOINT_OPPOINT_OpPoint0V6 ,
  NRF_POWER_OP_POINT_0V8 = POWER_ABB_OPPOINT_OPPOINT_OpPoint0V8
}
 POWER operating points for ABB domain. More...
 
enum  nrf_power_override_value_t {
  NRF_POWER_OVERRIDE_VALUE_POWER_DOWN = POWER_ABB_OPPOINT_ABBPWROVERRIDEVAL_PowerDown ,
  NRF_POWER_OVERRIDE_VALUE_POWER_UP = POWER_ABB_OPPOINT_ABBPWROVERRIDEVAL_PowerUp
}
 POWER operating points for ABB domain. More...
 

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.
 
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.
 
NRF_STATIC_INLINE void nrf_power_event_clear (NRF_POWER_Type *p_reg, nrf_power_event_t event)
 Function for clearing a specific 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.
 
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.
 
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.
 
NRF_STATIC_INLINE void nrf_power_int_enable (NRF_POWER_Type *p_reg, uint32_t mask)
 Function for enabling selected interrupts.
 
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.
 
NRF_STATIC_INLINE uint32_t nrf_power_int_enable_get (NRF_POWER_Type const *p_reg)
 Function for retrieving the information about enabled interrupts.
 
NRF_STATIC_INLINE void nrf_power_int_disable (NRF_POWER_Type *p_reg, uint32_t mask)
 Function for disabling selected interrupts.
 
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.
 
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.
 
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.
 
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.
 
NRF_STATIC_INLINE uint32_t nrf_power_resetreas_get (NRF_POWER_Type const *p_reg)
 Function for getting the reset reason bitmask.
 
NRF_STATIC_INLINE void nrf_power_resetreas_clear (NRF_POWER_Type *p_reg, uint32_t mask)
 Function for clearing the selected reset reason field.
 
NRF_STATIC_INLINE bool nrf_power_powerstatus_get (NRF_POWER_Type const *p_reg)
 Function for getting power status of the LTE Modem domain.
 
NRF_STATIC_INLINE uint32_t nrf_power_ramstatus_get (NRF_POWER_Type const *p_reg)
 Function for getting the RAMSTATUS register.
 
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.
 
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.
 
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.
 
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.
 
NRF_STATIC_INLINE void nrf_power_gpregret_set (NRF_POWER_Type *p_reg, uint32_t reg_num, uint32_t val)
 Function for setting the general purpose retention register.
 
NRF_STATIC_INLINE uint32_t nrf_power_gpregret_get (NRF_POWER_Type const *p_reg, uint32_t reg_num)
 Function for getting general purpose retention register.
 
NRF_STATIC_INLINE void nrf_power_dcdcen_set (NRF_POWER_Type *p_reg, bool enable)
 Enable or disable DCDC converter.
 
NRF_STATIC_INLINE bool nrf_power_dcdcen_get (NRF_POWER_Type const *p_reg)
 Function for getting the state of the DCDC converter.
 
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.
 
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.
 
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.
 
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.
 
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.
 
NRF_STATIC_INLINE nrf_power_mainregstatus_t nrf_power_mainregstatus_get (NRF_POWER_Type const *p_reg)
 Function for getting the 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.
 
NRF_STATIC_INLINE bool nrf_power_usbregstatus_vbusdet_get (NRF_POWER_Type const *p_reg)
 Function for getting the VBUS input detection status.
 
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.
 
NRF_STATIC_INLINE bool nrf_power_abb_busy_check (NRF_POWER_Type const *p_reg, uint8_t domain_idx)
 Function for checking whether the specified ABB domain is busy.
 
NRF_STATIC_INLINE void nrf_power_abb_config_set (NRF_POWER_Type *p_reg, uint8_t domain_idx, nrf_power_abb_config_t const *p_config)
 Function for setting configuration of the operating point for the specified ABB domain.
 
NRF_STATIC_INLINE void nrf_power_abb_config_get (NRF_POWER_Type const *p_reg, uint8_t domain_idx, nrf_power_abb_config_t *p_config)
 Function for getting configuration of the operating point for the specified ABB domain.
 
NRF_STATIC_INLINE void nrf_power_abb_force_lock_set (NRF_POWER_Type *p_reg, uint8_t domain_idx, bool enable)
 Function for setting the force lock for the specified ABB domain.
 
NRF_STATIC_INLINE bool nrf_power_abb_force_lock_check (NRF_POWER_Type const *p_reg, uint8_t domain_idx)
 Function for checking if the force lock for the specified ABB domain is enabled.
 
NRF_STATIC_INLINE void nrf_power_vreg_enable (NRF_POWER_Type *p_reg, uint32_t mask)
 Function for enabling specified voltage regulator.
 
NRF_STATIC_INLINE void nrf_power_vreg_disable (NRF_POWER_Type *p_reg, uint32_t mask)
 Function for disabling specified voltage regulator.
 
NRF_STATIC_INLINE uint32_t nrf_power_vreg_enable_check (NRF_POWER_Type const *p_reg, uint32_t mask)
 Function for checking if the specified voltage regulator is enabled.
 
NRF_STATIC_INLINE void nrf_power_ulp_mode_set (NRF_POWER_Type *p_reg, bool enable)
 Function for setting the Ultra Low Power (ULP) mode.
 
NRF_STATIC_INLINE bool nrf_power_ulp_mode_check (NRF_POWER_Type const *p_reg)
 Function for checking if the ULP mode is enabled.
 
NRF_STATIC_INLINE void nrf_power_ulv_mode_set (NRF_POWER_Type *p_reg, bool enable)
 Function for setting the Ultra Low Voltage (ULV) mode.
 
NRF_STATIC_INLINE bool nrf_power_ulv_mode_check (NRF_POWER_Type const *p_reg)
 Function for checking if the ULV mode is enabled.
 
NRF_STATIC_INLINE bool nrf_power_sem_status_get (NRF_POWER_Type const *p_reg)
 Function for getting the POWER semaphore status.
 
NRF_STATIC_INLINE void nrf_power_bils_set (NRF_POWER_Type *p_reg, bool enable)
 Function for setting BILS instances.
 
NRF_STATIC_INLINE bool nrf_power_bils_check (NRF_POWER_Type const *p_reg)
 Function for checking if BILS instances are enabled.
 
NRF_STATIC_INLINE void nrf_power_pmic_set (NRF_POWER_Type *p_reg, bool enable)
 Function for setting the PMIC interface.
 
NRF_STATIC_INLINE bool nrf_power_pmic_check (NRF_POWER_Type const *p_reg)
 Function for checking if the PMIC interface is enabled.
 

Detailed Description

Hardware access layer for managing the POWER peripheral.

Enumeration Type Documentation

◆ nrf_power_event_t

POWER events.

Enumerator
NRF_POWER_EVENT_POFWARN 

Power failure warning.

NRF_POWER_EVENT_SLEEPENTER 

CPU entered WFI/WFE sleep mode.

NRF_POWER_EVENT_SLEEPEXIT 

CPU exited WFI/WFE sleep mode.

NRF_POWER_EVENT_USBDETECTED 

Voltage supply detected on VBUS.

NRF_POWER_EVENT_USBREMOVED 

Voltage supply removed from VBUS.

NRF_POWER_EVENT_USBPWRRDY 

USB 3.3 V supply ready.

NRF_POWER_EVENT_SEMAPHORE_ACQUIRED 

Acquired the semaphore for regulator voltage scaling procedure.

NRF_POWER_EVENT_SEMAPHORE_RELEASED 

Released the semaphore for regulator voltage scaling procedure.

NRF_POWER_EVENT_REGULATOR_UPDATED 

Updated the regulator configuration.

NRF_POWER_EVENT_ABB_LOCK_0 

ABB lock for the ABB domain 0.

NRF_POWER_EVENT_ABB_LOCK_1 

ABB lock for the ABB domain 1.

◆ nrf_power_int_mask_t

POWER interrupts.

Enumerator
NRF_POWER_INT_POFWARN_MASK 

Write '1' to enable interrupt for POFWARN event.

NRF_POWER_INT_SLEEPENTER_MASK 

Write '1' to enable interrupt for SLEEPENTER event.

NRF_POWER_INT_SLEEPEXIT_MASK 

Write '1' to enable interrupt for SLEEPEXIT event.

NRF_POWER_INT_USBDETECTED_MASK 

Write '1' to enable interrupt for USBDETECTED event.

NRF_POWER_INT_USBREMOVED_MASK 

Write '1' to enable interrupt for USBREMOVED event.

NRF_POWER_INT_USBPWRRDY_MASK 

Write '1' to enable interrupt for USBPWRRDY event.

NRF_POWER_INT_SEMAPHORE_ACQUIRED 

Write '1' to enable interrupt for SEMAPHORE_ACQUIRED event.

NRF_POWER_INT_SEMAPHORE_RELEASED 

Write '1' to enable interrupt for SEMAPHORE_RELEASED event.

NRF_POWER_INT_REGULATOR_UPDATED 

Write '1' to enable interrupt for REGULATOR_UPDATED event.

NRF_POWER_INT_ABB_LOCK_0 

Write '1' to enable interrupt for ABB_LOCK_0 event.

NRF_POWER_INT_ABB_LOCK_1 

Write '1' to enable interrupt for ABB_LOCK_1 event.

◆ nrf_power_mainregstatus_t

Main regulator status.

Enumerator
NRF_POWER_MAINREGSTATUS_NORMAL 

Normal voltage mode. Voltage supplied on VDD.

NRF_POWER_MAINREGSTATUS_HIGH 

High voltage mode. Voltage supplied on VDDH.

◆ nrf_power_onoffram_mask_t

RAM power state bit masks.

See also
nrf_power_onoffram_t
Enumerator
NRF_POWER_ONRAM0_MASK 

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

NRF_POWER_OFFRAM0_MASK 

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

NRF_POWER_ONRAM1_MASK 

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

NRF_POWER_OFFRAM1_MASK 

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

NRF_POWER_ONRAM2_MASK 

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

NRF_POWER_OFFRAM2_MASK 

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

NRF_POWER_ONRAM3_MASK 

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

NRF_POWER_OFFRAM3_MASK 

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

◆ nrf_power_onoffram_t

RAM power state position of the bits.

See also
nrf_power_onoffram_mask_t
Enumerator
NRF_POWER_ONRAM0 

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

NRF_POWER_OFFRAM0 

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

NRF_POWER_ONRAM1 

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

NRF_POWER_OFFRAM1 

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

NRF_POWER_ONRAM2 

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

NRF_POWER_OFFRAM2 

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

NRF_POWER_ONRAM3 

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

NRF_POWER_OFFRAM3 

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

◆ nrf_power_op_point_t

POWER operating points for ABB domain.

Enumerator
NRF_POWER_OP_POINT_0V4 

Operating point 0.4 V.

NRF_POWER_OP_POINT_0V5 

Operating point 0.5 V.

NRF_POWER_OP_POINT_0V6 

Operating point 0.6 V.

NRF_POWER_OP_POINT_0V8 

Operating point 0.8 V.

◆ nrf_power_override_value_t

POWER operating points for ABB domain.

Enumerator
NRF_POWER_OVERRIDE_VALUE_POWER_DOWN 

ABB analog macro powered down.

NRF_POWER_OVERRIDE_VALUE_POWER_UP 

ABB analog macro powered up.

◆ nrf_power_pof_thr_t

Power failure comparator thresholds.

Enumerator
NRF_POWER_POFTHR_V21 

Set threshold to 2.1 V.

NRF_POWER_POFTHR_V23 

Set threshold to 2.3 V.

NRF_POWER_POFTHR_V25 

Set threshold to 2.5 V.

NRF_POWER_POFTHR_V27 

Set threshold to 2.7 V.

NRF_POWER_POFTHR_V17 

Set threshold to 1.7 V.

NRF_POWER_POFTHR_V18 

Set threshold to 1.8 V.

NRF_POWER_POFTHR_V19 

Set threshold to 1.9 V.

NRF_POWER_POFTHR_V20 

Set threshold to 2.0 V.

NRF_POWER_POFTHR_V22 

Set threshold to 2.2 V.

NRF_POWER_POFTHR_V24 

Set threshold to 2.4 V.

NRF_POWER_POFTHR_V26 

Set threshold to 2.6 V.

NRF_POWER_POFTHR_V28 

Set threshold to 2.8 V.

◆ nrf_power_pof_thrvddh_t

Power failure comparator thresholds for VDDH.

Enumerator
NRF_POWER_POFTHRVDDH_V27 

Set threshold to 2.7 V.

NRF_POWER_POFTHRVDDH_V28 

Set threshold to 2.8 V.

NRF_POWER_POFTHRVDDH_V29 

Set threshold to 2.9 V.

NRF_POWER_POFTHRVDDH_V30 

Set threshold to 3.0 V.

NRF_POWER_POFTHRVDDH_V31 

Set threshold to 3.1 V.

NRF_POWER_POFTHRVDDH_V32 

Set threshold to 3.2 V.

NRF_POWER_POFTHRVDDH_V33 

Set threshold to 3.3 V.

NRF_POWER_POFTHRVDDH_V34 

Set threshold to 3.4 V.

NRF_POWER_POFTHRVDDH_V35 

Set threshold to 3.5 V.

NRF_POWER_POFTHRVDDH_V36 

Set threshold to 3.6 V.

NRF_POWER_POFTHRVDDH_V37 

Set threshold to 3.7 V.

NRF_POWER_POFTHRVDDH_V38 

Set threshold to 3.8 V.

NRF_POWER_POFTHRVDDH_V39 

Set threshold to 3.9 V.

NRF_POWER_POFTHRVDDH_V40 

Set threshold to 4.0 V.

NRF_POWER_POFTHRVDDH_V41 

Set threshold to 4.1 V.

NRF_POWER_POFTHRVDDH_V42 

Set threshold to 4.2 V.

◆ nrf_power_ramblock_mask_t

Masks of RAM blocks.

See also
nrf_power_ramblock_t

◆ nrf_power_ramblock_t

Numbers of RAM blocks.

See also
nrf_power_ramblock_mask_t
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.

◆ nrf_power_rampower_mask_t

Bit masks for RAMPOWER register.

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

◆ nrf_power_rampower_t

Bit positions for RAMPOWER register.

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

Enumerator
NRF_POWER_RAMPOWER_S0POWER 

Keep RAM section S0 ON in System ON mode

NRF_POWER_RAMPOWER_S1POWER 

Keep RAM section S1 ON in System ON mode.

NRF_POWER_RAMPOWER_S2POWER 

Keep RAM section S2 ON in System ON mode.

NRF_POWER_RAMPOWER_S3POWER 

Keep RAM section S3 ON in System ON mode.

NRF_POWER_RAMPOWER_S4POWER 

Keep RAM section S4 ON in System ON mode.

NRF_POWER_RAMPOWER_S5POWER 

Keep RAM section S5 ON in System ON mode.

NRF_POWER_RAMPOWER_S6POWER 

Keep RAM section S6 ON in System ON mode.

NRF_POWER_RAMPOWER_S7POWER 

Keep RAM section S7 ON in System ON mode.

NRF_POWER_RAMPOWER_S8POWER 

Keep RAM section S8 ON in System ON mode.

NRF_POWER_RAMPOWER_S9POWER 

Keep RAM section S9 ON in System ON mode.

NRF_POWER_RAMPOWER_S10POWER 

Keep RAM section S10 ON in System ON mode.

NRF_POWER_RAMPOWER_S11POWER 

Keep RAM section S11 ON in System ON mode.

NRF_POWER_RAMPOWER_S12POWER 

Keep RAM section S12 ON in System ON mode.

NRF_POWER_RAMPOWER_S13POWER 

Keep RAM section S13 ON in System ON mode.

NRF_POWER_RAMPOWER_S14POWER 

Keep RAM section S14 ON in System ON mode.

NRF_POWER_RAMPOWER_S15POWER 

Keep RAM section S15 ON in System ON mode.

NRF_POWER_RAMPOWER_S0RETENTION 

Keep section retention in OFF mode when section is OFF

NRF_POWER_RAMPOWER_S1RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S2RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S3RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S4RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S5RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S6RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S7RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S8RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S9RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S10RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S11RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S12RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S13RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S14RETENTION 

Keep section retention in OFF mode when section is OFF.

NRF_POWER_RAMPOWER_S15RETENTION 

Keep section retention in OFF mode when section is OFF.

◆ nrf_power_resetreas_mask_t

Reset reason.

Enumerator
NRF_POWER_RESETREAS_RESETPIN_MASK 

Bit mask of RESETPIN field.

NRF_POWER_RESETREAS_DOG_MASK 

Bit mask of DOG field.

NRF_POWER_RESETREAS_SREQ_MASK 

Bit mask of SREQ field.

NRF_POWER_RESETREAS_LOCKUP_MASK 

Bit mask of LOCKUP field.

NRF_POWER_RESETREAS_OFF_MASK 

Bit mask of OFF field.

NRF_POWER_RESETREAS_LPCOMP_MASK 

Bit mask of LPCOMP field.

NRF_POWER_RESETREAS_DIF_MASK 

Bit mask of DIF field.

NRF_POWER_RESETREAS_NFC_MASK 

Bit mask of NFC field.

NRF_POWER_RESETREAS_VBUS_MASK 

Bit mask of VBUS field.

NRF_POWER_RESETREAS_CTRLAP_MASK 

Bit mask of CTRLAP field.

◆ nrf_power_task_t

POWER tasks.

Enumerator
NRF_POWER_TASK_CONSTLAT 

Enable constant latency mode.

NRF_POWER_TASK_LOWPWR 

Enable low-power mode (variable latency).

NRF_POWER_TASK_SEMAPHORE_ACQUIRE 

Acquire the semaphore for regulator voltage scaling procedure.

NRF_POWER_TASK_SEMAPHORE_RELEASE 

Release the semaphore for regulator voltage scaling procedure.

NRF_POWER_TASK_REGULATOR_UPDATE 

Update the regulator configuration.

◆ nrf_power_usbregstatus_mask_t

USBREGSTATUS register bit masks.

See also
nrf_power_usbregstatus_get
Enumerator
NRF_POWER_USBREGSTATUS_VBUSDETECT_MASK 

USB detected or removed.

NRF_POWER_USBREGSTATUS_OUTPUTRDY_MASK 

USB 3.3 V supply ready.

◆ nrf_power_vreg_mask_t

POWER voltage regulators bit masks.

Enumerator
NRF_POWER_VREG_1V8_MASK 

1.8 V regulator.

NRF_POWER_VREG_1V0_MASK 

1.0 V regulator.

NRF_POWER_VREG_0V8_MASK 

0.8 V regulator.

NRF_POWER_VREG_VS_MASK 

Voltage scaled regulator.

NRF_POWER_VREG_MAIN1V8_MASK 

1.8 V rail at VREGMAIN regulator.

NRF_POWER_VREG_MAIN1V0_MASK 

1.0 V rail at VREGMAIN regulator.

NRF_POWER_VREG_MAINVS_MASK 

Voltage scaled rail at VREGMAIN regulator.

NRF_POWER_VREG_FORCE_MASK 

Force the regulator enable configuration.

Function Documentation

◆ nrf_power_abb_busy_check()

NRF_STATIC_INLINE bool nrf_power_abb_busy_check ( NRF_POWER_Type const *  p_reg,
uint8_t  domain_idx 
)

Function for checking whether the specified ABB domain is busy.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]domain_idxIndex of ABB domain.
Return values
trueThe ABB is busy with applying the new operating point.
falseThe ABB is ready to accept the new operating point.

◆ nrf_power_abb_config_get()

NRF_STATIC_INLINE void nrf_power_abb_config_get ( NRF_POWER_Type const *  p_reg,
uint8_t  domain_idx,
nrf_power_abb_config_t p_config 
)

Function for getting configuration of the operating point for the specified ABB domain.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]domain_idxIndex of ABB domain.
[in]p_configPointer to the structure with configuration to be set.

◆ nrf_power_abb_config_set()

NRF_STATIC_INLINE void nrf_power_abb_config_set ( NRF_POWER_Type *  p_reg,
uint8_t  domain_idx,
nrf_power_abb_config_t const *  p_config 
)

Function for setting configuration of the operating point for the specified ABB domain.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]domain_idxIndex of ABB domain.
[in]p_configPointer to the structure with configuration to be set.

◆ nrf_power_abb_force_lock_check()

NRF_STATIC_INLINE bool nrf_power_abb_force_lock_check ( NRF_POWER_Type const *  p_reg,
uint8_t  domain_idx 
)

Function for checking if the force lock for the specified ABB domain is enabled.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]domain_idxIndex of ABB domain whose status is checked.
Return values
trueForce lock is enabled.
falseForce lock is disabled.

◆ nrf_power_abb_force_lock_set()

NRF_STATIC_INLINE void nrf_power_abb_force_lock_set ( NRF_POWER_Type *  p_reg,
uint8_t  domain_idx,
bool  enable 
)

Function for setting the force lock for the specified ABB domain.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]domain_idxIndex of ABB domain.
[in]enableTrue if force lock is to be enabled, false otherwise.

◆ nrf_power_bils_check()

NRF_STATIC_INLINE bool nrf_power_bils_check ( NRF_POWER_Type const *  p_reg)

Function for checking if BILS instances are enabled.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueAll configured BILS instances are enabled.
falseAll BILS instances are disabled.

◆ nrf_power_bils_set()

NRF_STATIC_INLINE void nrf_power_bils_set ( NRF_POWER_Type *  p_reg,
bool  enable 
)

Function for setting BILS instances.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]enableTrue if all configured BILS instances are to be enabled, false otherwise.

◆ nrf_power_dcdcen_get()

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.3 V output).
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueConverter is enabled.
falseConverter is disabled.

◆ nrf_power_dcdcen_set()

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.3 V output).
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]enableTrue if DCDC converter is to be enabled, false otherwise.

◆ nrf_power_dcdcen_vddh_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueConverter is enabled.
falseConverter is disabled.

◆ nrf_power_dcdcen_vddh_set()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]enableTrue if DCDC converter on VDDH is to be enabled, false otherwise.

◆ nrf_power_event_address_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent.
Returns
Address.

◆ nrf_power_event_check()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to be checked.
Return values
trueThe event has been generated.
falseThe event has not been generated.

◆ nrf_power_event_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent.

◆ nrf_power_event_get_and_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent.
Return values
trueThe event was set.
falseThe event was not set.

◆ nrf_power_gpregret_get()

NRF_STATIC_INLINE uint32_t nrf_power_gpregret_get ( NRF_POWER_Type const *  p_reg,
uint32_t  reg_num 
)

Function for getting general purpose retention register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]reg_numGeneral purpose retention register number.
Returns
Value from the register.

◆ nrf_power_gpregret_set()

NRF_STATIC_INLINE void nrf_power_gpregret_set ( NRF_POWER_Type *  p_reg,
uint32_t  reg_num,
uint32_t  val 
)

Function for setting the general purpose retention register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]reg_numGeneral purpose retention register number.
[in]valValue to be set in the register.

◆ nrf_power_int_disable()

NRF_STATIC_INLINE void nrf_power_int_disable ( NRF_POWER_Type *  p_reg,
uint32_t  mask 
)

Function for disabling selected interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be disabled. Use nrf_power_int_mask_t values for bit masking.

◆ nrf_power_int_enable()

NRF_STATIC_INLINE void nrf_power_int_enable ( NRF_POWER_Type *  p_reg,
uint32_t  mask 
)

Function for enabling selected interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be enabled. Use nrf_power_int_mask_t values for bit masking.

◆ nrf_power_int_enable_check()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be checked. Use nrf_power_int_mask_t values for bit masking.
Returns
Mask of enabled interrupts.

◆ nrf_power_int_enable_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Returns
The flags of enabled interrupts.

◆ nrf_power_mainregstatus_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Returns
The current main supply status.

◆ nrf_power_pmic_check()

NRF_STATIC_INLINE bool nrf_power_pmic_check ( NRF_POWER_Type const *  p_reg)

Function for checking if the PMIC interface is enabled.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Return values
truePMIC interface is enabled.
falsePMIC interface is disabled.

◆ nrf_power_pmic_set()

NRF_STATIC_INLINE void nrf_power_pmic_set ( NRF_POWER_Type *  p_reg,
bool  enable 
)

Function for setting the PMIC interface.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]enableTrue if PMIC interface is to be enabled, false otherwise.

◆ nrf_power_pofcon_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
[out]p_enabledFunction 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_power_pofcon_set()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]enableTrue if the power failure comparator is to be enabled, false otherwise.
[in]thrVoltage threshold value.

◆ nrf_power_pofcon_vddh_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Returns
VDDH threshold currently configured.

◆ nrf_power_pofcon_vddh_set()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]thrThreshold to be set.

◆ nrf_power_powerstatus_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueThe LTE Modem domain is powered on.
falseThe LTE Modem domain is powered off.

◆ nrf_power_publish_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to clear the configuration.

◆ nrf_power_publish_set()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to set the configuration.
[in]channelChannel through which to publish the event.

◆ nrf_power_rampower_mask_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]blockRAM block index.
Returns
Mask of sections state composed from nrf_power_rampower_mask_t flags.

◆ nrf_power_rampower_mask_off()

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.

See also
nrf_power_rampower_mask_t
nrf_power_rampower_mask_off
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]blockRAM block index.
[in]section_maskMask of the sections created by merging nrf_power_rampower_mask_t flags.

◆ nrf_power_rampower_mask_on()

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.

See also
nrf_power_rampower_mask_t
nrf_power_rampower_mask_off
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]blockRAM block index.
[in]section_maskMask of the sections created by merging nrf_power_rampower_mask_t flags.

◆ nrf_power_ramstatus_get()

NRF_STATIC_INLINE uint32_t nrf_power_ramstatus_get ( NRF_POWER_Type const *  p_reg)

Function for getting the RAMSTATUS register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Value with bits set according to the masks in nrf_power_ramblock_mask_t.

◆ nrf_power_resetreas_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskThe mask constructed from nrf_power_resetreas_mask_t enumerator values.
See also
nrf_power_resetreas_get

◆ nrf_power_resetreas_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Returns
The mask of reset reasons constructed with nrf_power_resetreas_mask_t.

◆ nrf_power_sem_status_get()

NRF_STATIC_INLINE bool nrf_power_sem_status_get ( NRF_POWER_Type const *  p_reg)

Function for getting the POWER semaphore status.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueSemaphore is acquired.
falseSemaphore is released.

◆ nrf_power_subscribe_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to clear the configuration.

◆ nrf_power_subscribe_set()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to set the configuration.
[in]channelChannel through which to subscribe events.

◆ nrf_power_task_address_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask.
Returns
Task address.

◆ nrf_power_task_trigger()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask.

◆ nrf_power_ulp_mode_check()

NRF_STATIC_INLINE bool nrf_power_ulp_mode_check ( NRF_POWER_Type const *  p_reg)

Function for checking if the ULP mode is enabled.

Note
Going into ULP mode is allowed only if this mode is enabled - otherwise it is blocked. If the ULV mode is blocked, the ULP mode is also blocked.
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueULP mode is enabled.
falseULP mode is disabled.

◆ nrf_power_ulp_mode_set()

NRF_STATIC_INLINE void nrf_power_ulp_mode_set ( NRF_POWER_Type *  p_reg,
bool  enable 
)

Function for setting the Ultra Low Power (ULP) mode.

Note
Going into ULP mode is allowed only if this mode is enabled - otherwise it is blocked. If the ULV mode is blocked, the ULP mode is also blocked.
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]enableTrue if ULP mode is to be enabled, false otherwise.

◆ nrf_power_ulv_mode_check()

NRF_STATIC_INLINE bool nrf_power_ulv_mode_check ( NRF_POWER_Type const *  p_reg)

Function for checking if the ULV mode is enabled.

Note
Going into ULP mode is allowed only if this mode is enabled - otherwise it is blocked. If the ULV mode is blocked, the ULP mode is also blocked.
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueULV mode is enabled.
falseULV mode is disabled.

◆ nrf_power_ulv_mode_set()

NRF_STATIC_INLINE void nrf_power_ulv_mode_set ( NRF_POWER_Type *  p_reg,
bool  enable 
)

Function for setting the Ultra Low Voltage (ULV) mode.

Note
Going into ULP mode is allowed only if this mode is enabled - otherwise it is blocked. If the ULV mode is blocked, the ULP mode is also blocked.
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]enableTrue if ULV mode is to be enabled, false otherwise.

◆ nrf_power_usbregstatus_get()

NRF_STATIC_INLINE uint32_t nrf_power_usbregstatus_get ( NRF_POWER_Type const *  p_reg)

Function for getting the whole USBREGSTATUS register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
The USBREGSTATUS register value. Use nrf_power_usbregstatus_mask_t values for bit masking.
See also
nrf_power_usbregstatus_vbusdet_get
nrf_power_usbregstatus_outrdy_get

◆ nrf_power_usbregstatus_outrdy_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Return values
falseUSBREG output settling time not elapsed.
trueUSBREG output settling time elapsed (same information as USBPWRRDY event).
See also
nrf_power_usbregstatus_get

◆ nrf_power_usbregstatus_vbusdet_get()

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
[in]p_regPointer to the structure of registers of the peripheral.
Return values
falseVBUS voltage below valid threshold.
trueVBUS voltage above valid threshold.
See also
nrf_power_usbregstatus_get

◆ nrf_power_vreg_disable()

NRF_STATIC_INLINE void nrf_power_vreg_disable ( NRF_POWER_Type *  p_reg,
uint32_t  mask 
)

Function for disabling specified voltage regulator.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of voltage regulators to be disabled. Use nrf_power_vreg_mask_t values for bit masking.

◆ nrf_power_vreg_enable()

NRF_STATIC_INLINE void nrf_power_vreg_enable ( NRF_POWER_Type *  p_reg,
uint32_t  mask 
)

Function for enabling specified voltage regulator.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of voltage regulators to be enabled. Use nrf_power_vreg_mask_t values for bit masking.

◆ nrf_power_vreg_enable_check()

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

Function for checking if the specified voltage regulator is enabled.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of voltage regulator to be checked. Use nrf_power_vreg_mask_t values for bit masking.
Returns
Mask of enabled voltage regulators.

Documentation feedback | Developer Zone | Subscribe | Updated