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
00076 #ifndef ti_sdo_fc_ecpy_ECPY_
00077 #define ti_sdo_fc_ecpy_ECPY_
00078
00079
00080 #ifdef __cplusplus
00081 extern "C" {
00082 #endif
00083
00086
00087 #define ti_sdo_fc_ires_NOPROTOCOLREV
00088 #include <ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h>
00089
00090 #define ECPY_GTNAME "ti.sdo.fc.ecpy"
00091
00100 #define ECPY_MODNAME "ti.sdo.fc.ecpy"
00101
00102
00108 typedef enum ECPY_ParamField16b {
00109
00110 ECPY_PARAMFIELD_ELEMENTSIZE = 8,
00111 ECPY_PARAMFIELD_NUMELEMENTS = 10 ,
00112 ECPY_PARAMFIELD_ELEMENTINDEX_SRC = 16,
00113 ECPY_PARAMFIELD_ELEMENTINDEX_DST = 18,
00114 ECPY_PARAMFIELD_FRAMEINDEX_SRC = 24,
00115 ECPY_PARAMFIELD_FRAMEINDEX_DST = 26,
00116 ECPY_PARAMFIELD_NUMFRAMES = 28
00117
00118 } ECPY_ParamField16b;
00119
00125 typedef enum ECPY_ParamField32b {
00126
00127 ECPY_PARAMFIELD_SRCADDR = 4,
00128 ECPY_PARAMFIELD_DSTADDR = 12,
00129 ECPY_PARAMFIELD_ELEMENTINDEXES = 16,
00130 ECPY_PARAMFIELD_FRAMEINDEXES = 24
00131
00132 } ECPY_ParamField32b;
00133
00144 typedef enum ECPY_TransferType {
00145
00151 ECPY_1D1D,
00152
00166 ECPY_1D2D,
00167
00179 ECPY_2D1D,
00180
00192 ECPY_2D2D
00193 } ECPY_TransferType;
00194
00198 typedef struct ECPY_Obj *ECPY_Handle;
00199
00200
00205 typedef struct ECPY_Params {
00206
00208 ECPY_TransferType transferType;
00209
00211 Void * srcAddr;
00212
00214 Void * dstAddr;
00215
00217 unsigned short elementSize;
00218
00220 unsigned short numElements;
00221
00223 unsigned short numFrames ;
00224
00229 short srcElementIndex;
00230
00235 short dstElementIndex;
00236
00242 short srcFrameIndex;
00243
00249 short dstFrameIndex;
00250
00251 } ECPY_Params;
00252
00253
00272 Void ECPY_configure(ECPY_Handle handle, ECPY_Params * restrict params,
00273 short transferNo);
00274
00294 Void ECPY_directConfigure(ECPY_Handle handle, ECPY_Params * restrict params,
00295 short transferNo);
00296
00297
00334 #if defined(ECPY_CONFIGURE16) || defined(ECPY_INLINE_ALL)
00335 #include <ti/sdo/fc/ecpy/ecpy_configure16.h>
00336 #else
00337 Void ECPY_configure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00338 unsigned short value, short transferNo);
00339
00378 Void ECPY_directConfigure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00379 unsigned short value, short transferNo);
00380 #endif
00381
00419 #if defined(ECPY_CONFIGURE32_INLINE) || defined(ECPY_INLINE_ALL)
00420 #include <ti/sdo/fc/ecpy/ecpy_configure32.h>
00421 #else
00422 Void ECPY_configure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00423 unsigned int value, short transferNo);
00424
00463 Void ECPY_directConfigure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00464 unsigned int value, short transferNo);
00465 #endif
00466
00489 #if defined(ECPY_SETFINAL_INLINE) || defined(ECPY_INLINE_ALL)
00490 #include <ti/sdo/fc/ecpy/ecpy_setfinal.h>
00491 #else
00492 Void ECPY_setFinal(ECPY_Handle handle, short transferNo);
00493
00516 Void ECPY_directSetFinal(ECPY_Handle handle, short transferNo);
00517 #endif
00518
00530 Void ECPY_setDestinationMemoryMode(ECPY_Handle handle, short mode);
00531
00559 Void ECPY_start(ECPY_Handle handle);
00560
00561
00593 Void ECPY_directStartEdma(ECPY_Handle handle);
00594
00598 Void ECPY_directStartQdma(ECPY_Handle handle);
00599
00600
00627 #if defined(ECPY_WAIT_INLINE) || defined(ECPY_INLINE_ALL)
00628 #include <ti/sdo/fc/ecpy/ecpy_wait.h>
00629 #else
00630 Void ECPY_wait(ECPY_Handle handle);
00631 #endif
00632
00665 #if defined(ECPY_DIRECTWAIT_INLINE) || defined(ECPY_INLINE_ALL)
00666 #include <ti/sdo/fc/ecpy/ecpy_directwait.h>
00667 #else
00668 Void ECPY_directWait(ECPY_Handle handle);
00669 #endif
00670
00686 Void ECPY_activate(ECPY_Handle handle);
00687
00697 ECPY_Handle ECPY_createHandle(IRES_EDMA3CHAN2_Handle handle, IALG_Handle alg);
00698
00707 Void ECPY_deleteHandle(ECPY_Handle handle);
00708
00723 Void ECPY_deactivate(ECPY_Handle handle);
00724
00725
00729 Void ECPY_init(Void);
00730
00734 Void ECPY_exit(Void);
00735
00739 typedef Bool (ECPY_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs);
00740
00744 typedef Void (ECPY_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs);
00745
00746
00757 typedef struct ECPY_CfgParams {
00758
00762 ECPY_PersistentAllocFxn * allocFxn;
00763
00767 ECPY_PersistentFreeFxn * freeFxn;
00768
00769 } ECPY_CfgParams;
00770
00774 extern __FAR__ ECPY_CfgParams ECPY_CFG_PARAMS;
00775
00778 #ifdef __cplusplus
00779 }
00780 #endif
00781
00782
00783 #endif
00784
00785
00786
00787
00788
00789