VMC HAL

group nrf_vmc_hal

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

Enums

enum nrf_vmc_power_t

Power configuration bits for each section in particular RAM block.

Values:

enumerator NRF_VMC_POWER_S0

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

enumerator NRF_VMC_POWER_S1

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

enumerator NRF_VMC_POWER_S2

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

enumerator NRF_VMC_POWER_S3

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

enum nrf_vmc_retention_t

Retention configuration bits for each section in particular RAM block.

Values:

enumerator NRF_VMC_RETENTION_S0

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

enumerator NRF_VMC_RETENTION_S1

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

enumerator NRF_VMC_RETENTION_S2

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

enumerator NRF_VMC_RETENTION_S3

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

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.

Note

Overrides current configuration.

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

  • ram_block_num[in] RAM block number.

  • power_mask[in] Bitmask with sections configuration of particular RAM block. nrf_vmc_power_t should be use to prepare this bitmask.

  • retention_mask[in] Bitmask with sections configuration of particular RAM block. nrf_vmc_retention_t should be use to prepare this bitmask.

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
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • ram_block_num[in] RAM block number.

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
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • ram_block_num[in] RAM block number.

  • sect_power[in] Paricular section of the RAM block.

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
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • ram_block_num[in] RAM block number.

  • sect_power[in] Paricular section of the 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.

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

  • ram_block_num[in] RAM block number.

Returns

Bitmask with power configuration of sections of 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.

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

  • ram_block_num[in] RAM block number.

  • sect_retention[in] Paricular section of the RAM block.

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
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • ram_block_num[in] RAM block number.

  • sect_retention[in] Paricular section of the 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.

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

  • ram_block_num[in] RAM block number.

Returns

Bitmask with retention configuration of sections of particular RAM block