edma.h
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
00033
00089 #ifndef ti_sdo_linuxutils_edma_interface_edma_
00090 #define ti_sdo_linuxutils_edma_interface_edma_
00091
00092 #if defined (__cplusplus)
00093 extern "C" {
00094 #endif
00095
00098
00099 #define EDMA_VERSION 0x01100000U
00100
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113 #define EDMA_TCCANY 1001
00114 #define EDMA_TCCSYMM 1005
00115 #define EDMA_PARAMANY 1006
00116 #define EDMA_PARAMFIXEDEXACT 1007
00117 #define EDMA_PARAMFIXEDNOTEXACT 1008
00118 #define EDMA_EDMAANY 1003
00119 #define EDMA_QDMAANY 1004
00120 #define EDMA_QDMA0 512
00121
00122 #define EDMA_QDMA1 EDMA_QDMA(1)
00123 #define EDMA_QDMA2 EDMA_QDMA(2)
00124 #define EDMA_QDMA3 EDMA_QDMA(3)
00125 #define EDMA_QDMA4 EDMA_QDMA(4)
00126 #define EDMA_QDMA5 EDMA_QDMA(5)
00127 #define EDMA_QDMA6 EDMA_QDMA(6)
00128 #define EDMA_QDMA7 EDMA_QDMA(7)
00129
00137 #define EDMA_QDMA(n) (EDMA_QDMA0 + (n))
00138
00152 #define EDMA_QDMA2NUM(qdma) (qdma - EDMA_QDMA0)
00153
00157 typedef enum {
00158 EDMA_IOCREQUESTDMA = 1,
00159 EDMA_IOCRELEASEDMA,
00160 EDMA_IOCGETVERSION,
00161 EDMA_IOCGETBASEPHYSADDR,
00162 EDMA_IOCREGUSER
00163 } EDMA_commmands;
00164
00168 struct EDMA_requestDmaParams {
00169 int dev_id;
00170 int eventq_no;
00171 int tcc;
00172 int param;
00173 int nParam;
00174 int channel;
00175 };
00176
00180 struct EDMA_releaseDmaParams {
00181 int channel;
00182 int nParam;
00183 };
00184
00188 typedef enum EDMA_Status {
00189 EDMA_OK = 0,
00190 EDMA_EFAIL,
00191 EDMA_ENOCHANNEL,
00192 EDMA_ENOINIT
00193 } EDMA_Status;
00194
00195
00199 int EDMA_init(void);
00200
00204 int EDMA_exit(void);
00205
00211 EDMA_Status EDMA_mapBaseAddress(void **pvirtAddr);
00212
00248 EDMA_Status EDMA_getResource(int devId, int *tcc, int *channel, int *param,
00249 int nParams);
00250
00267 EDMA_Status EDMA_freeResource(int lch, int nParams);
00268
00276 int EDMA_getVersion(void);
00277
00293 EDMA_Status EDMA_registerResource(int lch);
00294
00310 EDMA_Status EDMA_unregister(int lch, int nParams);
00311
00314 #if defined (__cplusplus)
00315 }
00316 #endif
00317
00318 #endif
00319
00320
00321
00322