VMC HAL

nRF5 SDK v17.1.0

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

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
}
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
}
Retention configuration bits for each section in particular RAM block. More...

Functions

__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. More...
__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. More...
__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. More...
__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. More...
__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. More...
__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. More...
__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. More...
__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. More...

Detailed Description

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

Enumeration Type Documentation

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.

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.

Function Documentation

__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
[in] power_mask Bitmask with sections configuration of particular RAM block. nrf_vmc_power_t should be use to prepare this bitmask.
[in] retention_mask Bitmask with sections configuration of particular RAM block. nrf_vmc_retention_t should be use to prepare this bitmask.
__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
[in] sect_power Paricular section of the RAM block.
__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
Returns
Bitmask with power configuration of sections of particular RAM block.
__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
[in] sect_power Paricular section of the RAM block.
__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
[in] sect_retention Paricular section of the RAM block.
__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
Returns
Bitmask with retention configuration of sections of particular RAM block
__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_reg Pointer to the structure of registers of the peripheral.
[in] ram_block_num RAM block number.
[in] sect_retention Paricular section of the RAM block.