M2M DMA allows transferring data between memory regions without CPU intervention.
It can be used to transfer WIFI data between the Apps processor and the WLAN processor through the WWD driver.
Enumerations | |
enum | _cyhal_m2m_group_t { _CYHAL_M2M_GRP_WWD , _CYHAL_M2M_GRP_USR_1 , _CYHAL_M2M_GRP_USR_2 } |
M2M DMA group. More... | |
Functions | |
void | _cyhal_m2m_init_dma (_cyhal_m2m_group_t group, uint8_t tx_ch, uint8_t rx_ch, uint32_t rx_buffer_size) |
Common M2M initialization routine. More... | |
void | _cyhal_m2m_disable_dma (uint8_t dma_ch) |
Common M2M disable DMA routine. More... | |
void | _cyhal_m2m_deinit_dma (_cyhal_m2m_group_t group) |
Common M2M deinitialization routine. More... | |
bool | _cyhal_m2m_tx_is_idle (_cyhal_m2m_group_t group) |
Common M2M routine to check if communication is idle. More... | |
void | _cyhal_m2m_get_channels (_cyhal_m2m_group_t group, uint8_t *tx_ch, uint8_t *rx_ch, uint8_t *dma_ch) |
Common M2M routine to get the channels for a given group. More... | |
void | _cyhal_m2m_unprotected_dma_memcpy (uint8_t dma_ch, void *destination, const void *source, uint32_t byte_count) |
Common M2M function for initiating a regular DMA transfer. More... | |
enum _cyhal_m2m_group_t |
void _cyhal_m2m_init_dma | ( | _cyhal_m2m_group_t | group, |
uint8_t | tx_ch, | ||
uint8_t | rx_ch, | ||
uint32_t | rx_buffer_size | ||
) |
Common M2M initialization routine.
Function for initializing a DMA group consisting of TX, RX, and DMA channels.
[in] | group | Group number |
[in] | tx_ch | TX channel number |
[in] | rx_ch | RX channel number |
[in] | rx_buffer_size | RX buffer size |
void _cyhal_m2m_disable_dma | ( | uint8_t | dma_ch | ) |
Common M2M disable DMA routine.
Function for disabling a DMA channel
[in] | dma_ch | DMA channel number |
void _cyhal_m2m_deinit_dma | ( | _cyhal_m2m_group_t | group | ) |
Common M2M deinitialization routine.
Function for deinitializing a DMA group.
[in] | group | Group number |
bool _cyhal_m2m_tx_is_idle | ( | _cyhal_m2m_group_t | group | ) |
Common M2M routine to check if communication is idle.
[in] | group | Group number |
void _cyhal_m2m_get_channels | ( | _cyhal_m2m_group_t | group, |
uint8_t * | tx_ch, | ||
uint8_t * | rx_ch, | ||
uint8_t * | dma_ch | ||
) |
Common M2M routine to get the channels for a given group.
[in] | group | Group number |
[in] | tx_ch | TX channel number |
[in] | rx_ch | RX channel number |
[in] | dma_ch | DMA channel number |
void _cyhal_m2m_unprotected_dma_memcpy | ( | uint8_t | dma_ch, |
void * | destination, | ||
const void * | source, | ||
uint32_t | byte_count | ||
) |
Common M2M function for initiating a regular DMA transfer.
[in] | dma_ch | DMA channel number |
[in] | destination | Destination address |
[in] | source | Source address |
[in] | byte_count | Number of bytes to transfer |