nrfx 4.5.0
Loading...
Searching...
No Matches
VMC HAL

Hardware access layer for managing the Volatile Memory Controller (VMC) peripheral. More...

Macros

#define NRF_VMC_RAM_SECTION_COUNT   VMC_RAM_SECTION_COUNT
 Number of RAM sections.
 
#define NRF_VMC_POWER_S0_POS   VMC_RAM_POWER_S0POWER_Pos
 Position of power configuration bits for RAM section 0.
 
#define NRF_VMC_RETENTION_S0_POS   VMC_RAM_POWER_S0RETENTION_Pos
 Position of retention configuration bits for RAM section 0.
 

Enumerations

enum  nrf_vmc_power_t {
  NRF_VMC_POWER_S0 = VMC_RAM_POWER_S0POWER_Msk ,
  NRF_VMC_POWER_S1 = VMC_RAM_POWER_S1POWER_Msk ,
  NRF_VMC_POWER_S2 = VMC_RAM_POWER_S2POWER_Msk ,
  NRF_VMC_POWER_S3 = VMC_RAM_POWER_S3POWER_Msk ,
  NRF_VMC_POWER_S4 = VMC_RAM_POWER_S4POWER_Msk ,
  NRF_VMC_POWER_S5 = VMC_RAM_POWER_S5POWER_Msk ,
  NRF_VMC_POWER_S6 = VMC_RAM_POWER_S6POWER_Msk ,
  NRF_VMC_POWER_S7 = VMC_RAM_POWER_S7POWER_Msk ,
  NRF_VMC_POWER_S8 = VMC_RAM_POWER_S8POWER_Msk ,
  NRF_VMC_POWER_S9 = VMC_RAM_POWER_S9POWER_Msk ,
  NRF_VMC_POWER_S10 = VMC_RAM_POWER_S10POWER_Msk ,
  NRF_VMC_POWER_S11 = VMC_RAM_POWER_S11POWER_Msk ,
  NRF_VMC_POWER_S12 = VMC_RAM_POWER_S12POWER_Msk ,
  NRF_VMC_POWER_S13 = VMC_RAM_POWER_S13POWER_Msk ,
  NRF_VMC_POWER_S14 = VMC_RAM_POWER_S14POWER_Msk ,
  NRF_VMC_POWER_S15 = VMC_RAM_POWER_S15POWER_Msk
}
 Power configuration bits for each section in particular RAM block. More...
 
enum  nrf_vmc_retention_t {
  NRF_VMC_RETENTION_S0 = VMC_RAM_POWER_S0RETENTION_Msk ,
  NRF_VMC_RETENTION_S1 = VMC_RAM_POWER_S1RETENTION_Msk ,
  NRF_VMC_RETENTION_S2 = VMC_RAM_POWER_S2RETENTION_Msk ,
  NRF_VMC_RETENTION_S3 = VMC_RAM_POWER_S3RETENTION_Msk ,
  NRF_VMC_RETENTION_S4 = VMC_RAM_POWER_S4RETENTION_Msk ,
  NRF_VMC_RETENTION_S5 = VMC_RAM_POWER_S5RETENTION_Msk ,
  NRF_VMC_RETENTION_S6 = VMC_RAM_POWER_S6RETENTION_Msk ,
  NRF_VMC_RETENTION_S7 = VMC_RAM_POWER_S7RETENTION_Msk ,
  NRF_VMC_RETENTION_S8 = VMC_RAM_POWER_S8RETENTION_Msk ,
  NRF_VMC_RETENTION_S9 = VMC_RAM_POWER_S9RETENTION_Msk ,
  NRF_VMC_RETENTION_S10 = VMC_RAM_POWER_S10RETENTION_Msk ,
  NRF_VMC_RETENTION_S11 = VMC_RAM_POWER_S11RETENTION_Msk ,
  NRF_VMC_RETENTION_S12 = VMC_RAM_POWER_S12RETENTION_Msk ,
  NRF_VMC_RETENTION_S13 = VMC_RAM_POWER_S13RETENTION_Msk ,
  NRF_VMC_RETENTION_S14 = VMC_RAM_POWER_S14RETENTION_Msk ,
  NRF_VMC_RETENTION_S15 = VMC_RAM_POWER_S15RETENTION_Msk
}
 Retention configuration bits for each section in particular RAM block. More...
 

