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
00074 #ifndef ti_sdo_fc_ecpy_ECPY_
00075 #define ti_sdo_fc_ecpy_ECPY_
00076
00077
00078 #ifdef __cplusplus
00079 extern "C" {
00080 #endif
00081
00084
00085 #define ti_sdo_fc_ires_NOPROTOCOLREV
00086 #include <ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h>
00087
00088 #define ECPY_GTNAME "ti.sdo.fc.ecpy"
00089
00098 #define ECPY_MODNAME "ti.sdo.fc.ecpy"
00099
00100
00106 typedef enum ECPY_ParamField16b {
00107
00108 ECPY_PARAMFIELD_ELEMENTSIZE = 8,
00109 ECPY_PARAMFIELD_NUMELEMENTS = 10 ,
00110 ECPY_PARAMFIELD_ELEMENTINDEX_SRC = 16,
00111 ECPY_PARAMFIELD_ELEMENTINDEX_DST = 18,
00112 ECPY_PARAMFIELD_FRAMEINDEX_SRC = 24,
00113 ECPY_PARAMFIELD_FRAMEINDEX_DST = 26,
00114 ECPY_PARAMFIELD_NUMFRAMES = 28
00115
00116 } ECPY_ParamField16b;
00117
00123 typedef enum ECPY_ParamField32b {
00124
00125 ECPY_PARAMFIELD_SRCADDR = 4,
00126 ECPY_PARAMFIELD_DSTADDR = 12,
00127 ECPY_PARAMFIELD_ELEMENTINDEXES = 16,
00128 ECPY_PARAMFIELD_FRAMEINDEXES = 24
00129
00130 } ECPY_ParamField32b;
00131
00142 typedef enum ECPY_TransferType {
00143
00149 ECPY_1D1D,
00150
00164 ECPY_1D2D,
00165
00177 ECPY_2D1D,
00178
00190 ECPY_2D2D
00191 } ECPY_TransferType;
00192
00196 typedef struct ECPY_Obj *ECPY_Handle;
00197
00198
00203 typedef struct ECPY_Params {
00204
00206 ECPY_TransferType transferType;
00207
00209 Void * srcAddr;
00210
00212 Void * dstAddr;
00213
00215 unsigned short elementSize;
00216
00218 unsigned short numElements;
00219
00221 unsigned short numFrames ;
00222
00227 short srcElementIndex;
00228
00233 short dstElementIndex;
00234
00240 short srcFrameIndex;
00241
00247 short dstFrameIndex;
00248
00249 } ECPY_Params;
00250
00251
00274 Void ECPY_configure(ECPY_Handle handle, ECPY_Params * restrict params,
00275 short transferNo);
00276
00299 Void ECPY_directConfigure(ECPY_Handle handle, ECPY_Params * restrict params,
00300 short transferNo);
00301
00302
00339 #if defined(ECPY_CONFIGURE16) || defined(ECPY_INLINE_ALL)
00340 #include <ti/sdo/fc/ecpy/ecpy_configure16.h>
00341 #else
00342 Void ECPY_configure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00343 unsigned short value, short transferNo);
00344
00383 Void ECPY_directConfigure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00384 unsigned short value, short transferNo);
00385 #endif
00386
00424 #if defined(ECPY_CONFIGURE32_INLINE) || defined(ECPY_INLINE_ALL)
00425 #include <ti/sdo/fc/ecpy/ecpy_configure32.h>
00426 #else
00427 Void ECPY_configure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00428 unsigned int value, short transferNo);
00429
00468 Void ECPY_directConfigure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00469 unsigned int value, short transferNo);
00470 #endif
00471
00494 #if defined(ECPY_SETFINAL_INLINE) || defined(ECPY_INLINE_ALL)
00495 #include <ti/sdo/fc/ecpy/ecpy_setfinal.h>
00496 #else
00497 Void ECPY_setFinal(ECPY_Handle handle, short transferNo);
00498
00521 Void ECPY_directSetFinal(ECPY_Handle handle, short transferNo);
00522 #endif
00523
00535 Void ECPY_setDestinationMemoryMode(ECPY_Handle handle, short mode);
00536
00564 Void ECPY_start(ECPY_Handle handle);
00565
00566
00600 Void ECPY_directStartEdma(ECPY_Handle handle);
00601
00607 Void ECPY_directStartQdma(ECPY_Handle handle);
00608
00609
00636 #if defined(ECPY_WAIT_INLINE) || defined(ECPY_INLINE_ALL)
00637 #include <ti/sdo/fc/ecpy/ecpy_wait.h>
00638 #else
00639 Void ECPY_wait(ECPY_Handle handle);
00640 #endif
00641
00674 #if defined(ECPY_DIRECTWAIT_INLINE) || defined(ECPY_INLINE_ALL)
00675 #include <ti/sdo/fc/ecpy/ecpy_directwait.h>
00676 #else
00677 Void ECPY_directWait(ECPY_Handle handle);
00678 #endif
00679
00695 Void ECPY_activate(ECPY_Handle handle);
00696
00710 ECPY_Handle ECPY_createHandle(IRES_EDMA3CHAN2_Handle handle, IALG_Handle alg);
00711
00720 Void ECPY_deleteHandle(ECPY_Handle handle);
00721
00736 Void ECPY_deactivate(ECPY_Handle handle);
00737
00761 Void ECPY_setEarlyCompletionMode(ECPY_Handle ecpyHandle, short enabled);
00762
00766 Void ECPY_init(Void);
00767
00771 Void ECPY_exit(Void);
00772
00776 typedef Bool (ECPY_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs);
00777
00781 typedef Void (ECPY_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs);
00782
00783
00794 typedef struct ECPY_CfgParams {
00795
00799 ECPY_PersistentAllocFxn * allocFxn;
00800
00804 ECPY_PersistentFreeFxn * freeFxn;
00805
00806 } ECPY_CfgParams;
00807
00811 extern __FAR__ ECPY_CfgParams ECPY_CFG_PARAMS;
00812
00815 #ifdef __cplusplus
00816 }
00817 #endif
00818
00819
00820 #endif
00821
00822
00823
00824
00825
00826