CC35xxDriverLibrary
dma.h File Reference
#include "../inc/hw_types.h"
#include "../inc/hw_memmap.h"
#include "../inc/hw_host_dma.h"
#include "../inc/hw_soc_aaon.h"
#include "../inc/hw_soc_aon.h"
#include "debug.h"
Include dependency graph for dma.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DMA_NUM_CHANNELS   12
 Number of available DMA channels. More...
 
#define DMA_CH_OFFSET   0x1000
 DMA channel memory map offset, in bytes. More...
 
#define DMA_CHCTL_FIELD_WIDTH   HOST_DMA_CHCTL0_CH0_W
 DMA channel control field width, in number of bits (CHCTL register) More...
 
#define DMA_CHCTRL_NUMBER_OF_FIELDS   (32 / DMA_CHCTL_FIELD_WIDTH)
 Number of fields in CHCTL register. More...
 
#define DMA_CONFIG_SRC_PTR_WRAP   HOST_DMA_CH0JCTL_BLKMODESRC
 
#define DMA_CONFIG_DST_PTR_WRAP   HOST_DMA_CH0JCTL_BLKMODEDST
 
#define DMA_CONFIG_FORCE_REQ   HOST_DMA_CH0JCTL_DMASIGBPS
 
#define DMA_CONFIG_SRC_PTR_FIFO   HOST_DMA_CH0JCTL_FIFOMODS
 Source pointer (FIFO mode) More...
 
#define DMA_CONFIG_DST_PTR_FIFO   HOST_DMA_CH0JCTL_FIFOMODD
 Destination pointer (FIFO mode) More...
 
#define DMA_CONFIG_RX   0x00000000U
 Link DMA channel to RX port of peripheral. More...
 
#define DMA_CONFIG_TX   HOST_DMA_CH0JCTL_SRCDSTCFG
 Link DMA channel to TX port of peripheral. More...
 
#define DMA_CONFIG_CLEAR_AT_JOB_START   HOST_DMA_CH0JCTL_ENCLR
 Enable DMA to set a rd/wr clear pulse at the beginning of a job (one cycle after run cmd) More...
 
#define DMA_CONFIG_ALLOWED_MASK
 Bitmask of allowed flags passed to DMAConfigureChannel() and DMAConfigureChannelFlags(). More...
 
#define DMA_WORD_SIZE_1B   2
 Word size is 1 byte. More...
 
#define DMA_WORD_SIZE_2B   1
 Word size is 2 bytes. More...
 
#define DMA_WORD_SIZE_4B   0
 Word size is 4 bytes. More...
 

Enumerations

enum  DMAPeripheral {
  DMA_PERIPH_UARTLIN_0 = 0, DMA_PERIPH_UARTLIN_1 = 1, DMA_PERIPH_SPI_0 = 2, DMA_PERIPH_SPI_1 = 3,
  DMA_PERIPH_I2C_0 = 4, DMA_PERIPH_I2C_1 = 5, DMA_PERIPH_SDMMC = 6, DMA_PERIPH_SDIO = 7,
  DMA_PERIPH_MCAN = 8, DMA_PERIPH_ADC = 9, DMA_PERIPH_PDM = 10, DMA_PERIPH_HIF = 11,
  DMA_PERIPH_UARTLIN_2 = 12, DMA_NUM_PERIPHS = 13
}
 DMA peripheral ports enumerations for use with DMAInitChannel(). More...
 
enum  DMAChannelStatus { DMA_HW_EVT_NO_EVENT = 0, DMA_HW_EVT_TRANS_DONE = 1, DMA_HW_EVT_ABORTED = 2, DMA_HW_EVT_EXC = 4 }
 
enum  DMACommand { DMA_CMD_RUN = 1, DMA_CMD_ABORT = 2, DMA_CMD_INIT = 4 }
 

Functions

void DMAInitChannel (uint32_t channel, DMAPeripheral peripheral)
 Initialize DMA channel by mapping it to a peripheral. More...
 
void DMAConfigureChannel (uint32_t channel, uint8_t blockSize, uint8_t wordSize, uint32_t config)
 Configure job for the specified channel. More...
 
void DMAStartTransaction (uint32_t channel, const uint32_t *srcStartAddr, uint32_t *dstStartAddr, uint16_t transLenByte, bool remainingBytesBurst)
 Start job for the specified channel. More...
 
uint32_t DMAGetChannelStatus (uint32_t channel)
 Returns the status of the specified channel. More...
 
uint32_t DMAGetChannelDirection (uint32_t channel)
 Returns the direction of the specified channel. More...
 
__STATIC_INLINE void DMAEnableInt (uint32_t channelMask)
 Enables DMA interrupt sources. More...
 
__STATIC_INLINE void DMADisableInt (uint32_t channelMask)
 Disables DMA channel interrupts. More...
 
__STATIC_INLINE void DMAClearInt (uint32_t channelMask)
 Clears DMA interrupt sources. More...
 
__STATIC_INLINE uint32_t DMAIntStatus (bool masked)
 Gets the current interrupt status. More...
 
__STATIC_INLINE void DMAConfigureChannelFlags (uint32_t channel, uint32_t config)
 Clear all flags and set the specified channel flags. More...
 
__STATIC_INLINE void DMAEnableDestinationFifoMode (uint32_t channel)
 Enable FIFO mode behavior for the destination pointer. More...
 
__STATIC_INLINE void DMADisableDestinationFifoMode (uint32_t channel)
 Disable FIFO mode behavior for the destination pointer. More...
 
__STATIC_INLINE uint32_t DMAGetChannelPeripheral (uint32_t channel)
 Get channel linked peripheral. More...