1
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
3
File: oct6100_chip_open_pub.h
5
Copyright (c) 2001-2007 Octasic Inc.
9
File containing all defines, macros, and structures pertaining to the file
10
oct6100_chip_open.c. All elements defined in this file are for public
11
usage of the API. All private elements are defined in the
12
oct6100_chip_open_priv.h file.
14
This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API is
15
free software; you can redistribute it and/or modify it under the terms of
16
the GNU General Public License as published by the Free Software Foundation;
17
either version 2 of the License, or (at your option) any later version.
19
The OCT6100 GPL API is distributed in the hope that it will be useful, but
20
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24
You should have received a copy of the GNU General Public License
25
along with the OCT6100 GPL API; if not, write to the Free Software
26
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
28
$Octasic_Release: OCT612xAPI-01.00-PR49 $
30
$Octasic_Revision: 54 $
32
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
34
#ifndef __OCT6100_CHIP_OPEN_PUB_H__
35
#define __OCT6100_CHIP_OPEN_PUB_H__
37
/***************************** INCLUDE FILES *******************************/
40
/***************************** DEFINES *************************************/
43
/***************************** TYPES ***************************************/
45
typedef struct _OCT6100_CHIP_OPEN_
48
BOOL fMultiProcessSystem;
49
PVOID pProcessContext;
51
UINT32 ulMaxRwAccesses;
53
unsigned char const *pbyImageFile; /* Byte pointer to the image file to be uploaded into the chip. */
54
UINT32 ulImageSize; /* Size of the image file (in bytes). */
56
UINT32 ulMemClkFreq; /* 10 - 133.3 MHz. */
57
UINT32 ulUpclkFreq; /* 1 - 66.6 MHz. */
58
BOOL fEnableMemClkOut;
60
UINT32 ulMemoryType; /* SDRAM or DDR type external memory. */
61
UINT32 ulNumMemoryChips; /* Number of memory chips present. */
62
UINT32 ulMemoryChipSize; /* The size of the memory chips. */
64
UINT32 ulTailDisplacement; /* Tail displacement supported by the chip. */
66
BOOL fEnableAcousticEcho;/* Acoustic echo cancellation enabled. */
68
/* Resource allocation parameters. */
71
UINT32 ulMaxBiDirChannels;
72
UINT32 ulMaxConfBridges;
73
UINT32 ulMaxFlexibleConfParticipants;
74
UINT32 ulMaxPlayoutBuffers;
77
UINT32 ulMaxPhasingTssts;
78
UINT32 ulMaxAdpcmChannels;
79
BOOL fUseSynchTimestamp;
80
UINT32 aulTimestampTimeslots[ 4 ];
81
UINT32 aulTimestampStreams[ 4 ];
82
UINT32 ulInterruptPolarity;
83
tOCT6100_INTERRUPT_CONFIGURE InterruptConfig;
85
UINT32 aulTdmStreamFreqs[ cOCT6100_TDM_STREAM_MAX_GROUPS ];
86
UINT32 ulMaxTdmStreams;
89
BOOL fEnableFastH100Mode;
91
UINT32 ulSoftToneEventsBufSize; /* In events. */
92
BOOL fEnableExtToneDetection;
93
BOOL fEnable2100StopEvent;
96
UINT32 ulSoftBufferPlayoutEventsBufSize; /* In events. */
97
UINT32 ulMaxRemoteDebugSessions;
99
BOOL fEnableChannelRecording;
101
BOOL fEnableProductionBist;
102
UINT32 ulProductionBistMode;
103
UINT32 ulNumProductionBistLoops;
105
} tOCT6100_CHIP_OPEN, *tPOCT6100_CHIP_OPEN;
107
typedef struct _OCT6100_GET_INSTANCE_SIZE_
109
UINT32 ulApiInstanceSize;
111
} tOCT6100_GET_INSTANCE_SIZE, *tPOCT6100_GET_INSTANCE_SIZE;
113
typedef struct _OCT6100_CHIP_CLOSE_
115
UINT32 ulDummyVariable;
117
} tOCT6100_CHIP_CLOSE, *tPOCT6100_CHIP_CLOSE;
119
typedef struct _OCT6100_CREATE_LOCAL_INSTANCE_
121
tPOCT6100_INSTANCE_API pApiInstShared;
122
tPOCT6100_INSTANCE_API pApiInstLocal;
123
PVOID pProcessContext;
126
} tOCT6100_CREATE_LOCAL_INSTANCE, *tPOCT6100_CREATE_LOCAL_INSTANCE;
128
typedef struct _OCT6100_DESTROY_LOCAL_INSTANCE_
132
} tOCT6100_DESTROY_LOCAL_INSTANCE, *tPOCT6100_DESTROY_LOCAL_INSTANCE;
134
typedef struct _OCT6100_GET_HW_REVISION_
137
PVOID pProcessContext;
138
UINT32 ulRevisionNum;
140
} tOCT6100_GET_HW_REVISION, *tPOCT6100_GET_HW_REVISION;
142
typedef struct _OCT6100_FREE_RESOURCES_
144
BOOL fFreeTsiConnections;
145
BOOL fFreeConferenceBridges;
146
BOOL fFreePlayoutBuffers;
147
BOOL fFreePhasingTssts;
148
BOOL fFreeAdpcmChannels;
150
} tOCT6100_FREE_RESOURCES, *tPOCT6100_FREE_RESOURCES;
152
typedef struct _OCT6100_PRODUCTION_BIST_
154
UINT32 ulCurrentAddress;
155
UINT32 ulCurrentLoop;
156
UINT32 ulCurrentTest;
158
UINT32 ulFailedAddress;
160
UINT32 ulExpectedValue;
162
} tOCT6100_PRODUCTION_BIST, *tPOCT6100_PRODUCTION_BIST;
164
typedef struct _OCT6100_API_GET_VERSION_
166
UINT8 achApiVersion[ cOCT6100_API_VERSION_STRING_LENGTH ];
168
} tOCT6100_API_GET_VERSION, *tPOCT6100_API_GET_VERSION;
170
typedef struct _OCT6100_API_GET_CAPACITY_PINS_
173
PVOID pProcessContext;
174
UINT32 ulMemoryType; /* SDRAM or DDR type external memory. */
175
BOOL fEnableMemClkOut;
177
UINT32 ulCapacityValue;
178
} tOCT6100_API_GET_CAPACITY_PINS, *tPOCT6100_API_GET_CAPACITY_PINS;
180
/************************** FUNCTION PROTOTYPES *****************************/
182
UINT32 Oct6100ChipOpenDef(
183
OUT tPOCT6100_CHIP_OPEN f_pChipOpen );
184
UINT32 Oct6100ChipOpen(
185
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
186
IN OUT tPOCT6100_CHIP_OPEN f_pChipOpen );
188
UINT32 Oct6100ChipCloseDef(
189
OUT tPOCT6100_CHIP_CLOSE f_pChipClose );
190
UINT32 Oct6100ChipClose(
191
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
192
IN OUT tPOCT6100_CHIP_CLOSE f_pChipClose );
194
UINT32 Oct6100GetInstanceSizeDef(
195
OUT tPOCT6100_GET_INSTANCE_SIZE f_pInstanceSize );
196
UINT32 Oct6100GetInstanceSize(
197
IN OUT tPOCT6100_CHIP_OPEN f_pChipOpen,
198
IN OUT tPOCT6100_GET_INSTANCE_SIZE f_pInstanceSize );
200
UINT32 Oct6100CreateLocalInstanceDef(
201
OUT tPOCT6100_CREATE_LOCAL_INSTANCE f_pCreateLocal );
202
UINT32 Oct6100CreateLocalInstance(
203
IN OUT tPOCT6100_CREATE_LOCAL_INSTANCE f_pCreateLocal );
205
UINT32 Oct6100DestroyLocalInstanceDef(
206
OUT tPOCT6100_DESTROY_LOCAL_INSTANCE f_pDestroyLocal );
207
UINT32 Oct6100DestroyLocalInstance(
208
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
209
IN OUT tPOCT6100_DESTROY_LOCAL_INSTANCE f_pDestroyLocal );
211
UINT32 Oct6100ApiGetVersionDef(
212
OUT tPOCT6100_API_GET_VERSION f_pApiGetVersion );
213
UINT32 Oct6100ApiGetVersion(
214
IN OUT tPOCT6100_API_GET_VERSION f_pApiGetVersion );
216
UINT32 Oct6100GetHwRevisionDef(
217
OUT tPOCT6100_GET_HW_REVISION f_pRevision );
218
UINT32 Oct6100GetHwRevision(
219
IN OUT tPOCT6100_GET_HW_REVISION f_pRevision );
221
UINT32 Oct6100FreeResourcesDef(
222
OUT tPOCT6100_FREE_RESOURCES f_pFreeResources );
223
UINT32 Oct6100FreeResources(
224
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
225
IN OUT tPOCT6100_FREE_RESOURCES f_pFreeResources );
227
UINT32 Oct6100ProductionBistDef(
228
OUT tPOCT6100_PRODUCTION_BIST f_pProductionBist );
229
UINT32 Oct6100ProductionBist(
230
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
231
IN OUT tPOCT6100_PRODUCTION_BIST f_pProductionBist );
233
UINT32 Oct6100ApiGetCapacityPinsDef(
234
tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins);
236
UINT32 Oct6100ApiGetCapacityPins(
237
tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins );
240
#endif /* __OCT6100_CHIP_OPEN_PUB_H__ */