MVDMA HALY
- group nrfy_mvdma
Hardware access layer with cache and barrier support for managing the MVDMA peripheral.
Defines
-
NRFY_MVDMA_HAS_NEW_VER
See also
NRF_MVDMA_HAS_NEW_VER Symbol indicating whether MVDMA uses new or old version.
-
NRFY_MVDMA_HAS_AXIMODE
See also
NRF_MVDMA_HAS_AXIMODE Symbol indicating whether AXIMODE configuration is present.
Functions
-
NRFY_STATIC_INLINE void nrfy_mvdma_int_init(NRF_MVDMA_Type *p_reg, uint32_t mask, uint8_t irq_priority, bool enable)
Function for initializing the specified MVDMA interrupts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be initialized.
irq_priority – [in] Interrupt priority.
enable – [in] True if the interrupts are to be enabled, false otherwise.
-
NRFY_STATIC_INLINE void nrfy_mvdma_int_uninit(NRF_MVDMA_Type *p_reg)
Function for uninitializing the specified MVDMA interrupts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_events_process(NRF_MVDMA_Type *p_reg, uint32_t mask, nrfy_mvdma_list_request_t *p_list_request)
Function for processing the specified MVDMA events.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of events to be processed, created by NRFY_EVENT_TO_INT_BITMASK().
p_list_request – [in] Pointer to the structure of list execution request associated with the last operation. Can be NULL.
- Returns:
Mask of events that were generated and processed. To be checked against the result of NRFY_EVENT_TO_INT_BITMASK().
-
NRFY_STATIC_INLINE void nrfy_mvdma_start(NRF_MVDMA_Type *p_reg, nrfy_mvdma_list_request_t const *p_list_request)
Function for starting the MVDMA jobs in single-mode.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_list_request – [in] Pointer to the structure of list execution request if the transaction is to be blocking. NULL for non-blocking transactions.
-
NRFY_STATIC_INLINE void nrfy_mvdma_multi_start(NRF_MVDMA_Type *p_reg, uint8_t idx, nrfy_mvdma_multi_list_request_t const *p_list_request)
Function for starting the MVDMA jobs in multi-mode.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
idx – [in] Index of the job list that will be executed.
p_list_request – [in] Pointer to the structure of lists execution request if the transaction is to be blocking. NULL for non-blocking transactions.
-
NRFY_STATIC_INLINE void nrfy_mvdma_multi_job_list_set(NRF_MVDMA_Type *p_reg, nrfy_mvdma_multi_list_request_t const *p_list_request)
Function for setting the MVDMA job lists in multi-mode.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_list_request – [in] Pointer to the structure of list execution request.
-
NRFY_STATIC_INLINE void nrfy_mvdma_multi_job_list_get(NRF_MVDMA_Type const *p_reg, nrfy_mvdma_multi_list_request_t *p_list_request)
Function for getting the MVDMA job lists in multi-mode.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_list_request – [out] Pointer to the structure to be filled with list execution request.
-
NRFY_STATIC_INLINE void nrfy_mvdma_job_list_set(NRF_MVDMA_Type *p_reg, nrfy_mvdma_list_request_t const *p_list_request)
Function for setting the MVDMA jobs.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_list_request – [in] Pointer to the structure of list execution request.
-
NRFY_STATIC_INLINE void nrfy_mvdma_reset(NRF_MVDMA_Type *p_reg, bool wait)
Function for resetting the MVDMA peripheral.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
wait – [in] True if reset is to be done in blocking mode, false otherwise.
-
NRFY_STATIC_INLINE void nrfy_mvdma_abort(NRF_MVDMA_Type *p_reg, nrfy_mvdma_list_request_t const *p_list_request)
Function for aborting the MVDMA transaction.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_list_request – [in] Pointer to the structure of list execution request.
-
NRFY_STATIC_INLINE void nrfy_mvdma_source_job_description_get(NRF_MVDMA_Type const *p_reg, nrfy_mvdma_list_desc_t *p_job_list_desc)
Function for getting the MVDMA source job details.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_job_list_desc – [out] Pointer to the structure to be filled with job list description.
-
NRFY_STATIC_INLINE void nrfy_mvdma_sink_job_description_get(NRF_MVDMA_Type const *p_reg, nrfy_mvdma_list_desc_t *p_job_list_desc)
Function for getting the MVDMA sink job details.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_job_list_desc – [out] Pointer to the structure to be filled with job list description.
-
NRFY_STATIC_INLINE void nrfy_mvdma_task_trigger(NRF_MVDMA_Type *p_reg, nrf_mvdma_task_t task)
See also
nrf_mvdma_task_trigger Function for activating the specified MVDMA task.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task to be activated.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_task_address_get(NRF_MVDMA_Type const *p_reg, nrf_mvdma_task_t task)
See also
nrf_mvdma_task_address_get Function for getting the address of the specified MVDMA task register.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Specified task.
- Returns:
Address of the specified task register.
-
NRFY_STATIC_INLINE nrf_mvdma_task_t nrfy_mvdma_start_task_get(NRF_MVDMA_Type const *p_reg, uint8_t index)
See also
nrf_mvdma_start_task_get Function for getting START task by its index.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of the START task.
- Returns:
START task.
-
NRFY_STATIC_INLINE void nrfy_mvdma_event_clear(NRF_MVDMA_Type *p_reg, nrf_mvdma_event_t event)
See also
nrf_mvdma_event_clear Function for clearing the specified MVDMA event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to clear.
-
NRFY_STATIC_INLINE bool nrfy_mvdma_event_check(NRF_MVDMA_Type const *p_reg, nrf_mvdma_event_t event)
See also
nrf_mvdma_event_check Function for retrieving the state of the MVDMA event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to be checked.
- Return values:
true – The event has been generated.
false – The event has not been generated.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_event_address_get(NRF_MVDMA_Type const *p_reg, nrf_mvdma_event_t event)
See also
nrf_mvdma_event_address_get Function for getting the address of the specified MVDMA event register.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Specified event.
- Returns:
Address of the specified event register.
-
NRFY_STATIC_INLINE void nrfy_mvdma_int_enable(NRF_MVDMA_Type *p_reg, uint32_t mask)
See also
nrf_mvdma_int_enable Function for enabling specified interrupts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be enabled. Use nrf_mvdma_int_mask_t values for bit masking.
-
NRFY_STATIC_INLINE void nrfy_mvdma_int_disable(NRF_MVDMA_Type *p_reg, uint32_t mask)
See also
nrf_mvdma_int_disable Function for disabling specified interrupts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be disabled. Use nrf_mvdma_int_mask_t values for bit masking.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_int_enable_check(NRF_MVDMA_Type const *p_reg, uint32_t mask)
See also
nrf_mvdma_int_enable_check Function for checking if the specified interrupts are enabled.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be checked. Use nrf_mvdma_int_mask_t values for bit masking.
- Returns:
Mask of enabled interrupts.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_int_pending_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_int_pending_get Function for retrieving the state of pending interrupts.
Note
States of pending interrupt are saved as a bitmask. One set at particular position means that interrupt for event is pending.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Bitmask with information about pending interrupts. Use nrf_mvdma_int_mask_t values for bit masking.
-
NRFY_STATIC_INLINE void nrfy_mvdma_subscribe_set(NRF_MVDMA_Type *p_reg, nrf_mvdma_task_t task, uint8_t channel)
See also
nrf_mvdma_subscribe_set Function for setting the subscribe configuration for a given MVDMA task.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task for which to set the configuration.
channel – [in] Channel through which to subscribe events.
-
NRFY_STATIC_INLINE void nrfy_mvdma_subscribe_clear(NRF_MVDMA_Type *p_reg, nrf_mvdma_task_t task)
See also
nrf_mvdma_subscribe_clear Function for clearing the subscribe configuration for a given MVDMA task.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task for which to clear the configuration.
-
NRFY_STATIC_INLINE void nrfy_mvdma_publish_set(NRF_MVDMA_Type *p_reg, nrf_mvdma_event_t event, uint8_t channel)
See also
nrf_mvdma_publish_set Function for setting the publish configuration for a given MVDMA event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event for which to set the configuration.
channel – [in] Channel through which to publish the event.
-
NRFY_STATIC_INLINE void nrfy_mvdma_publish_clear(NRF_MVDMA_Type *p_reg, nrf_mvdma_event_t event)
See also
nrf_mvdma_publish_clear Function for clearing the publish configuration for a given MVDMA event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event for which to clear the configuration.
-
NRFY_STATIC_INLINE void nrfy_mvdma_mode_set(NRF_MVDMA_Type *p_reg, nrf_mvdma_mode_t mode)
See also
nrf_mvdma_mode_set Function for setting the MVDMA mode.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mode – [in] Desired operating mode for MVDMA.
-
NRFY_STATIC_INLINE void nrfy_mvdma_aximode_set(NRF_MVDMA_Type *p_reg, nrf_mvdma_aximode_t aximode)
See also
nrf_mvdma_aximode_set Function for setting the AXI mode.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
aximode – [in] Desired AXI mode for MVDMA.
-
NRFY_STATIC_INLINE void nrfy_mvdma_source_list_ptr_set(NRF_MVDMA_Type *p_reg, nrf_vdma_job_t const *p_job)
See also
nrf_mvdma_source_list_ptr_set 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_job – [in] Pointer to a job list.
-
NRFY_STATIC_INLINE nrf_vdma_job_t *nrfy_mvdma_source_list_ptr_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_source_list_ptr_get 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Pointer to a job list.
-
NRFY_STATIC_INLINE void nrfy_mvdma_sink_list_ptr_set(NRF_MVDMA_Type *p_reg, nrf_vdma_job_t const *p_job)
See also
nrf_mvdma_sink_list_ptr_set 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_job – [in] Pointer to a job list.
-
NRFY_STATIC_INLINE nrf_vdma_job_t *nrfy_mvdma_sink_list_ptr_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_sink_list_ptr_get 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Pointer to a job list.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_crc_result_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_crc_result_get Function for getting the result of CRC checksum calculation.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Result of CRC checksum calculation.
-
NRFY_STATIC_INLINE nrf_mvdma_fifo_status_t nrfy_mvdma_fifo_status_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_fifo_status_get Function for getting the status of intermediate FIFO.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Intermediate FIFO status.
-
NRFY_STATIC_INLINE bool nrfy_mvdma_activity_check(NRF_MVDMA_Type *p_reg)
See also
nrf_mvdma_activity_check Function for checking the MVDMA activity.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Return values:
true – MVDMA is processing data.
false – MVDMA is idle.
-
NRFY_STATIC_INLINE nrf_mvdma_source_error_t nrfy_mvdma_source_error_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_source_error_get Function for getting the bus error of MVDMA data source.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Bus error of data source.
-
NRFY_STATIC_INLINE nrf_mvdma_sink_error_t nrfy_mvdma_sink_error_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_sink_error_get Function for getting the bus error of MVDMA data source.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Bus error of data sink.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_last_source_address_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_last_source_address_get Function for getting the latest address being accessed on the source AXI channel.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Latest address being accessed on the source AXI channel.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_last_sink_address_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_last_sink_address_get Function for getting the latest address being accessed on the sink AXI channel.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Latest address being accessed on the sink AXI channel.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_source_job_count_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_source_job_count_get Function for getting the number of completed jobs in the current source descriptor list.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Number of completed jobs in the current source descriptor list.
-
NRFY_STATIC_INLINE uint32_t nrfy_mvdma_sink_job_count_get(NRF_MVDMA_Type const *p_reg)
See also
nrf_mvdma_sink_job_count_get Function for getting the number of completed jobs in the current sink descriptor list.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Number of completed jobs in the current sink descriptor list.
-
struct nrfy_mvdma_list_request_t
- #include <nrfy_mvdma.h>
Structure describing list execution request for the MVDMA.
Public Members
-
nrf_vdma_job_t *p_source_job_list
Pointer to the source job list.
-
nrf_vdma_job_t *p_sink_job_list
Pointer to the sink job list.
-
nrf_vdma_job_t *p_source_job_list
-
struct nrfy_mvdma_list_desc_t
- #include <nrfy_mvdma.h>
Auxiliary structure describing the MVDMA job list with unspecified direction.
Public Members
-
nrf_vdma_job_t *p_jobs
Pointer to the job list.
-
size_t job_count
Number of jobs executed, including terminating job.
-
uint32_t last_addr
Last sink or source address accessed by the peripheral when the list was processed.
-
nrf_vdma_job_t *p_jobs
-
NRFY_MVDMA_HAS_NEW_VER