1
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
3
File: oct6100_chip_open_priv.h
5
Copyright (c) 2001-2006 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-PR43 $
30
$Octasic_Revision: 56 $
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 Oct6100ApiCopyChipConfiguration(
113
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
114
IN tPOCT6100_CHIP_OPEN f_pOpenChip );
116
UINT32 Oct6100ApiInitializeMiscellaneousVariables(
117
IN OUT tPOCT6100_INSTANCE_API f_pInstance );
119
UINT32 Oct6100ApiCalculateInstanceSizes(
120
IN OUT tPOCT6100_CHIP_OPEN f_pOpenChip,
121
OUT tPOCT6100_API_INSTANCE_SIZES f_pInstanceSizes );
123
UINT32 Oct6100ApiAllocateInstanceMemory(
124
IN OUT tPOCT6100_INSTANCE_API f_pInstance,
125
IN tPOCT6100_API_INSTANCE_SIZES f_pInstanceSizes );
127
UINT32 Oct6100ApiInitializeInstanceMemory(
128
IN OUT tPOCT6100_INSTANCE_API f_pInstance );
130
UINT32 Oct6100ApiGetChipRevisionNum(
131
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
133
UINT32 Oct6100ApiMapExternalMemory(
134
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
136
UINT32 Oct6100ApiDecodeKeyAndBist(
137
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
139
UINT32 Oct6100ApiBootFc2Pll(
140
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
142
UINT32 Oct6100ApiProgramFc1Pll(
143
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
145
UINT32 Oct6100ApiBootFc1Pll(
146
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
148
UINT32 Oct6100ApiWriteH100Registers(
149
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
151
UINT32 Oct6100ApiExternalMemoryBist(
152
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
154
UINT32 Oct6100ApiExternalMemoryInit(
155
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
157
UINT32 Oct6100ApiLoadImage(
158
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
160
UINT32 Oct6100ApiCpuRegisterBist(
161
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
163
UINT32 Oct6100ApiBootSdram(
164
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
166
UINT32 Oct6100ApiEnableClocks(
167
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
169
UINT32 Oct6100ApiProgramNLP(
170
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
172
UINT32 Oct6100ApiSetH100Register(
173
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
175
UINT32 Oct6100ApiWriteMiscellaneousRegisters(
176
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
178
UINT16 Oct6100ApiGenerateNumber(
179
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
181
IN UINT32 f_ulDataMask );
183
UINT32 Oct6100ApiRandomMemoryWrite(
184
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
185
IN UINT32 f_ulMemBase,
186
IN UINT32 f_ulMemSize,
187
IN UINT32 f_ulNumDataBits,
188
IN UINT32 f_ulNumAccesses,
189
IN UINT32 f_ulErrorCode );
191
UINT32 Oct6100ApiUserIoTest(
192
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
194
UINT32 Oct6100ApiCreateSerializeObjects(
195
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
196
IN UINT32 f_ulUserChipId );
198
UINT32 Oct6100ApiDestroySerializeObjects(
199
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
201
UINT32 Oct6100ApiRunEgo(
202
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
203
IN BOOL f_fStoreFlag,
204
IN UINT32 f_ulNumEntry,
205
OUT PUINT32 f_aulEntry );
207
UINT32 Oct6100ApiCreateEgoEntry(
208
IN OUT UINT32 f_ulExternalAddress,
209
IN UINT32 f_ulInternalAddress,
210
IN UINT32 f_ulNumBytes,
211
IN UINT32 f_aulEntry[ 2 ] );
217
UINT32 Oct6100ApiInitChannels(
218
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
220
UINT32 Oct6100ApiInitMixer(
221
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
223
UINT32 Oct6100ApiInitRecordResources(
224
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
226
UINT32 Oct6100FreeResourcesSer(
227
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
228
IN tPOCT6100_FREE_RESOURCES f_pFreeResources );
230
UINT32 Oct6100ProductionBistSer(
231
IN tPOCT6100_INSTANCE_API f_pApiInstance,
232
IN tPOCT6100_PRODUCTION_BIST f_pProductionBist );
234
UINT32 Oct6100ApiProductionCrc(
235
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
236
IN PUINT32 f_pulMessage,
237
IN UINT32 f_ulMessageLength,
238
OUT PUINT32 f_pulCrcResult );
240
UINT32 Oct6100ApiInitToneInfo(
241
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
242
#endif /* __OCT6100_CHIP_OPEN_PRIV_H__ */