SAM XDMA Controller (DMAC) driver.
Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
Data Structures | |
struct | lld_view0 |
Structure for storing parameters for DMA view0 that can be performed by the DMA Master transfer. More... | |
struct | lld_view1 |
Structure for storing parameters for DMA view1 that can be performed by the DMA Master transfer. More... | |
struct | lld_view2 |
Structure for storing parameters for DMA view2 that can be performed by the DMA Master transfer. More... | |
struct | lld_view3 |
Structure for storing parameters for DMA view3 that can be performed by the DMA Master transfer. More... | |
struct | xdmac_channel_config_t |
XDMA config register for channel. More... | |
Functions | |
static void | xdmac_channel_disable (Xdmac *xdmac, uint32_t channel_num) |
Disables the relevant channel of given XDMAC. More... | |
static void | xdmac_channel_disable_interrupt (Xdmac *xdmac, uint32_t channel_num, uint32_t mask) |
Disable interrupt with mask on the relevant channel of given XDMA. More... | |
static void | xdmac_channel_enable (Xdmac *xdmac, uint32_t channel_num) |
enables the relevant channel of given XDMAC. More... | |
static void | xdmac_channel_enable_interrupt (Xdmac *xdmac, uint32_t channel_num, uint32_t mask) |
Enable interrupt with mask on the relevant channel of given XDMA. More... | |
static uint32_t | xdmac_channel_get_interrupt_mask (Xdmac *xdmac, uint32_t channel_num) |
Get interrupt mask for the relevant channel of given XDMA. More... | |
static uint32_t | xdmac_channel_get_interrupt_status (Xdmac *xdmac, uint32_t channel_num) |
Get interrupt status for the relevant channel of given XDMA. More... | |
static uint32_t | xdmac_channel_get_status (Xdmac *xdmac) |
Get Global channel status of given XDMAC. More... | |
static void | xdmac_channel_read_suspend (Xdmac *xdmac, uint32_t channel_num) |
Suspend the relevant channel's read. More... | |
static void | xdmac_channel_readwrite_resume (Xdmac *xdmac, uint32_t channel_num) |
Resume the relevant channel's read & write. More... | |
static void | xdmac_channel_readwrite_suspend (Xdmac *xdmac, uint32_t channel_num) |
Suspend the relevant channel's read & write. More... | |
static void | xdmac_channel_set_block_control (Xdmac *xdmac, uint32_t channel_num, uint32_t blen) |
Set block length for the relevant channel of given XDMA. More... | |
static void | xdmac_channel_set_config (Xdmac *xdmac, uint32_t channel_num, uint32_t config) |
Set configuration for the relevant channel of given XDMA. More... | |
static void | xdmac_channel_set_datastride_mempattern (Xdmac *xdmac, uint32_t channel_num, uint32_t dds_msp) |
Set the relevant channel's data stride memory pattern of given XDMA. More... | |
static void | xdmac_channel_set_descriptor_addr (Xdmac *xdmac, uint32_t channel_num, uint32_t desc_addr, uint8_t ndaif) |
Set next descriptor's address & interface for the relevant channel of given XDMA. More... | |
static void | xdmac_channel_set_descriptor_control (Xdmac *xdmac, uint32_t channel_num, uint32_t config) |
Set next descriptor's configuration for the relevant channel of given XDMA. More... | |
static void | xdmac_channel_set_destination_addr (Xdmac *xdmac, uint32_t channel_num, uint32_t dst_addr) |
Set destination address for the relevant channel of given XDMA. More... | |
static void | xdmac_channel_set_destination_microblock_stride (Xdmac *xdmac, uint32_t channel_num, uint32_t dubs) |
Set the relevant channel's destination microblock stride of given XDMA. More... | |
static void | xdmac_channel_set_microblock_control (Xdmac *xdmac, uint32_t channel_num, uint32_t ublen) |
Set microblock length for the relevant channel of given XDMA. More... | |
static void | xdmac_channel_set_source_addr (Xdmac *xdmac, uint32_t channel_num, uint32_t src_addr) |
Set source address for the relevant channel of given XDMA. More... | |
static void | xdmac_channel_set_source_microblock_stride (Xdmac *xdmac, uint32_t channel_num, uint32_t subs) |
Set the relevant channel's source microblock stride of given XDMA. More... | |
static void | xdmac_channel_software_flush_request (Xdmac *xdmac, uint32_t channel_num) |
Set software flush request on the relevant channel. More... | |
static void | xdmac_channel_software_request (Xdmac *xdmac, uint32_t channel_num) |
Set software transfer request on the relevant channel. More... | |
static void | xdmac_channel_write_suspend (Xdmac *xdmac, uint32_t channel_num) |
Suspend the relevant channel's write. More... | |
void | xdmac_configure_transfer (Xdmac *xdmac, uint32_t channel_num, xdmac_channel_config_t *p_cfg) |
Configure DMA for a transfer. More... | |
static void | xdmac_disable_interrupt (Xdmac *xdmac, uint32_t channel_num) |
Disables XDMAC global interrupt. More... | |
static void | xdmac_enable_interrupt (Xdmac *xdmac, uint32_t channel_num) |
Enables XDMAC global interrupt. More... | |
static uint32_t | xdmac_get_arbiter (Xdmac *xdmac) |
Get XDMAC global weighted arbiter configuration. More... | |
static uint32_t | xdmac_get_config (Xdmac *xdmac) |
Get XDMAC global configuration. More... | |
static uint32_t | xdmac_get_interrupt_mask (Xdmac *xdmac) |
Get XDMAC global interrupt mask. More... | |
static uint32_t | xdmac_get_interrupt_status (Xdmac *xdmac) |
Get XDMAC global interrupt status. More... | |
static uint32_t | xdmac_get_software_request_status (Xdmac *xdmac) |
Get software transfer status of the relevant channel. More... | |
static uint32_t | xdmac_get_type (Xdmac *xdmac) |
Get XDMAC global type. More... | |