Framework Components Application Programming Interface (API)  fc-u06
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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
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 
115 
117 
123 typedef enum ECPY_ParamField32b {
124 
129 
131 
142 typedef enum ECPY_TransferType {
143 
150 
165 
178 
192 
196 typedef struct ECPY_Obj *ECPY_Handle;
197 
198 
203 typedef struct ECPY_Params {
204 
207 
209  Void * srcAddr;
210 
212  Void * dstAddr;
213 
215  unsigned short elementSize;
216 
218  unsigned short numElements;
219 
221  unsigned short numFrames ;
222 
228 
234 
241 
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 
880 
881 
892 typedef struct ECPY_CfgParams {
893 
898 
903 
909 
915 
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