Functions

NRF_STATIC_INLINE void nrf_vmc_ram_block_config (NRF_VMC_Type *p_reg, uint8_t ram_block_num, uint32_t power_mask, uint32_t retention_mask)
 Function for setting power configuration for the particular RAM block.
 
NRF_STATIC_INLINE void nrf_vmc_ram_block_clear (NRF_VMC_Type *p_reg, uint8_t ram_block_num)
 Function for clearing power configuration for the particular RAM block.
 
NRF_STATIC_INLINE void nrf_vmc_ram_block_power_set (NRF_VMC_Type *p_reg, uint8_t ram_block_num, nrf_vmc_power_t sect_power)
 Function for setting power configuration for the particular RAM block.
 
NRF_STATIC_INLINE void nrf_vmc_ram_block_power_all_set (NRF_VMC_Type *p_reg)
 Function for setting power configuration for all available RAM blocks.
 
NRF_STATIC_INLINE void nrf_vmc_ram_block_power_clear (NRF_VMC_Type *p_reg, uint8_t ram_block_num, nrf_vmc_power_t sect_power)
 Function for clearing power configuration for the particular RAM block.
 
NRF_STATIC_INLINE uint32_t nrf_vmc_ram_block_power_mask_get (NRF_VMC_Type const *p_reg, uint8_t ram_block_num)
 Function for getting power configuration of the particular RAM block.
 
NRF_STATIC_INLINE void nrf_vmc_ram_block_retention_set (NRF_VMC_Type *p_reg, uint8_t ram_block_num, nrf_vmc_retention_t sect_retention)
 Function for setting retention configuration for the particular RAM block.
 
NRF_STATIC_INLINE void nrf_vmc_ram_block_retention_all_set (NRF_VMC_Type *p_reg)
 Function for setting retention configuration for all available RAM blocks.
 
NRF_STATIC_INLINE void nrf_vmc_ram_block_retention_clear (NRF_VMC_Type *p_reg, uint8_t ram_block_num, nrf_vmc_retention_t sect_retention)
 Function for clearing retention configuration for the particular RAM block.
 
NRF_STATIC_INLINE uint32_t nrf_vmc_ram_block_retention_mask_get (NRF_VMC_Type const *p_reg, uint8_t ram_block_num)
 Function for getting retention configuration of the particular RAM block.
 

Detailed Description

Hardware access layer for managing the Volatile Memory Controller (VMC) peripheral.

Enumeration Type Documentation

◆ nrf_vmc_power_t

Power configuration bits for each section in particular RAM block.

Enumerator
NRF_VMC_POWER_S0 

Keep retention on RAM section S0 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S1 

Keep retention on RAM section S1 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S2 

Keep retention on RAM section S2 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S3 

Keep retention on RAM section S3 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S4 

Keep retention on RAM section S4 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S5 

Keep retention on RAM section S5 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S6 

Keep retention on RAM section S6 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S7 

Keep retention on RAM section S7 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S8 

Keep retention on RAM section S8 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S9 

Keep retention on RAM section S9 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S10 

Keep retention on RAM section S10 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S11 

Keep retention on RAM section S11 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S12 

Keep retention on RAM section S12 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S13 

Keep retention on RAM section S13 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S14 

Keep retention on RAM section S14 of the particular RAM block when RAM section is switched off.

NRF_VMC_POWER_S15 

Keep retention on RAM section S15 of the particular RAM block when RAM section is switched off.

◆ nrf_vmc_retention_t

Retention configuration bits for each section in particular RAM block.

Enumerator
NRF_VMC_RETENTION_S0 

Keep RAM section S0 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S1 

Keep RAM section S1 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S2 

Keep RAM section S2 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S3 

Keep RAM section S3 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S4 

Keep RAM section S4 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S5 

