Framework Components Application Programming Interface (API)
fc-u06
Main Page
Modules
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
packages
ti
sdo
fc
ecpy
ecpy.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012, Texas Instruments Incorporated
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* * Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* * Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* * Neither the name of Texas Instruments Incorporated nor the names of
17
* its contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*
32
*/
74
#ifndef ti_sdo_fc_ecpy_ECPY_
75
#define ti_sdo_fc_ecpy_ECPY_
76
77
78
#ifdef __cplusplus
79
extern
"C"
{
80
#endif
81
84
85
#define ti_sdo_fc_ires_NOPROTOCOLREV
86
#include <
ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h
>
87
88
#define ECPY_GTNAME "ti.sdo.fc.ecpy"
89
98
#define ECPY_MODNAME "ti.sdo.fc.ecpy"
99
100
106
typedef
enum
ECPY_ParamField16b
{
107
108
ECPY_PARAMFIELD_ELEMENTSIZE
= 8,
109
ECPY_PARAMFIELD_NUMELEMENTS
= 10 ,
110
ECPY_PARAMFIELD_ELEMENTINDEX_SRC
= 16,
111
ECPY_PARAMFIELD_ELEMENTINDEX_DST
= 18,
112
ECPY_PARAMFIELD_FRAMEINDEX_SRC
= 24,
113
ECPY_PARAMFIELD_FRAMEINDEX_DST
= 26,
114
ECPY_PARAMFIELD_NUMFRAMES
= 28
115
116
}
ECPY_ParamField16b
;
117
123
typedef
enum
ECPY_ParamField32b
{
124
125
ECPY_PARAMFIELD_SRCADDR
= 4,
126
ECPY_PARAMFIELD_DSTADDR
= 12,
127
ECPY_PARAMFIELD_ELEMENTINDEXES
= 16,
128
ECPY_PARAMFIELD_FRAMEINDEXES
= 24
129
130
}
ECPY_ParamField32b
;
131
142
typedef
enum
ECPY_TransferType
{
143
149
ECPY_1D1D
,
150
164
ECPY_1D2D
,
165
177
ECPY_2D1D
,
178
190
ECPY_2D2D
191
}
ECPY_TransferType
;
192
196
typedef
struct
ECPY_Obj *
ECPY_Handle
;
197
198
203
typedef
struct
ECPY_Params
{
204
206
ECPY_TransferType
transferType
;
207
209
Void *
srcAddr
;
210
212
Void *
dstAddr
;
213
215
unsigned
short
elementSize
;
216
218
unsigned
short
numElements
;
219
221
unsigned
short
numFrames
;
222
227
short
srcElementIndex
;
228
233
short
dstElementIndex
;
234
240
short
srcFrameIndex
;
241
247
short
dstFrameIndex
;
248
249
}
ECPY_Params
;
250
251
283
#if defined(ECPY_CONFIGURE_INLINE) || defined(ECPY_INLINE_ALL)
284
#include <ti/sdo/fc/ecpy/ecpy_configure.h>
285
#else
286
Void
ECPY_configure
(ECPY_Handle handle,
ECPY_Params
* restrict params,
287
short
transferNo);
288
#endif
289
321
#if defined(ECPY_DIRECTCONFIGURE_INLINE) || defined(ECPY_INLINE_ALL)
322
#include <ti/sdo/fc/ecpy/ecpy_directconfigure.h>
323
#else
324
Void
ECPY_directConfigure
(ECPY_Handle handle,
ECPY_Params
* restrict params,
325
short
transferNo);
326
#endif
327
328
365
#if defined(ECPY_CONFIGURE16_INLINE) || defined(ECPY_INLINE_ALL)
366
#include <ti/sdo/fc/ecpy/ecpy_configure16.h>
367
#else
368
Void
ECPY_configure16
(ECPY_Handle handle,
ECPY_ParamField16b
fieldId,
369
unsigned
short
value,
short
transferNo);
370
#endif
371
410
#if defined(ECPY_DIRECTCONFIGURE16_INLINE) || defined(ECPY_INLINE_ALL)
411
#include <ti/sdo/fc/ecpy/ecpy_directconfigure16.h>
412
#else
413
Void
ECPY_directConfigure16
(ECPY_Handle handle,
ECPY_ParamField16b
fieldId,
414
unsigned
short
value,
short
transferNo);
415
#endif
416
454
#if defined(ECPY_CONFIGURE32_INLINE) || defined(ECPY_INLINE_ALL)
455
#include <ti/sdo/fc/ecpy/ecpy_configure32.h>
456
#else
457
Void
ECPY_configure32
(ECPY_Handle handle,
ECPY_ParamField32b
fieldId,
458
unsigned
int
value,
short
transferNo);
459
#endif
460
499
#if defined(ECPY_DIRECTCONFIGURE32_INLINE) || defined(ECPY_INLINE_ALL)
500
#include <ti/sdo/fc/ecpy/ecpy_directconfigure32.h>
501
#else
502
Void
ECPY_directConfigure32
(ECPY_Handle handle,
ECPY_ParamField32b
fieldId,
503
unsigned
int
value,
short
transferNo);
504
#endif
505
537
#if defined(ECPY_SETFINAL_INLINE) || defined(ECPY_INLINE_ALL)
538
#include <ti/sdo/fc/ecpy/ecpy_setfinal.h>
539
#else
540
Void
ECPY_setFinal
(ECPY_Handle handle,
short
transferNo);
541
#endif
542
574
#if defined(ECPY_DIRECTSETFINAL_INLINE) || defined(ECPY_INLINE_ALL)
575
#include <ti/sdo/fc/ecpy/ecpy_directsetfinal.h>
576
#else
577
Void
ECPY_directSetFinal
(ECPY_Handle handle,
short
transferNo);
578
#endif
579
591
Void
ECPY_setDestinationMemoryMode
(ECPY_Handle handle,
short
mode);
592
629
#if defined(ECPY_START_INLINE) || defined(ECPY_INLINE_ALL)
630
#include <ti/sdo/fc/ecpy/ecpy_start.h>
631
#else
632
Void
ECPY_start
(ECPY_Handle handle);
633
#endif
634
635
678
#if defined(ECPY_DIRECTSTARTEDMA_INLINE) || defined(ECPY_INLINE_ALL)
679
#include <ti/sdo/fc/ecpy/ecpy_directstartedma.h>
680
#else
681
Void
ECPY_directStartEdma
(ECPY_Handle handle);
682
#endif
683
687
Void
ECPY_directStartQdma
(ECPY_Handle handle);
688
689
716
#if defined(ECPY_WAIT_INLINE) || defined(ECPY_INLINE_ALL)
717
#include <ti/sdo/fc/ecpy/ecpy_wait.h>
718
#else
719
Void
ECPY_wait
(ECPY_Handle handle);
720
#endif
721
754
#if defined(ECPY_DIRECTWAIT_INLINE) || defined(ECPY_INLINE_ALL)
755
#include <ti/sdo/fc/ecpy/ecpy_directwait.h>
756
#else
757
Void
ECPY_directWait
(ECPY_Handle handle);
758
#endif
759
775
Void
ECPY_activate
(ECPY_Handle handle);
776
790
ECPY_Handle
ECPY_createHandle
(
IRES_EDMA3CHAN2_Handle
handle,
IALG_Handle
alg);
791
800
Void
ECPY_deleteHandle
(ECPY_Handle handle);
801
816
Void
ECPY_deactivate
(ECPY_Handle handle);
817
841
Void
ECPY_setEarlyCompletionMode
(ECPY_Handle handle,
short
enabled);
842
846
Void
ECPY_init
(Void);
847
851
Void
ECPY_exit
(Void);
852
856
typedef
Bool (
ECPY_PersistentAllocFxn
)(
IALG_MemRec
*memTab, Int numRecs);
857
861
typedef
Void (
ECPY_PersistentFreeFxn
)(
IALG_MemRec
*memTab, Int numRecs);
862
867
typedef
Bool (
ECPY_ScratchAllocFxn
)(
IALG_Handle
alg, Int scratchId,
868
IALG_MemRec
*memTab, Int numRecs);
873
typedef
Void (
ECPY_ScratchFreeFxn
)(Int mutexId, Void *addr, UInt size);
874
879
typedef
Int (
ECPY_getScratchIdFxn
)(
IALG_Handle
alg);
880
881
892
typedef
struct
ECPY_CfgParams
{
893
897
ECPY_PersistentAllocFxn
*
allocFxn
;
898
902
ECPY_PersistentFreeFxn
*
freeFxn
;
903
908
ECPY_ScratchAllocFxn
*
scratchAllocFxn
;
909
914
ECPY_ScratchFreeFxn
*
scratchFreeFxn
;
915
920
ECPY_getScratchIdFxn
*
getScratchIdFxn
;
921
}
ECPY_CfgParams
;
922
926
extern
__FAR__
ECPY_CfgParams
ECPY_CFG_PARAMS
;
927
930
#ifdef __cplusplus
931
}
932
#endif
/* extern "C" */
933
934
935
#endif
/* ti_sdo_fc_ecpy_ECPY_ */
Copyright 2014, Texas Instruments Incorporated