1
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
3
File: oct6100_chip_open_priv.h
5
Copyright (c) 2001-2007 Octasic Inc.
9
File containing all private defines, macros, structures and prototypes
10
pertaining to the file oct6100_chip_open.c. All elements defined in this
11
file are for private usage of the API. All public elements are defined
12
in the oct6100_chip_open_pub.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: 63 $
32
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
34
#ifndef __OCT6100_CHIP_OPEN_PRIV_H__
35
#define __OCT6100_CHIP_OPEN_PRIV_H__
37
/***************************** INCLUDE FILES *******************************/
40
/***************************** DEFINES *************************************/
43
/***************************** TYPES ***************************************/
45
typedef struct _OCT6100_API_INSTANCE_SIZES_
47
/* Each of the following elements indicates the size of the instance memory */
48
/* needed by the corresponding API module. All sizes are in bytes. */
50
UINT32 ulChannelAlloc;
53
UINT32 ulTsiCnctAlloc;
55
UINT32 ulMixerEventList;
56
UINT32 ulMixerEventAlloc;
58
UINT32 ulBiDirChannelList;
59
UINT32 ulBiDirChannelAlloc;
61
UINT32 ulAdpcmChannelList;
62
UINT32 ulAdpcmChannelAlloc;
64
UINT32 ulSoftBufPlayoutEventsBuffer;
66
UINT32 ulCopyEventList;
67
UINT32 ulCopyEventAlloc;
69
UINT32 ulConfBridgeList;
70
UINT32 ulConfBridgeAlloc;
72
UINT32 ulFlexConfParticipantsList;
73
UINT32 ulFlexConfParticipantsAlloc;
75
UINT32 ulPlayoutBufList;
76
UINT32 ulPlayoutBufAlloc;
77
UINT32 ulPlayoutBufMemoryNodeList;
81
UINT32 ulSoftToneEventsBuffer;
83
UINT32 ulPhasingTsstList;
84
UINT32 ulPhasingTsstAlloc;
86
UINT32 ulConversionMemoryAlloc;
88
UINT32 ulTsiMemoryAlloc;
91
UINT32 ulTsstEntryList;
92
UINT32 ulTsstEntryAlloc;
94
UINT32 ulRemoteDebugList;
95
UINT32 ulRemoteDebugTree;
96
UINT32 ulRemoteDebugPktCache;
97
UINT32 ulRemoteDebugDataBuf;
99
/* Memory consumed by static members of API instance. */
100
UINT32 ulApiInstStatic;
102
/* Total memory size for API instance. */
103
UINT32 ulApiInstTotal;
105
} tOCT6100_API_INSTANCE_SIZES, *tPOCT6100_API_INSTANCE_SIZES;
107
/************************** FUNCTION PROTOTYPES *****************************/
109
UINT32 Oct6100ApiCheckChipConfiguration(
110
IN tPOCT6100_CHIP_OPEN f_pOpenChip );
112
UINT32 Oct6100ApiCheckImageFileHeader(
113
IN tPOCT6100_CHIP_OPEN f_pChipOpen );
115
UINT32 Oct6100ApiCopyChipConfiguration(
116
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
117
IN tPOCT6100_CHIP_OPEN f_pOpenChip );
119
UINT32 Oct6100ApiInitializeMiscellaneousVariables(
120
IN OUT tPOCT6100_INSTANCE_API f_pInstance );
122
UINT32 Oct6100ApiCalculateInstanceSizes(
123
IN OUT tPOCT6100_CHIP_OPEN f_pOpenChip,
124
OUT tPOCT6100_API_INSTANCE_SIZES f_pInstanceSizes );
126
UINT32 Oct6100ApiAllocateInstanceMemory(
127
IN OUT tPOCT6100_INSTANCE_API f_pInstance,
128
IN tPOCT6100_API_INSTANCE_SIZES f_pInstanceSizes );
130
UINT32 Oct6100ApiInitializeInstanceMemory(
131
IN OUT tPOCT6100_INSTANCE_API f_pInstance );
133
UINT32 Oct6100ApiGetChipRevisionNum(
134
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
136
UINT32 Oct6100ApiMapExternalMemory(
137
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
139
UINT32 Oct6100ApiDecodeKeyAndBist(
140
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
142
UINT32 Oct6100ApiBootFc2Pll(
143
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
145
UINT32 Oct6100ApiProgramFc1Pll(
146
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
148
UINT32 Oct6100ApiBootFc1Pll(
149
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
151
UINT32 Oct6100ApiWriteH100Registers(
152
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
154
UINT32 Oct6100ApiExternalMemoryBist(
155
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
157
UINT32 Oct6100ApiExternalMemoryInit(
158
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
160
UINT32 Oct6100ApiLoadImage(
161
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
163
UINT32 Oct6100ApiCpuRegisterBist(
164
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
166
UINT32 Oct6100ApiBootSdram(
167
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
169
UINT32 Oct6100ApiEnableClocks(
170
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
172
UINT32 Oct6100ApiProgramNLP(
173
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
175
UINT32 Oct6100ApiSetH100Register(
176
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
178
UINT32 Oct6100ApiWriteMiscellaneousRegisters(
179
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
181
UINT16 Oct6100ApiGenerateNumber(
182
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
184
IN UINT32 f_ulDataMask );
186
UINT32 Oct6100ApiRandomMemoryWrite(
187
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
188
IN UINT32 f_ulMemBase,
189
IN UINT32 f_ulMemSize,
190
IN UINT32 f_ulNumDataBits,
191
IN UINT32 f_ulNumAccesses,
192
IN UINT32 f_ulErrorCode );
194
UINT32 Oct6100ApiUserIoTest(
195
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
197
UINT32 Oct6100ApiCreateSerializeObjects(
198
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
199
IN UINT32 f_ulUserChipId );
201
UINT32 Oct6100ApiDestroySerializeObjects(
202
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
204
UINT32 Oct6100ApiRunEgo(
205
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
206
IN BOOL f_fStoreFlag,
207
IN UINT32 f_ulNumEntry,
208
OUT PUINT32 f_aulEntry );
210
UINT32 Oct6100ApiCreateEgoEntry(
211
IN OUT UINT32 f_ulExternalAddress,
212
IN UINT32 f_ulInternalAddress,
213
IN UINT32 f_ulNumBytes,
214
IN UINT32 f_aulEntry[ 2 ] );
220
UINT32 Oct6100ApiInitChannels(
221
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
223
UINT32 Oct6100ApiInitMixer(
224
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
226
UINT32 Oct6100ApiInitRecordResources(
227
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
229
UINT32 Oct6100FreeResourcesSer(
230
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
231
IN tPOCT6100_FREE_RESOURCES f_pFreeResources );
233
UINT32 Oct6100ProductionBistSer(
234
IN tPOCT6100_INSTANCE_API f_pApiInstance,
235
IN tPOCT6100_PRODUCTION_BIST f_pProductionBist );
237
UINT32 Oct6100ApiProductionCrc(
238
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
239
IN PUINT32 f_pulMessage,
240
IN UINT32 f_ulMessageLength,
241
OUT PUINT32 f_pulCrcResult );
243
UINT32 Oct6100ApiReadCapacity(
244
IN tPOCT6100_INSTANCE_API f_pApiInstance,
245
IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins );
247
UINT32 Oct6100ApiCpuRegisterBistReadCap(
248
IN tPOCT6100_INSTANCE_API f_pApiInstance,
249
IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins );
251
UINT32 Oct6100ApiBootFc2PllReadCap(
252
IN tPOCT6100_INSTANCE_API f_pApiInstance,
253
IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins );
255
UINT32 Oct6100ApiProgramFc1PllReadCap(
256
IN tPOCT6100_INSTANCE_API f_pApiInstance,
257
IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins );
259
UINT32 Oct6100ApiInitToneInfo(
260
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
262
UINT32 Oct6100ApiClearInterrupts(
263
IN tPOCT6100_INSTANCE_API f_pApiInstance );
264
#endif /* __OCT6100_CHIP_OPEN_PRIV_H__ */