Keep RAM section S5 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S6 

Keep RAM section S6 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S7 

Keep RAM section S7 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S8 

Keep RAM section S8 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S9 

Keep RAM section S9 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S10 

Keep RAM section S10 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S11 

Keep RAM section S11 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S12 

Keep RAM section S12 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S13 

Keep RAM section S13 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S14 

Keep RAM section S14 of the particular RAM block on or off in System ON mode.

NRF_VMC_RETENTION_S15 

Keep RAM section S15 of the particular RAM block on or off in System ON mode.

Function Documentation

◆ nrf_vmc_ram_block_clear()

NRF_STATIC_INLINE void nrf_vmc_ram_block_clear ( NRF_VMC_Type * p_reg,
uint8_t ram_block_num )

Function for clearing power configuration for the particular RAM block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.

◆ nrf_vmc_ram_block_config()

NRF_STATIC_INLINE void nrf_vmc_ram_block_config ( NRF_VMC_Type * p_reg,
uint8_t ram_block_num,
uint32_t power_mask,
uint32_t retention_mask )

Function for setting power configuration for the particular RAM block.

Note
Overrides current configuration.
Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.
[in]power_maskBitmask with sections configuration of particular RAM block. nrf_vmc_power_t should be use to prepare this bitmask.
[in]retention_maskBitmask with sections configuration of particular RAM block. nrf_vmc_retention_t should be use to prepare this bitmask.

◆ nrf_vmc_ram_block_power_all_set()

NRF_STATIC_INLINE void nrf_vmc_ram_block_power_all_set ( NRF_VMC_Type * p_reg)

Function for setting power configuration for all available RAM blocks.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_vmc_ram_block_power_clear()

NRF_STATIC_INLINE void nrf_vmc_ram_block_power_clear ( NRF_VMC_Type * p_reg,
uint8_t ram_block_num,
nrf_vmc_power_t sect_power )

Function for clearing power configuration for the particular RAM block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.
[in]sect_powerParicular section of the RAM block.

◆ nrf_vmc_ram_block_power_mask_get()

NRF_STATIC_INLINE uint32_t nrf_vmc_ram_block_power_mask_get ( NRF_VMC_Type const * p_reg,
uint8_t ram_block_num )

Function for getting power configuration of the particular RAM block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.
Returns
Bitmask with power configuration of sections of particular RAM block.

◆ nrf_vmc_ram_block_power_set()

NRF_STATIC_INLINE void nrf_vmc_ram_block_power_set ( NRF_VMC_Type * p_reg,
uint8_t ram_block_num,
nrf_vmc_power_t sect_power )

Function for setting power configuration for the particular RAM block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.
[in]sect_powerParicular section of the RAM block.

◆ nrf_vmc_ram_block_retention_all_set()

NRF_STATIC_INLINE void nrf_vmc_ram_block_retention_all_set ( NRF_VMC_Type * p_reg)

Function for setting retention configuration for all available RAM blocks.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_vmc_ram_block_retention_clear()

NRF_STATIC_INLINE void nrf_vmc_ram_block_retention_clear ( NRF_VMC_Type * p_reg,
uint8_t ram_block_num,
nrf_vmc_retention_t sect_retention )

Function for clearing retention configuration for the particular RAM block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.
[in]sect_retentionParicular section of the RAM block.

◆ nrf_vmc_ram_block_retention_mask_get()

NRF_STATIC_INLINE uint32_t nrf_vmc_ram_block_retention_mask_get ( NRF_VMC_Type const * p_reg,
uint8_t ram_block_num )

Function for getting retention configuration of the particular RAM block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.
Returns
Bitmask with retention configuration of sections of particular RAM block

◆ nrf_vmc_ram_block_retention_set()

NRF_STATIC_INLINE void nrf_vmc_ram_block_retention_set ( NRF_VMC_Type * p_reg,
uint8_t ram_block_num,
nrf_vmc_retention_t sect_retention )

Function for setting retention configuration for the particular RAM block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]ram_block_numRAM block number.
[in]sect_retentionParicular section of the RAM block.