csl_edma3.h File Reference

This is the main header file for the EDMA Module which defines all the data structures and exported API. More...

#include <ti/csl/csl.h>
#include <ti/csl/soc.h>
#include <ti/csl/cslr_tpcc.h>

Data Structures

struct  CSL_Edma3CfgInfo
 EDMA3 Configuration Information This describes the configuration information for each EDMA instance. This is populated by the SOC layer for each instance. More...
struct  CSL_Edma3Obj
 This object contains the reference to the instance of Edma Module opened using the CSL_edma3Open(). More...
struct  CSL_Edma3ParamSetup
 Edma ParamSetup Structure. More...
struct  CSL_Edma3ChannelObj
 Edma Object Structure. More...
struct  CSL_Edma3MemFaultStat
 Edma Memory Protection Fault Error Status. More...
struct  CSL_Edma3CtrlErrStat
 Edma Controller Error Status. More...
struct  CSL_Edma3QueryInfo
 Edma Controller Information. More...
struct  CSL_Edma3ActivityStat
 Edma Channel Controller Activity Status. More...
struct  CSL_Edma3QueStat
 Edma Controller Que Status. More...
struct  CSL_Edma3CmdRegion
 Edma Control/Query Command Structure for querying region specific attributes. More...
struct  CSL_Edma3CmdQrae
 Edma Control/Query Command Structure for querying qdma region access enable attributes. More...
struct  CSL_Edma3CmdIntr
 Edma Control/Query Control Command structure for issuing commands for Interrupt related APIs An object of this type is allocated by the user and its address is passed to the Control API. More...
struct  CSL_Edma3CmdDrae
 Edma Command Structure for setting region specific attributes. More...
struct  CSL_Edma3CmdQuePri
 Edma Command Structure used for setting Event Que priority level. More...
struct  CSL_Edma3CmdQueThr
 Edma Command Structure used for setting Event Que threshold level. More...
struct  CSL_Edma3ModuleBaseAddress
 This will have the base-address information for the module instance. More...
struct  CSL_Edma3ChannelAttr
 Edma Channel parameter structure used for opening a channel. More...
struct  CSL_Edma3ChannelErr
 Edma Channel Error . More...
struct  CSL_Edma3HwQdmaChannelSetup
 QDMA Edma Channel Setup. More...
struct  CSL_Edma3HwDmaChannelSetup
 QDMA Edma Channel Setup. More...
struct  CSL_Edma3HwSetup
 Edma Hw Setup Structure. More...

Defines

#define CSL_EDMA3_REGION_GLOBAL   -1
#define CSL_EDMA3_LINK_NULL   0xFFFF
#define CSL_EDMA3_LINK_DEFAULT   0xFFFF
#define CSL_EDMA3_SYNC_A   0
#define CSL_EDMA3_SYNC_AB   1
#define CSL_EDMA3_TCC_NORMAL   0
#define CSL_EDMA3_TCC_EARLY   1
#define CSL_EDMA3_FIFOWIDTH_NONE   0
#define CSL_EDMA3_FIFOWIDTH_8BIT   0
#define CSL_EDMA3_FIFOWIDTH_16BIT   1
#define CSL_EDMA3_FIFOWIDTH_32BIT   2
#define CSL_EDMA3_FIFOWIDTH_64BIT   3
#define CSL_EDMA3_FIFOWIDTH_128BIT   4
#define CSL_EDMA3_FIFOWIDTH_256BIT   5
#define CSL_EDMA3_ADDRMODE_INCR   0
#define CSL_EDMA3_ADDRMODE_CONST   1
#define CSL_EDMA3_MEMACCESS_UX   0x0001
#define CSL_EDMA3_MEMACCESS_UW   0x0002
#define CSL_EDMA3_MEMACCESS_UR   0x0004
#define CSL_EDMA3_MEMACCESS_SX   0x0008
#define CSL_EDMA3_MEMACCESS_SW   0x0010
#define CSL_EDMA3_MEMACCESS_SR   0x0020
#define CSL_EDMA3_MEMACCESS_EXT   0x0200
#define CSL_EDMA3_MEMACCESS_AID0   0x0400
#define CSL_EDMA3_MEMACCESS_AID1   0x0800
#define CSL_EDMA3_MEMACCESS_AID2   0x1000
#define CSL_EDMA3_MEMACCESS_AID3   0x2000
#define CSL_EDMA3_MEMACCESS_AID4   0x4000
#define CSL_EDMA3_MEMACCESS_AID5   0x8000
#define CSL_EDMA3_ITCINT_EN   1
#define CSL_EDMA3_ITCINT_DIS   0
#define CSL_EDMA3_ITCCH_EN   1
#define CSL_EDMA3_ITCCH_DIS   0
#define CSL_EDMA3_TCINT_EN   1
#define CSL_EDMA3_TCINT_DIS   0
#define CSL_EDMA3_TCCH_EN   1
#define CSL_EDMA3_TCCH_DIS   0
#define CSL_EDMA3_STATIC_EN   1
#define CSL_EDMA3_STATIC_DIS   0
#define CSL_EDMA3_TRIGWORD_DEFAULT   7
#define CSL_EDMA3_TRIGWORD_OPT   0
#define CSL_EDMA3_TRIGWORD_SRC   1
#define CSL_EDMA3_TRIGWORD_A_B_CNT   2
#define CSL_EDMA3_TRIGWORD_DST   3
#define CSL_EDMA3_TRIGWORD_SRC_DST_BIDX   4
#define CSL_EDMA3_TRIGWORD_LINK_BCNTRLD   5
#define CSL_EDMA3_TRIGWORD_SRC_DST_CIDX   6
#define CSL_EDMA3_TRIGWORD_CCNT   7
#define CSL_EDMA3_OPT_MAKE(itcchEn, tcchEn, itcintEn, tcintEn, tcc, tccMode, fwid, stat, syncDim, dam, sam)
#define CSL_EDMA3_CNT_MAKE(aCnt, bCnt)
#define CSL_EDMA3_LINKBCNTRLD_MAKE(link, bCntRld)
#define CSL_EDMA3_BIDX_MAKE(src, dst)
#define CSL_EDMA3_CIDX_MAKE(src, dst)

