VMC HAL

group nrf_vmc_hal

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

Value representing number of RAM sections.

This symbol is needed to determine elements in enumerators.

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.

enumerator NRF_VMC_POWER_S4

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

enumerator NRF_VMC_POWER_S5

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

enumerator NRF_VMC_POWER_S6

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

enumerator NRF_VMC_POWER_S7

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

enumerator NRF_VMC_POWER_S8

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

enumerator NRF_VMC_POWER_S9

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

enumerator NRF_VMC_POWER_S10

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

enumerator NRF_VMC_POWER_S11

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

enumerator NRF_VMC_POWER_S12

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

enumerator NRF_VMC_POWER_S13

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

enumerator NRF_VMC_POWER_S14

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

enumerator NRF_VMC_POWER_S15

Keep retention on RAM section S15 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.

enumerator NRF_VMC_RETENTION_S4

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

enumerator NRF_VMC_RETENTION_S5

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

enumerator NRF_VMC_RETENTION_S6

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

enumerator NRF_VMC_RETENTION_S7

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

enumerator NRF_VMC_RETENTION_S8

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

enumerator NRF_VMC_RETENTION_S9

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

enumerator NRF_VMC_RETENTION_S10

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

enumerator NRF_VMC_RETENTION_S11

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

enumerator NRF_VMC_RETENTION_S12

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

enumerator NRF_VMC_RETENTION_S13

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

enumerator NRF_VMC_RETENTION_S14

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

enumerator NRF_VMC_RETENTION_S15

Keep RAM section S15 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_all_set(NRF_VMC_Type *p_reg)

Function for setting power configuration for all available RAM blocks.

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

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_all_set(NRF_VMC_Type *p_reg)

Function for setting retention configuration for all available RAM blocks.

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

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