summaryrefslogtreecommitdiff
path: root/software/include/oct6100api/oct6100_chip_open_inst.h
diff options
context:
space:
mode:
Diffstat (limited to 'software/include/oct6100api/oct6100_chip_open_inst.h')
-rw-r--r--software/include/oct6100api/oct6100_chip_open_inst.h511
1 files changed, 511 insertions, 0 deletions
diff --git a/software/include/oct6100api/oct6100_chip_open_inst.h b/software/include/oct6100api/oct6100_chip_open_inst.h
new file mode 100644
index 0000000..f1ee150
--- /dev/null
+++ b/software/include/oct6100api/oct6100_chip_open_inst.h
@@ -0,0 +1,511 @@
+/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
+
+File: oct6100_chip_open_inst.h
+
+ Copyright (c) 2001-2005 Octasic Inc.
+
+Description:
+
+ File containing all defines, macros, and structures pertaining to the file
+ oct6100_chip_open.c. All elements defined in this file are for public
+ usage of the API. All private elements are defined in the
+ oct6100_chip_open_priv.h file.
+
+This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API is
+free software; you can redistribute it and/or modify it under the terms of
+the GNU General Public License as published by the Free Software Foundation;
+either version 2 of the License, or (at your option) any later version.
+
+The OCT6100 GPL API is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with the OCT6100 GPL API; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+$Octasic_Release: OCT612xAPI-01.00-PR38 $
+
+$Octasic_Revision: 116 $
+
+\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
+
+#ifndef __OCT6100_CHIP_OPEN_INST_H__
+#define __OCT6100_CHIP_OPEN_INST_H__
+
+/***************************** INCLUDE FILES *******************************/
+
+/***************************** DEFINES *************************************/
+
+/***************************** TYPES ***************************************/
+
+typedef struct _OCT6100_API_CHIP_CONFIG_
+{
+ UINT32 ulUserChipId;
+ PVOID pProcessContext;
+
+ PUINT8 pbyImageFile; /* Byte pointer to the image file to be uploaded into the chip. */
+ UINT32 ulImageSize; /* Size of the image file (in bytes). */
+
+ UINT32 ulMemClkFreq;
+ UINT32 ulUpclkFreq; /* 33.33 or 66.66 MHz. */
+ UINT8 fEnableMemClkOut; /* TRUE/FALSE */
+
+ UINT8 fMultiProcessSystem;
+
+ UINT8 byMemoryType; /* SDRAM or DDR */
+ UINT8 byNumMemoryChips; /* Number of memory chips present. */
+ UINT32 ulMemoryChipSize; /* The size of the memory chips. */
+
+ UINT16 usMaxRwAccesses;
+ UINT16 usTailDisplacement;
+
+ /* Resource allocation parameters. */
+ UINT16 usMaxChannels;
+ UINT16 usMaxBiDirChannels;
+
+ UINT32 aulTdmStreamFreqs[ cOCT6100_TDM_STREAM_MAX_GROUPS ];
+
+ UINT8 byMaxTdmStreams;
+ UINT8 byTdmSampling;
+
+ UINT8 fEnableFastH100Mode;
+ UINT8 fEnableAcousticEcho; /* Acoustic echo enabled. */
+
+ UINT16 ausTimestampTimeslots[ 4 ];
+ UINT16 ausTimestampStreams[ 4 ];
+
+ UINT8 fUseSynchTimestamp;
+
+ /* Debug feature used to record stream information from a channel.*/
+ UINT8 fEnableChannelRecording;
+
+ UINT16 usMaxRemoteDebugSessions;
+
+ UINT8 byInterruptPolarity;
+
+ UINT16 usMaxTsiCncts;
+
+ UINT8 fEnableExtToneDetection;
+
+
+ UINT16 usMaxConfBridges;
+ UINT16 usMaxFlexibleConfParticipants;
+ UINT16 usMaxPlayoutBuffers;
+
+ /* Playout event software buffer size. */
+ UINT32 ulSoftBufPlayoutEventsBufSize;
+
+ /* Soft buffer size. */
+ UINT32 ulSoftToneEventsBufSize;
+
+ UINT16 usMaxPhasingTssts;
+ UINT16 usMaxAdpcmChannels;
+
+
+
+
+
+ UINT8 fEnableProductionBist;
+ UINT32 ulNumProductionBistLoops;
+
+} tOCT6100_API_CHIP_CONFIG, *tPOCT6100_API_CHIP_CONFIG;
+
+
+typedef struct _OCT6100_API_MISCELLANEOUS_
+{
+ /* Total size of external memories. */
+ UINT32 ulTotalMemSize;
+
+ UINT32 ulH100SlaveMode;
+
+ /* Mclk frequency generated by the chip. */
+ UINT32 ulMclkFreq;
+
+ /* Array of UINT32s used to perform a burst of writes (avoids having to
+ allocate on the stack. The size of this array MUST NOT CHANGE (it's
+ used everywhere). */
+ UINT16 ausSuperArray[ cOCT6100_INTERNAL_SUPER_ARRAY_SIZE ];
+ UINT16 ausSuperArray1[ cOCT6100_INTERNAL_SUPER_ARRAY_SIZE ];
+ UINT16 ausSuperArray2[ cOCT6100_INTERNAL_SUPER_ARRAY_SIZE ];
+
+ /* Chip ID and revision.*/
+ UINT16 usChipId;
+ UINT16 usChipRevision;
+
+ /* Lsu CPU access variables.*/
+ UINT16 usCpuLsuWritePtr;
+ UINT16 usCodepoint;
+
+ /* Max number of channel supported.*/
+ UINT16 usMaxNumberOfChannels;
+ UINT16 usMaxH100Speed;
+ UINT16 usTdmClkBoundary;
+
+ UINT16 usNumBridgesOpened;
+ UINT16 usFirstBridge;
+
+
+
+
+
+} tOCT6100_API_MISCELLANEOUS, *tPOCT6100_API_MISCELLANEOUS;
+
+typedef struct _OCT6100_API_MEMORY_MAP_
+{
+ /*-----------------------------------------------------------------------------*/
+ /* Structure contained in external memory. */
+
+ /* Memory mapping filled using TLV information from the chip. */
+
+ /* Main channel memory. */
+ UINT32 ulChanMainMemBase;
+ UINT32 ulChanMainMemSize;
+
+ UINT32 ulChanMainIoMemOfst;
+
+ UINT32 ulChanMainRinCBMemOfst;
+ UINT32 ulChanMainRinCBMemSize;
+ UINT32 ulChanMainSinCBMemOfst;
+ UINT32 ulChanMainSinCBMemSize;
+ UINT32 ulChanMainSoutCBMemOfst;
+ UINT32 ulChanMainSoutCBMemSize;
+
+ /* Free memory base address. */
+ UINT32 ulFreeMemBaseAddress;
+
+ /* Root channel config offset. */
+ UINT32 ulChanRootConfOfst;
+
+ /* Playout buffer info. */
+ UINT32 ulChanMainRinPlayoutMemOfst;
+ UINT32 ulChanMainRinPlayoutMemSize;
+ UINT32 ulChanMainSoutPlayoutMemOfst;
+ UINT32 ulChanMainSoutPlayoutMemSize;
+
+ /* Channel Stats location */
+ UINT32 ulChanMainIoStatsOfst;
+ UINT32 ulChanMainIoStatsSize;
+
+ /* Buffer playout fields. */
+ tOCT6100_TLV_OFFSET PlayoutRinWritePtrOfst;
+ tOCT6100_TLV_OFFSET PlayoutRinIgnoreSkipCleanOfst;
+ tOCT6100_TLV_OFFSET PlayoutRinSkipPtrOfst;
+ tOCT6100_TLV_OFFSET PlayoutSoutWritePtrOfst;
+ tOCT6100_TLV_OFFSET PlayoutSoutIgnoreSkipCleanOfst;
+ tOCT6100_TLV_OFFSET PlayoutSoutSkipPtrOfst;
+ tOCT6100_TLV_OFFSET PlayoutRinReadPtrOfst;
+ tOCT6100_TLV_OFFSET PlayoutSoutReadPtrOfst;
+ tOCT6100_TLV_OFFSET PlayoutRinHardSkipOfst;
+ tOCT6100_TLV_OFFSET PlayoutSoutHardSkipOfst;
+
+ /* Adaptive noise reduction. */
+ tOCT6100_TLV_OFFSET AdaptiveNoiseReductionOfst;
+
+ /* DC offset removal. */
+ tOCT6100_TLV_OFFSET RinDcOffsetRemovalOfst;
+ tOCT6100_TLV_OFFSET SinDcOffsetRemovalOfst;
+
+ /* Level control. */
+ tOCT6100_TLV_OFFSET RinLevelControlOfst;
+ tOCT6100_TLV_OFFSET SoutLevelControlOfst;
+
+ /* Auto level control. */
+ tOCT6100_TLV_OFFSET RinAutoLevelControlTargetOfst;
+ tOCT6100_TLV_OFFSET SoutAutoLevelControlTargetOfst;
+
+ /* High level compensation. */
+ tOCT6100_TLV_OFFSET RinHighLevelCompensationThresholdOfst;
+ tOCT6100_TLV_OFFSET SoutHighLevelCompensationThresholdOfst;
+
+ /* Auto level control and high level compensation status. */
+ tOCT6100_TLV_OFFSET AlcHlcStatusOfst;
+
+ /* Confort Noise Mode. */
+ tOCT6100_TLV_OFFSET ComfortNoiseModeOfst;
+
+ /* NLP control field. */
+ tOCT6100_TLV_OFFSET NlpControlFieldOfst;
+
+ /* VAD control field offset.*/
+ tOCT6100_TLV_OFFSET VadControlFieldOfst;
+
+ /* NLP Trivial field offset. */
+ tOCT6100_TLV_OFFSET NlpTrivialFieldOfst;
+
+ /* Acoustic echo field offset. */
+ tOCT6100_TLV_OFFSET AecFieldOfst;
+
+ /* Acoustic echo default ERL field offset. */
+ tOCT6100_TLV_OFFSET AecDefaultErlFieldOfst;
+
+ /* Non-linearity behavior A and B field offset. */
+ tOCT6100_TLV_OFFSET PcmLeakFieldOfst;
+ tOCT6100_TLV_OFFSET NlpConvCapFieldOfst;
+
+ /* Default ERL field offset. */
+ tOCT6100_TLV_OFFSET DefaultErlFieldOfst;
+
+ /* Tone Removal field offset.*/
+ tOCT6100_TLV_OFFSET ToneRemovalFieldOfst;
+
+
+
+ /* Channel config fields offset. */
+ tOCT6100_TLV_OFFSET ChanMainIoMaxEchoPointOfst;
+ tOCT6100_TLV_OFFSET TailDisplEnableOfst;
+
+ /* Pouch fields offset. */
+ tOCT6100_TLV_OFFSET PouchBootInstructionOfst;
+ tOCT6100_TLV_OFFSET PouchBootResultOfst;
+ tOCT6100_TLV_OFFSET PouchTailDisplOfst;
+
+ /* 2100 Hz Auto disabling fields offset. */
+ tOCT6100_TLV_OFFSET ToneDisablerControlOfst;
+
+ /* Conferencing dominant speaker field offset. */
+ tOCT6100_TLV_OFFSET DominantSpeakerFieldOfst;
+
+ /* Conferencing noise reduction field offset. */
+ tOCT6100_TLV_OFFSET ConferencingNoiseReductionOfst;
+
+ /* Per channel tail displacement field offset. */
+ tOCT6100_TLV_OFFSET PerChanTailDisplacementFieldOfst;
+
+ /* Per channel tail length field offset. */
+ tOCT6100_TLV_OFFSET PerChanTailLengthFieldOfst;
+
+ /* AF control/echo cancellation bypass. */
+ tOCT6100_TLV_OFFSET AftControlOfst;
+
+ /* Voice detected stat field offset. */
+ tOCT6100_TLV_OFFSET SinVoiceDetectedStatOfst;
+
+ /* Rin currently applied gain field offset. */
+ tOCT6100_TLV_OFFSET RinAppliedGainStatOfst;
+
+ /* Sout currently applied gain field offset. */
+ tOCT6100_TLV_OFFSET SoutAppliedGainStatOfst;
+
+ /* Adaptive listener enhancement field offset. */
+ tOCT6100_TLV_OFFSET AdaptiveAleOfst;
+
+ /* Rin NR field offset. */
+ tOCT6100_TLV_OFFSET RinAnrOfst;
+
+ /* Sin Mute field offset. */
+ tOCT6100_TLV_OFFSET SinMuteOfst;
+
+ /* Rin Mute field offset. */
+ tOCT6100_TLV_OFFSET RinMuteOfst;
+
+ /* Sout ANR SNR enhancement offset. */
+ tOCT6100_TLV_OFFSET AnrSnrEnhancementOfst;
+
+ /* Sout ANR voice-noise segregation offset. */
+ tOCT6100_TLV_OFFSET AnrVoiceNoiseSegregationOfst;
+
+ /* Tone disabler VQE activation delay offset. */
+ tOCT6100_TLV_OFFSET ToneDisablerVqeActivationDelayOfst;
+
+ /* AF tail displacement value configuration offset. */
+ tOCT6100_TLV_OFFSET AfTailDisplacementFieldOfst;
+
+ /* Pouch counter field offset. */
+ tOCT6100_TLV_OFFSET PouchCounterFieldOfst;
+
+ /* Acoustic echo tail length. */
+ tOCT6100_TLV_OFFSET AecTailLengthFieldOfst;
+
+ /* Is ISR called field offset. */
+ tOCT6100_TLV_OFFSET IsIsrCalledFieldOfst;
+
+ /* Music protection enable field offset. */
+ tOCT6100_TLV_OFFSET MusicProtectionFieldOfst;
+
+ /* Rin port energy level statistics field offset. */
+ tOCT6100_TLV_OFFSET RinEnergyStatFieldOfst;
+
+ /* Sout port energy level statistics field offset. */
+ tOCT6100_TLV_OFFSET SoutEnergyStatFieldOfst;
+
+ /* Double talk behavior field offset. */
+ tOCT6100_TLV_OFFSET DoubleTalkBehaviorFieldOfst;
+
+ /* Idle code detection field offset. */
+ tOCT6100_TLV_OFFSET IdleCodeDetectionFieldOfst;
+
+ /* TSI memory mapping information.*/
+ UINT32 ulNumTsiEntries;
+
+ /*-----------------------------------------------------------------------------*/
+
+} tOCT6100_API_MEMORY_MAP, *tPOCT6100_API_MEMORY_MAP;
+
+typedef struct _OCT6100_API_SOFT_BUFS_
+{
+ /* To avoid compilation errors. */
+ UINT32 ulDummyVariable;
+
+ /* Tone events buffer pointers. */
+ UINT32 ulToneEventBufferWritePtr;
+ UINT32 ulToneEventBufferReadPtr;
+ UINT32 ulToneEventBufferSize;
+ UINT32 ulToneEventBufferMemOfst;
+ UINT32 ulToneEventBufferOverflowCnt;
+
+ /* Playout events buffer pointers. */
+ UINT32 ulBufPlayoutEventBufferWritePtr;
+ UINT32 ulBufPlayoutEventBufferReadPtr;
+ UINT32 ulBufPlayoutEventBufferSize;
+ UINT32 ulBufPlayoutEventBufferMemOfst;
+ UINT32 ulBufPlayoutEventBufferOverflowCnt;
+
+} tOCT6100_API_SOFT_BUFS, *tPOCT6100_API_SOFT_BUFS;
+
+typedef struct _OCT6100_API_IMAGE_REGION_
+{
+ UINT32 ulPart1Size;
+ UINT32 ulPart2Size;
+ UINT32 ulClockInfo;
+
+ UINT32 ulReserved;
+
+ UINT32 ulPart1BaseAddress;
+ UINT32 ulPart2BaseAddress;
+
+} tOCT6100_API_IMAGE_REGION, *tPOCT6100_API_IMAGE_REGION;
+
+typedef struct _OCT6100_API_IMAGE_INFO_
+{
+ UINT8 fBufferPlayout;
+ UINT8 fAdaptiveNoiseReduction;
+ UINT8 fRinDcOffsetRemoval;
+ UINT8 fSinDcOffsetRemoval;
+
+ UINT8 fRinAutoLevelControl;
+ UINT8 fSoutAutoLevelControl;
+ UINT8 fRinHighLevelCompensation;
+ UINT8 fSoutHighLevelCompensation;
+
+ UINT8 fAlcHlcStatus;
+ UINT8 fComfortNoise;
+ UINT8 fNlpControl;
+ UINT8 fSilenceSuppression;
+
+ UINT8 fToneDisabler;
+ UINT8 fTailDisplacement;
+ UINT8 fPerChannelTailDisplacement;
+ UINT8 fAcousticEcho;
+
+ UINT8 fAecEnabled;
+ UINT8 fToneRemoval;
+ UINT8 fDefaultErl;
+ UINT8 fMaxEchoPoint;
+
+ UINT8 fNonLinearityBehaviorA;
+ UINT8 fNonLinearityBehaviorB;
+ UINT8 fAecDefaultErl;
+ UINT8 fAdpcm;
+
+ UINT8 fConferencing;
+ UINT8 fConferencingNoiseReduction;
+ UINT8 fMusicProtection;
+ UINT8 fDominantSpeakerEnabled;
+
+ UINT8 fAftControl;
+ UINT8 fSinVoiceDetectedStat;
+ UINT8 fRinAppliedGainStat;
+ UINT8 fSoutAppliedGainStat;
+
+ UINT8 fListenerEnhancement;
+ UINT8 fRoutNoiseReduction;
+ UINT8 fRinMute;
+ UINT8 fSinMute;
+
+ UINT8 fAnrSnrEnhancement;
+ UINT8 fAnrVoiceNoiseSegregation;
+ UINT8 fRinBufferPlayoutHardSkip;
+ UINT8 fSoutBufferPlayoutHardSkip;
+
+ UINT16 usMaxNumberOfChannels;
+ UINT8 fPerChannelTailLength;
+ UINT8 fToneDisablerVqeActivationDelay;
+
+ UINT32 ulToneProfileNumber;
+
+ UINT16 usMaxTailDisplacement;
+ UINT16 usMaxTailLength;
+
+ UINT8 byNumToneDetectors;
+ UINT8 byMaxNumberPlayoutEvents;
+
+ UINT8 fAfTailDisplacement;
+ UINT8 fAecTailLength;
+
+ UINT8 fMusicProtectionConfiguration;
+ UINT8 byImageType;
+
+ UINT8 fBufferPlayoutSkipInEvents;
+ UINT8 fSoutNoiseBleaching;
+
+ UINT8 fRinEnergyStat;
+ UINT8 fSoutEnergyStat;
+
+ UINT8 fDoubleTalkBehavior;
+ UINT8 fDoubleTalkBehaviorFieldOfst;
+
+ UINT8 fIdleCodeDetection;
+ UINT8 fIdleCodeDetectionConfiguration;
+
+ UINT8 fSinLevel;
+
+
+
+ UINT8 szVersionNumber[ cOCT6100_VERSION_NUMBER_MAX_SIZE ];
+ UINT32 ulBuildId;
+
+ tOCT6100_TLV_TONE_INFO aToneInfo[ cOCT6100_MAX_TONE_EVENT ];
+
+} tOCT6100_API_IMAGE_INFO, *tPOCT6100_API_IMAGE_INFO;
+
+typedef struct _OCT6100_API_MIXER_
+{
+ /* Pointer to the various event region. */
+ UINT16 usFirstSoutCopyEventPtr;
+ UINT16 usLastSoutCopyEventPtr;
+
+ UINT16 usFirstBridgeEventPtr;
+ UINT16 usLastBridgeEventPtr;
+
+ UINT16 usFirstSinCopyEventPtr;
+ UINT16 usLastSinCopyEventPtr;
+
+ /* Recording event info. */
+ UINT16 usRecordCopyEventIndex;
+ UINT16 usRecordSinEventIndex;
+
+} tOCT6100_API_MIXER, tPOCT6100_API_MIXER;
+
+
+typedef struct _OCT6100_API_BUFFER_PLAYOUT_MALLOC_INFO_
+{
+ /* Next node to be checked for free memory. */
+ UINT32 ulRovingNode;
+
+ /* First unused node in the unused list. */
+ UINT32 ulFirstUnusedNode;
+
+ /* Last unused node in the unused list. */
+ UINT32 ulLastUnusedNode;
+
+ /* Count of unused nodes. */
+ UINT32 ulUnusedNodeCnt;
+
+} tOCT6100_API_BUFFER_PLAYOUT_MALLOC_INFO, *tPOCT6100_API_BUFFER_PLAYOUT_MALLOC_INFO;
+
+
+
+
+#endif /* __OCT6100_CHIP_OPEN_INST_H__ */