Typedefs

typedef void * CSL_Edma3Context
 Module specific context information. This is a dummy handle.
typedef void * CSL_Edma3ModuleAttr
 Module Attributes specific information. This is a dummy handle.
typedef struct CSL_Edma3CfgInfo CSL_Edma3CfgInfo
 EDMA3 Configuration Information This describes the configuration information for each EDMA instance. This is populated by the SOC layer for each instance.
typedef struct CSL_Edma3Obj CSL_Edma3Obj
 This object contains the reference to the instance of Edma Module opened using the CSL_edma3Open().
typedef struct CSL_Edma3ObjCSL_Edma3Handle
 EDMA handle.
typedef volatile
CSL_TPCC_ParamsetRegs * 
CSL_Edma3ParamHandle
typedef struct CSL_Edma3ParamSetup CSL_Edma3ParamSetup
 Edma ParamSetup Structure.
typedef struct CSL_Edma3ChannelObj CSL_Edma3ChannelObj
 Edma Object Structure.
typedef struct
CSL_Edma3ChannelObj
CSL_Edma3ChannelHandle
typedef struct
CSL_Edma3MemFaultStat 
CSL_Edma3MemFaultStat
 Edma Memory Protection Fault Error Status.
typedef struct CSL_Edma3CtrlErrStat CSL_Edma3CtrlErrStat
 Edma Controller Error Status.
typedef struct CSL_Edma3QueryInfo CSL_Edma3QueryInfo
 Edma Controller Information.
typedef struct
CSL_Edma3ActivityStat 
CSL_Edma3ActivityStat
 Edma Channel Controller Activity Status.
typedef struct CSL_Edma3QueStat CSL_Edma3QueStat
 Edma Controller Que Status.
typedef struct CSL_Edma3CmdRegion CSL_Edma3CmdRegion
 Edma Control/Query Command Structure for querying region specific attributes.
typedef struct CSL_Edma3CmdQrae CSL_Edma3CmdQrae
 Edma Control/Query Command Structure for querying qdma region access enable attributes.
typedef struct CSL_Edma3CmdIntr CSL_Edma3CmdIntr
 Edma Control/Query Control Command structure for issuing commands for Interrupt related APIs An object of this type is allocated by the user and its address is passed to the Control API.
typedef struct CSL_Edma3CmdDrae CSL_Edma3CmdDrae
 Edma Command Structure for setting region specific attributes.
typedef struct CSL_Edma3CmdQuePri CSL_Edma3CmdQuePri
 Edma Command Structure used for setting Event Que priority level.
