111 #ifndef ti_drivers_UDMACC26XX__include 112 #define ti_drivers_UDMACC26XX__include 124 #include <ti/devices/DeviceFamily.h> 125 #include DeviceFamily_constructPath(inc/hw_types.h) 126 #include DeviceFamily_constructPath(driverlib/udma.h) 157 #if !defined(UDMACC26XX_CONFIG_BASE) && (DeviceFamily_PARENT == DeviceFamily_PARENT_CC13X2_CC26X2) 158 #define UDMACC26XX_CONFIG_BASE 0x20001800 159 #elif !defined(UDMACC26XX_CONFIG_BASE) 160 #define UDMACC26XX_CONFIG_BASE 0x20000400 164 #if(UDMACC26XX_CONFIG_BASE & 0x3FF) 165 #error "Base address for DMA control table 'UDMACC26XX_CONFIG_BASE' must be 1024 bytes aligned." 169 #if defined(__IAR_SYSTEMS_ICC__) 170 #define ALLOCATE_CONTROL_TABLE_ENTRY(ENTRY_NAME, CHANNEL_INDEX) \ 171 __no_init static volatile tDMAControlTable ENTRY_NAME @ UDMACC26XX_CONFIG_BASE + CHANNEL_INDEX * sizeof(tDMAControlTable) 172 #elif defined(__TI_COMPILER_VERSION__) 173 #define ALLOCATE_CONTROL_TABLE_ENTRY(ENTRY_NAME, CHANNEL_INDEX) \ 174 PRAGMA(LOCATION( ENTRY_NAME , UDMACC26XX_CONFIG_BASE + CHANNEL_INDEX * sizeof(tDMAControlTable) );)\ 175 static volatile tDMAControlTable ENTRY_NAME 176 #define PRAGMA(x) _Pragma(#x) 177 #elif defined(__GNUC__) 178 #define ALLOCATE_CONTROL_TABLE_ENTRY(ENTRY_NAME, CHANNEL_INDEX) \ 179 extern int UDMACC26XX_ ## ENTRY_NAME ## _is_placed; __attribute__ ((section("."#ENTRY_NAME))) static volatile tDMAControlTable ENTRY_NAME = {&UDMACC26XX_ ## ENTRY_NAME ## _is_placed} 181 #error "don't know how to define ALLOCATE_CONTROL_TABLE_ENTRY for this toolchain" 185 #define UDMACC26XX_SET_TRANSFER_SIZE(SIZE) (((SIZE - 1) << UDMA_XFER_SIZE_S) & UDMA_XFER_SIZE_M) 187 #define UDMACC26XX_GET_TRANSFER_SIZE(CONTROL) (((CONTROL & UDMA_XFER_SIZE_M) >> UDMA_XFER_SIZE_S) + 1) 264 object->isOpen =
false;
305 HWREG(hwAttrs->
baseAddr + UDMA_O_SETCHANNELEN) = channelBitMask;
334 return (uDMAIntStatus(hwAttrs->
baseAddr) & channelBitMask) ?
true :
false;
362 uDMAIntClear(hwAttrs->
baseAddr, channelBitMask);
386 HWREG(hwAttrs->
baseAddr + UDMA_O_CLEARCHANNELEN) = channelBitMask;
410 uint32_t channelNum, uint32_t attr)
414 uDMAChannelAttributeDisable(hwAttrs->
baseAddr, channelNum, attr);
bool isOpen
Definition: UDMACC26XX.h:193
HwiP_Struct hwi
Definition: UDMACC26XX.h:194
void UDMACC26XX_hwiIntFxn(uintptr_t callbacks)
PowerCC26XX_Resource powerMngrId
Definition: UDMACC26XX.h:202
void UDMACC26XX_close(UDMACC26XX_Handle handle)
Function to close the DMA driver.
__STATIC_INLINE void UDMACC26XX_clearInterrupt(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:354
__STATIC_INLINE void UDMACC26XX_channelEnable(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:297
uint8_t intNum
Definition: UDMACC26XX.h:203
__STATIC_INLINE void UDMACC26XX_init(UDMACC26XX_Handle handle)
Function to initialize the CC26XX DMA driver.
Definition: UDMACC26XX.h:256
__STATIC_INLINE void UDMACC26XX_disableAttribute(UDMACC26XX_Handle handle, uint32_t channelNum, uint32_t attr)
Definition: UDMACC26XX.h:409
UDMACC26XX Global configuration.
Definition: UDMACC26XX.h:231
Power manager interface for CC26XX/CC13XX.
struct UDMACC26XX_Object UDMACC26XX_Object
UDMACC26XX object.
UDMACC26XX_Handle UDMACC26XX_open()
Function to initialize the CC26XX DMA peripheral.
struct UDMACC26XX_Config UDMACC26XX_Config
UDMACC26XX Global configuration.
UDMACC26XX hardware attributes.
Definition: UDMACC26XX.h:200
void * object
Definition: UDMACC26XX.h:232
uint8_t intPriority
UDMACC26XX error interrupt priority. intPriority is the DMA peripheral's interrupt priority...
Definition: UDMACC26XX.h:225
__STATIC_INLINE void UDMACC26XX_channelDisable(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:382
__STATIC_INLINE bool UDMACC26XX_channelDone(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:326
uint32_t baseAddr
Definition: UDMACC26XX.h:201
UDMACC26XX object.
Definition: UDMACC26XX.h:192
struct UDMACC26XX_Config * UDMACC26XX_Handle
A handle that is returned from a UDMACC26XX_open() call.
Definition: UDMACC26XX.h:239
void const * hwAttrs
Definition: UDMACC26XX.h:233
struct UDMACC26XX_HWAttrs UDMACC26XX_HWAttrs
UDMACC26XX hardware attributes.