Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00054 #ifndef _ACPY3_
00055 #define _ACPY3_
00056
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00064
00065 #include <ti/xdais/idma3.h>
00066
00067 #define ACPY3_GTNAME "ti.sdo.fc.acpy3"
00068
00077 #define ACPY3_MODNAME "ti.sdo.fc.acpy3"
00078
00079
00085 typedef enum ACPY3_ParamField16b {
00086
00087 ACPY3_PARAMFIELD_ELEMENTSIZE = 8,
00088 ACPY3_PARAMFIELD_NUMELEMENTS = 10 ,
00089 ACPY3_PARAMFIELD_ELEMENTINDEX_SRC = 16,
00090 ACPY3_PARAMFIELD_ELEMENTINDEX_DST = 18,
00091 ACPY3_PARAMFIELD_FRAMEINDEX_SRC = 24,
00092 ACPY3_PARAMFIELD_FRAMEINDEX_DST = 26,
00093 ACPY3_PARAMFIELD_NUMFRAMES = 28
00094
00095 } ACPY3_ParamField16b;
00096
00102 typedef enum ACPY3_ParamField32b {
00103
00104 ACPY3_PARAMFIELD_SRCADDR = 4,
00105 ACPY3_PARAMFIELD_DSTADDR = 12,
00106 ACPY3_PARAMFIELD_ELEMENTINDEXES = 16,
00107 ACPY3_PARAMFIELD_FRAMEINDEXES = 24
00108
00109 } ACPY3_ParamField32b;
00110
00121 typedef enum ACPY3_TransferType {
00122
00128 ACPY3_1D1D,
00129
00143 ACPY3_1D2D,
00144
00156 ACPY3_2D1D,
00157
00169 ACPY3_2D2D
00170 } ACPY3_TransferType;
00171
00172
00177 typedef struct ACPY3_Params {
00178
00180 ACPY3_TransferType transferType;
00181
00183 Void * srcAddr;
00184
00186 Void * dstAddr;
00187
00189 unsigned short elementSize;
00190
00192 unsigned short numElements;
00193
00195 unsigned short numFrames ;
00196
00201 short srcElementIndex;
00202
00207 short dstElementIndex;
00208
00214 short srcFrameIndex;
00215
00221 short dstFrameIndex;
00222
00232 short waitId;
00233
00234 } ACPY3_Params;
00235
00236
00237 extern IDMA3_ProtocolObj ACPY3_PROTOCOL;
00238
00261 Void ACPY3_configure(IDMA3_Handle handle, ACPY3_Params *params,
00262 short transferNo);
00263
00264
00302 #if defined(ACPY3_FASTCONFIGURE16B_INLINE) || defined(ACPY3_INLINE_ALL)
00303 #include <ti/sdo/fc/acpy3/acpy3_fastconfigure16b.h>
00304 #else
00305 Void ACPY3_fastConfigure16b(IDMA3_Handle handle, ACPY3_ParamField16b fieldId,
00306 unsigned short value, short transferNo);
00307 #endif
00308
00348 #if defined(ACPY3_FASTCONFIGURE32B_INLINE) || defined(ACPY3_INLINE_ALL)
00349 #include <ti/sdo/fc/acpy3/acpy3_fastconfigure32b.h>
00350 #else
00351 Void ACPY3_fastConfigure32b(IDMA3_Handle handle, ACPY3_ParamField32b fieldId,
00352 Uns value, short transferNo);
00353 #endif
00354
00396 #if defined(ACPY3_SETFINAL_INLINE) || defined(ACPY3_INLINE_ALL)
00397 #include <ti/sdo/fc/acpy3/acpy3_setfinal.h>
00398 #else
00399 Void ACPY3_setFinal(IDMA3_Handle handle, short transferNo);
00400 #endif
00401
00445 #if defined(ACPY3_FASTSETFINAL_INLINE) || defined(ACPY3_INLINE_ALL)
00446 #include <ti/sdo/fc/acpy3/acpy3_fastsetfinal.h>
00447 #else
00448 Void ACPY3_fastSetFinal(IDMA3_Handle handle, short transferNo);
00449 #endif
00450
00496 #if defined(ACPY3_START_INLINE) || defined(ACPY3_INLINE_ALL)
00497 #include <ti/sdo/fc/acpy3/acpy3_start.h>
00498 #else
00499 Void ACPY3_start(IDMA3_Handle handle);
00500 #endif
00501
00502
00529 #if defined(ACPY3_WAIT_INLINE) || defined(ACPY3_INLINE_ALL)
00530 #include <ti/sdo/fc/acpy3/acpy3_wait.h>
00531 #else
00532 Void ACPY3_wait(IDMA3_Handle handle);
00533 #endif
00534
00535
00554 Void ACPY3_waitLinked(IDMA3_Handle handle, unsigned short waitId);
00555
00556
00587 #if defined(ACPY3_COMPLETE_INLINE) || defined(ACPY3_INLINE_ALL)
00588 #include <ti/sdo/fc/acpy3/acpy3_complete.h>
00589 #else
00590 Bool ACPY3_complete(IDMA3_Handle handle);
00591 #endif
00592
00593
00621 Bool ACPY3_completeLinked(IDMA3_Handle handle, unsigned short waitId);
00622
00623
00639 Void ACPY3_activate(IDMA3_Handle handle);
00640
00641
00656 Void ACPY3_deactivate(IDMA3_Handle handle);
00657
00658
00662 Void ACPY3_init(Void);
00663
00667 Void ACPY3_exit(Void);
00668
00669
00672 #ifdef __cplusplus
00673 }
00674 #endif
00675
00676
00677 #endif
00678
00679
00680
00681
00682
00683