typedef struct CSL_Edma3CmdQueThr CSL_Edma3CmdQueThr
 Edma Command Structure used for setting Event Que threshold level.
typedef struct CSL_Edma3ChannelErr CSL_Edma3ChannelErr
 Edma Channel Error .
typedef struct
CSL_Edma3HwQdmaChannelSetup 
CSL_Edma3HwQdmaChannelSetup
 QDMA Edma Channel Setup.
typedef struct
CSL_Edma3HwDmaChannelSetup 
CSL_Edma3HwDmaChannelSetup
 QDMA Edma Channel Setup.

Enumerations

enum  CSL_Edma3QuePri {
  CSL_EDMA3_QUE_PRI_0 = 0, CSL_EDMA3_QUE_PRI_1 = 1, CSL_EDMA3_QUE_PRI_2 = 2, CSL_EDMA3_QUE_PRI_3 = 3,
  CSL_EDMA3_QUE_PRI_4 = 4, CSL_EDMA3_QUE_PRI_5 = 5, CSL_EDMA3_QUE_PRI_6 = 6, CSL_EDMA3_QUE_PRI_7 = 7
}
 

Enumeration for System priorities.

More...
enum  CSL_Edma3Que {
  CSL_EDMA3_QUE_DEFAULT = 0, CSL_EDMA3_QUE_0 = 0, CSL_EDMA3_QUE_1 = 1, CSL_EDMA3_QUE_2 = 2,
  CSL_EDMA3_QUE_3 = 3, CSL_EDMA3_QUE_4 = 4, CSL_EDMA3_QUE_5 = 5, CSL_EDMA3_QUE_6 = 6,
  CSL_EDMA3_QUE_7 = 7
}
 

Enumeration for EDMA Event Queues.

More...
enum  CSL_Edma3QueThr {
  CSL_EDMA3_QUE_THR_0 = 0, CSL_EDMA3_QUE_THR_1 = 1, CSL_EDMA3_QUE_THR_2 = 2, CSL_EDMA3_QUE_THR_3 = 3,
  CSL_EDMA3_QUE_THR_4 = 4, CSL_EDMA3_QUE_THR_5 = 5, CSL_EDMA3_QUE_THR_6 = 6, CSL_EDMA3_QUE_THR_7 = 7,
  CSL_EDMA3_QUE_THR_8 = 8, CSL_EDMA3_QUE_THR_9 = 9, CSL_EDMA3_QUE_THR_10 = 10, CSL_EDMA3_QUE_THR_11 = 11,
  CSL_EDMA3_QUE_THR_12 = 12, CSL_EDMA3_QUE_THR_13 = 13, CSL_EDMA3_QUE_THR_14 = 14, CSL_EDMA3_QUE_THR_15 = 15,
  CSL_EDMA3_QUE_THR_16 = 16
}
 

Enumeration for EDMA Que Thresholds.

More...
enum  CSL_Edma3HwControlCmd {
  CSL_EDMA3_CMD_MEMPROTECT_SET, CSL_EDMA3_CMD_MEMFAULT_CLEAR, CSL_EDMA3_CMD_DMAREGION_ENABLE, CSL_EDMA3_CMD_DMAREGION_DISABLE,
  CSL_EDMA3_CMD_QDMAREGION_ENABLE, CSL_EDMA3_CMD_QDMAREGION_DISABLE, CSL_EDMA3_CMD_QUEPRIORITY_SET, CSL_EDMA3_CMD_QUETHRESHOLD_SET,
  CSL_EDMA3_CMD_ERROR_EVAL, CSL_EDMA3_CMD_INTRPEND_CLEAR, CSL_EDMA3_CMD_INTR_ENABLE, CSL_EDMA3_CMD_INTR_DISABLE,
  CSL_EDMA3_CMD_INTR_EVAL, CSL_EDMA3_CMD_CTRLERROR_CLEAR, CSL_EDMA3_CMD_EVENTMISSED_CLEAR
}
enum  CSL_Edma3HwStatusQuery {
  CSL_EDMA3_QUERY_MEMFAULT, CSL_EDMA3_QUERY_MEMPROTECT, CSL_EDMA3_QUERY_CTRLERROR, CSL_EDMA3_QUERY_INTRPEND,
  CSL_EDMA3_QUERY_EVENTMISSED, CSL_EDMA3_QUERY_QUESTATUS, CSL_EDMA3_QUERY_ACTIVITY, CSL_EDMA3_QUERY_INFO
}
 

