Hardware access layer for managing the Memory-to-Memory Vector DMA (MVDMA) peripheral. More...
Enumerations | |
enum | nrf_mvdma_task_t { NRF_MVDMA_TASK_PAUSE = offsetof(NRF_MVDMA_Type, TASKS_PAUSE) , NRF_MVDMA_TASK_RESET = offsetof(NRF_MVDMA_Type, TASKS_RESET) , NRF_MVDMA_TASK_START0 = offsetof(NRF_MVDMA_Type, TASKS_START[0]) , NRF_MVDMA_TASK_START1 = offsetof(NRF_MVDMA_Type, TASKS_START[1]) , NRF_MVDMA_TASK_START2 = offsetof(NRF_MVDMA_Type, TASKS_START[2]) , NRF_MVDMA_TASK_START3 = offsetof(NRF_MVDMA_Type, TASKS_START[3]) , NRF_MVDMA_TASK_START4 = offsetof(NRF_MVDMA_Type, TASKS_START[4]) , NRF_MVDMA_TASK_START5 = offsetof(NRF_MVDMA_Type, TASKS_START[5]) , NRF_MVDMA_TASK_START6 = offsetof(NRF_MVDMA_Type, TASKS_START[6]) , NRF_MVDMA_TASK_START7 = offsetof(NRF_MVDMA_Type, TASKS_START[7]) } |
MVDMA tasks. More... | |
enum | nrf_mvdma_event_t { NRF_MVDMA_EVENT_END = offsetof(NRF_MVDMA_Type, EVENTS_END) , NRF_MVDMA_EVENT_STARTED = offsetof(NRF_MVDMA_Type, EVENTS_STARTED) , NRF_MVDMA_EVENT_PAUSED = offsetof(NRF_MVDMA_Type, EVENTS_PAUSED) , NRF_MVDMA_EVENT_RESET = offsetof(NRF_MVDMA_Type, EVENTS_RESET) , NRF_MVDMA_EVENT_SOURCEBUSERROR = offsetof(NRF_MVDMA_Type, EVENTS_SOURCE.BUSERROR) , NRF_MVDMA_EVENT_SOURCESELECTJOBDONE = offsetof(NRF_MVDMA_Type, EVENTS_SOURCE.SELECTJOBDONE) , NRF_MVDMA_EVENT_SINKBUSERROR = offsetof(NRF_MVDMA_Type, EVENTS_SINK.BUSERROR) , NRF_MVDMA_EVENT_SINKSELECTJOBDONE = offsetof(NRF_MVDMA_Type, EVENTS_SINK.SELECTJOBDONE) } |
MVDMA events. More... | |
enum | nrf_mvdma_int_mask_t { NRF_MVDMA_INT_END_MASK = MVDMA_INTENSET_END_Msk , NRF_MVDMA_INT_STARTED_MASK = MVDMA_INTENSET_STARTED_Msk , NRF_MVDMA_INT_PAUSED_MASK = MVDMA_INTENSET_PAUSED_Msk , NRF_MVDMA_INT_RESET_MASK = MVDMA_INTENSET_RESET_Msk , NRF_MVDMA_INT_SOURCEBUSERROR_MASK = MVDMA_INTENSET_SOURCEBUSERROR_Msk , NRF_MVDMA_INT_SINKBUSERROR_MASK = MVDMA_INTENSET_SINKBUSERROR_Msk , NRF_MVDMA_INT_SOURCESELECTJOBDONE_MASK = MVDMA_INTENSET_SOURCESELECTJOBDONE_Msk , NRF_MVDMA_INT_SINKSELECTJOBDONE_MASK = MVDMA_INTENSET_SINKSELECTJOBDONE_Msk } |
MVDMA interrupts. More... | |
enum | nrf_mvdma_mode_t { NRF_MVDMA_MODE_SINGLE = MVDMA_CONFIG_MODE_MODE_SingleMode , NRF_MVDMA_MODE_MULTI = MVDMA_CONFIG_MODE_MODE_MultiMode } |
MVDMA modes of operation. More... | |
enum | nrf_mvdma_aximode_t { NRF_MVDMA_AXIMODE_AXI = MVDMA_CONFIG_AXIMODE_AXIMODE_AXI , NRF_MVDMA_AXIMODE_AXILITE = MVDMA_CONFIG_AXIMODE_AXIMODE_AXILITE } |
MVDMA AXI modes. More... | |
enum | nrf_mvdma_fifo_status_t { NRF_MVDMA_FIFO_STATUS_EMPTY = MVDMA_STATUS_FIFO_FIFOSTATUS_Empty , NRF_MVDMA_FIFO_STATUS_NOT_EMPTY = MVDMA_STATUS_FIFO_FIFOSTATUS_NotEmpty , NRF_MVDMA_FIFO_STATUS_FULL = MVDMA_STATUS_FIFO_FIFOSTATUS_Full } |
MVDMA FIFO status. More... | |
enum | nrf_mvdma_source_error_t { NRF_MVDMA_SOURCE_ERROR_NONE = MVDMA_SOURCE_BUSERROR_BUSERROR_NoError , NRF_MVDMA_SOURCE_ERROR_READ = MVDMA_SOURCE_BUSERROR_BUSERROR_ReadError , NRF_MVDMA_SOURCE_ERROR_READ_DECODE = MVDMA_SOURCE_BUSERROR_BUSERROR_ReadDecodeError } |
MVDMA data source errors. More... | |
enum | nrf_mvdma_sink_error_t { NRF_MVDMA_SINK_ERROR_NONE = MVDMA_SINK_BUSERROR_BUSERROR_NoError , NRF_MVDMA_SINK_ERROR_READ = MVDMA_SINK_BUSERROR_BUSERROR_ReadError , NRF_MVDMA_SINK_ERROR_WRITE = MVDMA_SINK_BUSERROR_BUSERROR_WriteError , NRF_MVDMA_SINK_ERROR_DECODE_READ = MVDMA_SINK_BUSERROR_BUSERROR_ReadDecodeError , NRF_MVDMA_SINK_ERROR_DECODE_WRITE = MVDMA_SINK_BUSERROR_BUSERROR_WriteDecodeError } |
MVDMA data sink errors. More... | |
Functions | |
NRF_STATIC_INLINE void | nrf_mvdma_task_trigger (NRF_MVDMA_Type *p_reg, nrf_mvdma_task_t task) |
Function for activating the specified MVDMA task. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_task_address_get (NRF_MVDMA_Type const *p_reg, nrf_mvdma_task_t task) |
Function for getting the address of the specified MVDMA task register. | |
NRF_STATIC_INLINE nrf_mvdma_task_t | nrf_mvdma_start_task_get (NRF_MVDMA_Type const *p_reg, uint8_t index) |
Function for getting START task by its index. | |
NRF_STATIC_INLINE void | nrf_mvdma_event_clear (NRF_MVDMA_Type *p_reg, nrf_mvdma_event_t event) |
Function for clearing the specified MVDMA event. | |
NRF_STATIC_INLINE bool | nrf_mvdma_event_check (NRF_MVDMA_Type const *p_reg, nrf_mvdma_event_t event) |
Function for retrieving the state of the MVDMA event. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_event_address_get (NRF_MVDMA_Type const *p_reg, nrf_mvdma_event_t event) |
Function for getting the address of the specified MVDMA event register. | |
NRF_STATIC_INLINE void | nrf_mvdma_int_enable (NRF_MVDMA_Type *p_reg, uint32_t mask) |
Function for enabling specified interrupts. | |
NRF_STATIC_INLINE void | nrf_mvdma_int_disable (NRF_MVDMA_Type *p_reg, uint32_t mask) |
Function for disabling specified interrupts. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_int_enable_check (NRF_MVDMA_Type const *p_reg, uint32_t mask) |
Function for checking if the specified interrupts are enabled. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_int_pending_get (NRF_MVDMA_Type const *p_reg) |
Function for retrieving the state of pending interrupts. | |
NRF_STATIC_INLINE void | nrf_mvdma_subscribe_set (NRF_MVDMA_Type *p_reg, nrf_mvdma_task_t task, uint8_t channel) |
Function for setting the subscribe configuration for a given MVDMA task. | |
NRF_STATIC_INLINE void | nrf_mvdma_subscribe_clear (NRF_MVDMA_Type *p_reg, nrf_mvdma_task_t task) |
Function for clearing the subscribe configuration for a given MVDMA task. | |
NRF_STATIC_INLINE void | nrf_mvdma_publish_set (NRF_MVDMA_Type *p_reg, nrf_mvdma_event_t event, uint8_t channel) |
Function for setting the publish configuration for a given MVDMA event. | |
NRF_STATIC_INLINE void | nrf_mvdma_publish_clear (NRF_MVDMA_Type *p_reg, nrf_mvdma_event_t event) |
Function for clearing the publish configuration for a given MVDMA event. | |
NRF_STATIC_INLINE void | nrf_mvdma_mode_set (NRF_MVDMA_Type *p_reg, nrf_mvdma_mode_t mode) |
Function for setting the MVDMA mode. | |
NRF_STATIC_INLINE void | nrf_mvdma_aximode_set (NRF_MVDMA_Type *p_reg, nrf_mvdma_aximode_t aximode) |
Function for setting the AXI mode. | |
NRF_STATIC_INLINE void | nrf_mvdma_source_list_ptr_set (NRF_MVDMA_Type *p_reg, nrf_vdma_job_t const *p_job) |
Function for setting the pointer to the source descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode. | |
NRF_STATIC_INLINE nrf_vdma_job_t * | nrf_mvdma_source_list_ptr_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the pointer to the source descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode. | |
NRF_STATIC_INLINE void | nrf_mvdma_sink_list_ptr_set (NRF_MVDMA_Type *p_reg, nrf_vdma_job_t const *p_job) |
Function for getting the pointer to the sink descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode. | |
NRF_STATIC_INLINE nrf_vdma_job_t * | nrf_mvdma_sink_list_ptr_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the pointer to the sink descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_crc_result_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the result of CRC checksum calculation. | |
NRF_STATIC_INLINE nrf_mvdma_fifo_status_t | nrf_mvdma_fifo_status_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the status of intermediate FIFO. | |
NRF_STATIC_INLINE bool | nrf_mvdma_activity_check (NRF_MVDMA_Type const *p_reg) |
Function for checking the MVDMA activity. | |
NRF_STATIC_INLINE nrf_mvdma_source_error_t | nrf_mvdma_source_error_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the bus error of MVDMA data source. | |
NRF_STATIC_INLINE nrf_mvdma_sink_error_t | nrf_mvdma_sink_error_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the bus error of MVDMA data source. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_last_source_address_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the latest address being accessed on the source AXI channel. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_last_sink_address_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the latest address being accessed on the sink AXI channel. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_source_job_count_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the number of completed jobs in the current source descriptor list. | |
NRF_STATIC_INLINE uint32_t | nrf_mvdma_sink_job_count_get (NRF_MVDMA_Type const *p_reg) |
Function for getting the number of completed jobs in the current sink descriptor list. | |
Hardware access layer for managing the Memory-to-Memory Vector DMA (MVDMA) peripheral.
enum nrf_mvdma_aximode_t |
enum nrf_mvdma_event_t |
MVDMA events.
enum nrf_mvdma_int_mask_t |
MVDMA interrupts.
enum nrf_mvdma_mode_t |
MVDMA data sink errors.
enum nrf_mvdma_task_t |
MVDMA tasks.
NRF_STATIC_INLINE bool nrf_mvdma_activity_check | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for checking the MVDMA activity.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
true | MVDMA is processing data. |
false | MVDMA is idle. |
NRF_STATIC_INLINE void nrf_mvdma_aximode_set | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_aximode_t | aximode | ||
) |
Function for setting the AXI mode.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | aximode | Desired AXI mode for MVDMA. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_crc_result_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the result of CRC checksum calculation.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_event_address_get | ( | NRF_MVDMA_Type const * | p_reg, |
nrf_mvdma_event_t | event | ||
) |
Function for getting the address of the specified MVDMA event register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Specified event. |
NRF_STATIC_INLINE bool nrf_mvdma_event_check | ( | NRF_MVDMA_Type const * | p_reg, |
nrf_mvdma_event_t | event | ||
) |
Function for retrieving the state of the MVDMA event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event to be checked. |
true | The event has been generated. |
false | The event has not been generated. |
NRF_STATIC_INLINE void nrf_mvdma_event_clear | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_event_t | event | ||
) |
Function for clearing the specified MVDMA event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event to clear. |
NRF_STATIC_INLINE nrf_mvdma_fifo_status_t nrf_mvdma_fifo_status_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the status of intermediate FIFO.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_mvdma_int_disable | ( | NRF_MVDMA_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for disabling specified interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be disabled. Use nrf_mvdma_int_mask_t values for bit masking. |
NRF_STATIC_INLINE void nrf_mvdma_int_enable | ( | NRF_MVDMA_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for enabling specified interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be enabled. Use nrf_mvdma_int_mask_t values for bit masking. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_int_enable_check | ( | NRF_MVDMA_Type const * | p_reg, |
uint32_t | mask | ||
) |
Function for checking if the specified interrupts are enabled.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be checked. Use nrf_mvdma_int_mask_t values for bit masking. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_int_pending_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for retrieving the state of pending interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_last_sink_address_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the latest address being accessed on the sink AXI channel.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_last_source_address_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the latest address being accessed on the source AXI channel.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_mvdma_mode_set | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_mode_t | mode | ||
) |
Function for setting the MVDMA mode.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mode | Desired operating mode for MVDMA. |
NRF_STATIC_INLINE void nrf_mvdma_publish_clear | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_event_t | event | ||
) |
Function for clearing the publish configuration for a given MVDMA event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to clear the configuration. |
NRF_STATIC_INLINE void nrf_mvdma_publish_set | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_event_t | event, | ||
uint8_t | channel | ||
) |
Function for setting the publish configuration for a given MVDMA event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to set the configuration. |
[in] | channel | Channel through which to publish the event. |
NRF_STATIC_INLINE nrf_mvdma_sink_error_t nrf_mvdma_sink_error_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the bus error of MVDMA data source.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_sink_job_count_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the number of completed jobs in the current sink descriptor list.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE nrf_vdma_job_t * nrf_mvdma_sink_list_ptr_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the pointer to the sink descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_mvdma_sink_list_ptr_set | ( | NRF_MVDMA_Type * | p_reg, |
nrf_vdma_job_t const * | p_job | ||
) |
Function for getting the pointer to the sink descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_job | Pointer to a job list. |
NRF_STATIC_INLINE nrf_mvdma_source_error_t nrf_mvdma_source_error_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the bus error of MVDMA data source.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_source_job_count_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the number of completed jobs in the current source descriptor list.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE nrf_vdma_job_t * nrf_mvdma_source_list_ptr_get | ( | NRF_MVDMA_Type const * | p_reg | ) |
Function for getting the pointer to the source descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_mvdma_source_list_ptr_set | ( | NRF_MVDMA_Type * | p_reg, |
nrf_vdma_job_t const * | p_job | ||
) |
Function for setting the pointer to the source descriptor list or pointer to the list of descriptor list pointers, depending on configured nrf_mvdma_mode_t mode.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_job | Pointer to a job list. |
NRF_STATIC_INLINE nrf_mvdma_task_t nrf_mvdma_start_task_get | ( | NRF_MVDMA_Type const * | p_reg, |
uint8_t | index | ||
) |
Function for getting START task by its index.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | index | Index of the START task. |
NRF_STATIC_INLINE void nrf_mvdma_subscribe_clear | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_task_t | task | ||
) |
Function for clearing the subscribe configuration for a given MVDMA task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to clear the configuration. |
NRF_STATIC_INLINE void nrf_mvdma_subscribe_set | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_task_t | task, | ||
uint8_t | channel | ||
) |
Function for setting the subscribe configuration for a given MVDMA task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to set the configuration. |
[in] | channel | Channel through which to subscribe events. |
NRF_STATIC_INLINE uint32_t nrf_mvdma_task_address_get | ( | NRF_MVDMA_Type const * | p_reg, |
nrf_mvdma_task_t | task | ||
) |
Function for getting the address of the specified MVDMA task register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Specified task. |
NRF_STATIC_INLINE void nrf_mvdma_task_trigger | ( | NRF_MVDMA_Type * | p_reg, |
nrf_mvdma_task_t | task | ||
) |
Function for activating the specified MVDMA task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task to be activated. |