104 #ifndef ti_drivers_UDMACC26XX__include 105 #define ti_drivers_UDMACC26XX__include 113 #include <ti/devices/DeviceFamily.h> 114 #include DeviceFamily_constructPath(inc/hw_types.h) 115 #include DeviceFamily_constructPath(driverlib/udma.h) 150 #if !defined(UDMACC26XX_CONFIG_BASE) 151 #if (DeviceFamily_PARENT == DeviceFamily_PARENT_CC13X2_CC26X2) 156 #define UDMACC26XX_CONFIG_BASE 0x20001800 157 #elif (DeviceFamily_PARENT == DeviceFamily_PARENT_CC13X1_CC26X1) 163 #define UDMACC26XX_CONFIG_BASE 0x20000400 164 #elif (DeviceFamily_PARENT == DeviceFamily_PARENT_CC13X4_CC26X3_CC26X4) 170 #if (TFM_ENABLED == 0) 171 #define UDMACC26XX_CONFIG_BASE 0x20000400 173 #define UDMACC26XX_CONFIG_BASE 0x2000C400 176 #define UDMACC26XX_CONFIG_BASE 0x20000400 181 #if (UDMACC26XX_CONFIG_BASE & 0x3FF) 182 #error "Base address for DMA control table 'UDMACC26XX_CONFIG_BASE' must be 1024 bytes aligned." 186 #if defined(__IAR_SYSTEMS_ICC__) 187 #define ALLOCATE_CONTROL_TABLE_ENTRY(ENTRY_NAME, CHANNEL_INDEX) \ 188 __no_init __root static volatile tDMAControlTable ENTRY_NAME @UDMACC26XX_CONFIG_BASE + \ 189 (CHANNEL_INDEX) * sizeof(tDMAControlTable) 190 #elif defined(__TI_COMPILER_VERSION__) || defined(__clang__) 191 #define ALLOCATE_CONTROL_TABLE_ENTRY(ENTRY_NAME, CHANNEL_INDEX) \ 192 static volatile tDMAControlTable ENTRY_NAME \ 193 __attribute__((retain, location((UDMACC26XX_CONFIG_BASE) + (CHANNEL_INDEX) * sizeof(tDMAControlTable)))) 194 #elif defined(__GNUC__) 195 #define ALLOCATE_CONTROL_TABLE_ENTRY(ENTRY_NAME, CHANNEL_INDEX) \ 196 extern int UDMACC26XX_##ENTRY_NAME##_is_placed; \ 197 __attribute__((section("." #ENTRY_NAME), used)) static volatile tDMAControlTable ENTRY_NAME = { \ 198 &UDMACC26XX_##ENTRY_NAME##_is_placed} 200 #error "don't know how to define ALLOCATE_CONTROL_TABLE_ENTRY for this toolchain" 204 #define UDMACC26XX_SET_TRANSFER_SIZE(SIZE) (((SIZE - 1) << UDMA_XFER_SIZE_S) & UDMA_XFER_SIZE_M) 206 #define UDMACC26XX_GET_TRANSFER_SIZE(CONTROL) (((CONTROL & UDMA_XFER_SIZE_M) >> UDMA_XFER_SIZE_S) + 1) 328 HWREG(hwAttrs->
baseAddr + UDMA_O_SETCHANNELEN) = channelBitMask;
357 return (uDMAIntStatus(hwAttrs->
baseAddr) & channelBitMask) ?
true :
false;
385 uDMAIntClear(hwAttrs->
baseAddr, channelBitMask);
412 HWREG(hwAttrs->
baseAddr + UDMA_O_CLEARCHANNELEN) = channelBitMask;
442 uDMAChannelAttributeDisable(hwAttrs->
baseAddr, channelNum, attr);
bool isOpen
Definition: UDMACC26XX.h:213
HwiP_Struct hwi
Definition: UDMACC26XX.h:214
void UDMACC26XX_hwiIntFxn(uintptr_t callbacks)
PowerCC26XX_Resource powerMngrId
Definition: UDMACC26XX.h:223
void UDMACC26XX_close(UDMACC26XX_Handle handle)
Function to close the DMA driver.
HwiP structure.
Definition: HwiP.h:78
UDMACC26XX_Handle UDMACC26XX_open(void)
Function to initialize the CC26XX DMA peripheral.
__STATIC_INLINE void UDMACC26XX_clearInterrupt(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:377
__STATIC_INLINE void UDMACC26XX_channelEnable(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:320
uint8_t intNum
Definition: UDMACC26XX.h:224
__STATIC_INLINE void UDMACC26XX_init(UDMACC26XX_Handle handle)
Function to initialize the CC26XX DMA driver.
Definition: UDMACC26XX.h:279
__STATIC_INLINE void UDMACC26XX_disableAttribute(UDMACC26XX_Handle handle, uint32_t channelNum, uint32_t attr)
Definition: UDMACC26XX.h:435
UDMACC26XX Global configuration.
Definition: UDMACC26XX.h:253
Power manager interface for CC26XX/CC13XX.
UDMACC26XX hardware attributes.
Definition: UDMACC26XX.h:220
void * object
Definition: UDMACC26XX.h:255
uint8_t intPriority
UDMACC26XX error interrupt priority. intPriority is the DMA peripheral's interrupt priority...
Definition: UDMACC26XX.h:247
__STATIC_INLINE void UDMACC26XX_channelDisable(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:405
__STATIC_INLINE bool UDMACC26XX_channelDone(UDMACC26XX_Handle handle, uint32_t channelBitMask)
Definition: UDMACC26XX.h:349
uint32_t baseAddr
Definition: UDMACC26XX.h:222
UDMACC26XX object.
Definition: UDMACC26XX.h:211
UDMACC26XX_Config * UDMACC26XX_Handle
A handle that is returned from a UDMACC26XX_open() call.
Definition: UDMACC26XX.h:262
void const * hwAttrs
Definition: UDMACC26XX.h:256