MODULE Level Queries.

More...
enum  CSL_Edma3HwChannelControlCmd {
  CSL_EDMA3_CMD_CHANNEL_ENABLE, CSL_EDMA3_CMD_CHANNEL_DISABLE, CSL_EDMA3_CMD_CHANNEL_SET, CSL_EDMA3_CMD_CHANNEL_CLEAR,
  CSL_EDMA3_CMD_CHANNEL_CLEARERR
}
 

CHANNEL Commands.

More...
enum  CSL_Edma3HwChannelStatusQuery { CSL_EDMA3_QUERY_CHANNEL_STATUS, CSL_EDMA3_QUERY_CHANNEL_ERR }
 

CHANNEL Queries.

More...

Functions

CSL_Status CSL_edma3Init (CSL_Edma3Context *pContext)
CSL_Edma3Handle CSL_edma3Open (CSL_Edma3Obj *edmaObj, CSL_InstNum edmaNum, CSL_Edma3ModuleAttr *attr, CSL_Status *status)
CSL_Status CSL_edma3Close (CSL_Edma3Handle hEdma)
CSL_Status CSL_edma3HwSetup (CSL_Edma3Handle hMod, CSL_Edma3HwSetup *setup)
CSL_Status CSL_edma3GetHwSetup (CSL_Edma3Handle hMod, CSL_Edma3HwSetup *setup)
CSL_Status CSL_edma3HwControl (CSL_Edma3Handle hMod, CSL_Edma3HwControlCmd cmd, void *cmdArg)
CSL_Status CSL_edma3ccGetModuleBaseAddr (CSL_InstNum edmaNum, CSL_Edma3ModuleAttr *pAttr, CSL_Edma3ModuleBaseAddress *pBaseAddress, CSL_Edma3CfgInfo *pCfgInfo)
CSL_Status CSL_edma3GetHwStatus (CSL_Edma3Handle hMod, CSL_Edma3HwStatusQuery myQuery, void *response)
CSL_Edma3ChannelHandle CSL_edma3ChannelOpen (CSL_Edma3ChannelObj *edmaObj, CSL_InstNum edmaNum, CSL_Edma3ChannelAttr *chAttr, CSL_Status *status)
CSL_Status CSL_edma3ChannelClose (CSL_Edma3ChannelHandle hEdma)
CSL_Status CSL_edma3HwChannelSetupParam (CSL_Edma3ChannelHandle hEdma, Uint16 paramNum)
CSL_Status CSL_edma3HwChannelSetupTriggerWord (CSL_Edma3ChannelHandle hEdma, Uint8 triggerWord)
CSL_Status CSL_edma3HwChannelSetupQue (CSL_Edma3ChannelHandle hEdma, CSL_Edma3Que que)
CSL_Status CSL_edma3GetHwChannelSetupParam (CSL_Edma3ChannelHandle hEdma, Uint16 *paramNum)
CSL_Status CSL_edma3GetHwChannelSetupTriggerWord (CSL_Edma3ChannelHandle hEdma, Uint8 *triggerWord)
CSL_Status CSL_edma3GetHwChannelSetupQue (CSL_Edma3ChannelHandle hEdma, CSL_Edma3Que *que)
CSL_Status CSL_edma3HwChannelControl (CSL_Edma3ChannelHandle hCh, CSL_Edma3HwChannelControlCmd cmd, void *cmdArg)
CSL_Status CSL_edma3GetHwChannelStatus (CSL_Edma3ChannelHandle hCh, CSL_Edma3HwChannelStatusQuery myQuery, void *response)
CSL_Edma3ParamHandle CSL_edma3GetParamHandle (CSL_Edma3ChannelHandle hEdma, Int16 paramNum, CSL_Status *status)
CSL_Status CSL_edma3ParamSetup (CSL_Edma3ParamHandle hParam, CSL_Edma3ParamSetup *pSetup)
CSL_Status CSL_edma3ParamWriteWord (CSL_Edma3ParamHandle hParamHndl, Uint16 wordOffset, Uint32 word)

Detailed Description

This is the main header file for the EDMA Module which defines all the data structures and exported API.

============================================================================
(C) Copyright 2002, 2003, 2004, 2005, 2008, 2009, Texas Instruments, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Copyright 2012, Texas Instruments Incorporated