/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ File: oct6100_defines.h Copyright (c) 2001-2011 Octasic Inc. Description: Header file containing all defines used throughout the API. 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.7 $Octasic_Release: OCT612xAPI-01.04.05 $ $Octasic_Revision: 180 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCT6100_DEFINES_H__ #define __OCT6100_DEFINES_H__ /***************************** INCLUDE FILES *******************************/ #include "octdef.h" /***************************** DEFINES *************************************/ /* 32-bits values. */ #define cOCT6100_FFFFFFFF 0xFFFFFFFF #define cOCT6100_FFFFFFFE 0xFFFFFFFE #define cOCT6100_7FFFFFFF 0x7FFFFFFF /* 16-bits values. */ #define cOCT6100_FFFD 0xFFFD #define cOCT6100_FFFE 0xFFFE #define cOCT6100_FFFF 0xFFFF #define cOCT6100_7FFF 0x7FFF /* 8-bits values. */ #define cOCT6100_FF 0xFF #define cOCT6100_CURRENT_VALUE cOCT6100_FFFFFFFF #define cOCT6100_INVALID_CHIP_ID cOCT6100_FFFFFFFF #define cOCT6100_INVALID_HANDLE cOCT6100_FFFFFFFF #define cOCT6100_INVALID_TIMESLOT cOCT6100_FFFFFFFF #define cOCT6100_INVALID_STREAM cOCT6100_FFFFFFFF #define cOCT6100_INVALID_VALUE cOCT6100_FFFFFFFF #define cOCT6100_INVALID_STAT cOCT6100_FFFFFFFF #define cOCT6100_INVALID_STAT_W cOCT6100_FFFF #define cOCT6100_INVALID_PCM_LAW cOCT6100_FF #define cOCT6100_INVALID_EVENT cOCT6100_FFFF #define cOCT6100_INVALID_INDEX cOCT6100_FFFF #define cOCT6100_INVALID_TONE cOCT6100_FFFFFFFF #define cOCT6100_INVALID_PORT cOCT6100_FF #define cOCT6100_AUTO_SELECT cOCT6100_FFFFFFFE #define cOCT6100_AUTO_SELECT_TAIL cOCT6100_FFFE #define cOCT6100_INVALID_BOOL 2 #define cOCT6100_KEEP_PREVIOUS_SETTING 0x70100000 #define cOCT6100_INVALID_SIGNED_STAT cOCT6100_7FFFFFFF #define cOCT6100_INVALID_SIGNED_STAT_W cOCT6100_7FFF #define cOCT6100_INVALID_ECHO_DELAY 0x400 #define cOCT6100_SIZE_128 128 #define cOCT6100_SIZE_256 256 #define cOCT6100_SIZE_512 512 #define cOCT6100_SIZE_1K 1024 #define cOCT6100_SIZE_2K 2048 #define cOCT6100_SIZE_4K 4096 #define cOCT6100_SIZE_8K 8192 #define cOCT6100_SIZE_16K 16384 #define cOCT6100_SIZE_32K 32768 #define cOCT6100_SIZE_64K 65536 #define cOCT6100_SIZE_128K 131072 #define cOCT6100_SIZE_256K 262144 #define cOCT6100_SIZE_512K 524288 #define cOCT6100_SIZE_1M 1048576 #define cOCT6100_SIZE_2M 2097152 #define cOCT6100_SIZE_4M 4194304 #define cOCT6100_SIZE_8M 8388608 #define cOCT6100_SIZE_16M 16777216 #define cOCT6100_SIZE_32M 33554432 #define cOCT6100_SIZE_64M 67108864 #define cOCT6100_SIZE_128M 134217728 #define cOCT6100_SIZE_256M 268435456 #define cOCT6100_SIZE_512M 536870912 #define cOCT6100_SIZE_1G 1073741824 #define cOCT6100_SIZE_2G 2147483648 #define cOCT6100_HNDL_TAG_MASK 0xFF000000 #define cOCT6100_HNDL_INDEX_MASK 0x0000FFFF #define cOCT6100_ENTRY_OPEN_CNT_MASK 0x000000FF #define cOCT6100_ENTRY_OPEN_CNT_SHIFT 16 #define cOCT6100_HNDL_TAG_INVALID 0xFF000000 #define cOCT6100_HNDL_TAG_CHANNEL 0x01000000 #define cOCT6100_HNDL_TAG_TSI_CNCT 0x02000000 #define cOCT6100_HNDL_TAG_CONF_BRIDGE 0x03000000 #define cOCT6100_HNDL_TAG_PHASING_TSST 0x04000000 #define cOCT6100_HNDL_TAG_BIDIR_CHANNEL 0x05000000 #define cOCT6100_HNDL_TAG_COPY_EVENT 0x06000000 #define cOCT6100_HNDL_TAG_ADPCM_CHANNEL 0x07000000 #define cOCT6100_INVALID_HANDLE_TYPE cOCT6100_INVALID_VALUE #define cOCT6100_MEMORY_ROUND_SIZE 16 #define mOCT6100_ROUND_MEMORY_SIZE( ulMemorySize, ulTempVar ) \ if ((ulTempVar = ulMemorySize % cOCT6100_MEMORY_ROUND_SIZE) != 0) \ ulMemorySize += cOCT6100_MEMORY_ROUND_SIZE - ulTempVar; #define mOCT6100_ROUND_ADDRESS( ulAddress, ulBoundary, ulTempVar ) \ if ((ulTempVar = ulAddress % ulBoundary) != 0) \ ulAddress += ulBoundary - ulTempVar; #define cOCT6100_INTERNAL_CLOCK_SOURCE 0 #define cOCT6100_EXTERNAL_CLOCK_SOURCE 1 #define cOCT6100_ACTIVE_HIGH_POLARITY 0 #define cOCT6100_ACTIVE_LOW_POLARITY 1 #define cOCT6100_TDM_SAMPLE_AT_3_QUARTERS 0 #define cOCT6100_TDM_SAMPLE_AT_RISING_EDGE 1 #define cOCT6100_TDM_SAMPLE_AT_FALLING_EDGE 2 #define cOCT6100_TDM_STREAM_FREQ_2MHZ 0 #define cOCT6100_TDM_STREAM_FREQ_4MHZ 1 #define cOCT6100_TDM_STREAM_FREQ_8MHZ 2 #define cOCT6100_TDM_STREAM_FREQ_16MHZ 3 #define cOCT6100_TDM_STREAM_MAX_GROUPS 8 #define cOCT6100_PCM_U_LAW 0 #define cOCT6100_PCM_A_LAW 1 #define cOCT6100_PCM_UNCHANGED 2 #define cOCT6100_ADPCM_ENCODED 3 #define cOCT6100_INTERRUPT_DISABLE 0 #define cOCT6100_INTERRUPT_NO_TIMEOUT 1 #define cOCT6100_INTERRUPT_TIMEOUT 2 #define cOCT6100_NUMBER_TSSTS_1 1 #define cOCT6100_NUMBER_TSSTS_2 2 #define cOCT6100_G711_64KBPS 1 #define cOCT6100_G726_40KBPS 2 #define cOCT6100_G726_32KBPS 3 #define cOCT6100_G726_24KBPS 4 #define cOCT6100_G726_16KBPS 5 #define cOCT6100_G727_40KBPS_4_1 6 #define cOCT6100_G727_40KBPS_3_2 7 #define cOCT6100_G727_40KBPS_2_3 8 #define cOCT6100_G727_32KBPS_4_0 9 #define cOCT6100_G727_32KBPS_3_1 10 #define cOCT6100_G727_32KBPS_2_2 11 #define cOCT6100_G727_24KBPS_3_0 12 #define cOCT6100_G727_24KBPS_2_1 13 #define cOCT6100_G727_16KBPS_2_0 14 #define cOCT6100_G726_ENCODED 15 #define cOCT6100_G711_G726_ENCODED 16 #define cOCT6100_G711_G727_2C_ENCODED 17 #define cOCT6100_G711_G727_3C_ENCODED 18 #define cOCT6100_G711_G727_4C_ENCODED 19 #define cOCT6100_G727_2C_ENCODED 20 #define cOCT6100_G727_3C_ENCODED 21 #define cOCT6100_G727_4C_ENCODED 22 #define cOCT6100_ADPCM_IN_HIGH_BITS 0 #define cOCT6100_ADPCM_IN_LOW_BITS 1 /* The values of these defines must not change. */ #define cOCT6100_H100_TRACKA 0 #define cOCT6100_H100_TRACKB 1 #define cOCT6100_H100_TRACKA_FALLBACKB 2 #define cOCT6100_H100_TRACKB_FALLBACKA 3 #define cOCT6100_H100_DISABLED 4 #define cOCT6100_H100_MASTERA 5 #define cOCT6100_H100_BACKUPA 6 #define cOCT6100_H100_MASTERB 7 #define cOCT6100_H100_BACKUPB 8 #define cOCT6100_FREE_TSST 0 #define cOCT6100_RX_TSST 16 #define cOCT6100_TX_TSST 32 #define cOCT6100_INTRPT_ACTIVE 0 #define cOCT6100_INTRPT_WILL_TIMEOUT 1 #define cOCT6100_INTRPT_IN_TIMEOUT 2 #define cOCT6100_INTRPT_DISABLED 3 #define cOCT6100_EXTERNAL_MEM_BIST_TIMEOUT 1000000 /* Clocks defines */ #define cOCT6100_UPCLK_FREQ_33_33_MHZ 33333333 #define cOCT6100_MCLK_FREQ_133_MHZ 133000000 #define cOCT6100_MCLK_FREQ_125_MHZ 125000000 #define cOCT6100_MCLK_FREQ_117_MHZ 117000000 #define cOCT6100_MCLK_FREQ_108_MHZ 108000000 #define cOCT6100_MCLK_FREQ_100_MHZ 100000000 #define cOCT6100_MCLK_FREQ_92_MHZ 92000000 #define cOCT6100_MCLK_FREQ_83_MHZ 83000000 #define cOCT6100_MCLK_FREQ_75_MHZ 75000000 /* Tone buffer defines.*/ #define cOCT6100_MAX_NUM_TONE_BUFFERS 1344 #define cOCT6100_MAX_TONES_PER_CALL 32 /* Memory defines.*/ #define cOCT6100_MEM_TYPE_SDR 0 #define cOCT6100_MEM_TYPE_DDR 1 #define cOCT6100_MEM_TYPE_SDR_PLL_BYPASS 2 #define cOCT6100_MEMORY_CHIP_SIZE_8MB cOCT6100_SIZE_8M #define cOCT6100_MEMORY_CHIP_SIZE_16MB cOCT6100_SIZE_16M #define cOCT6100_MEMORY_CHIP_SIZE_32MB cOCT6100_SIZE_32M #define cOCT6100_MEMORY_CHIP_SIZE_64MB cOCT6100_SIZE_64M #define cOCT6100_MEMORY_CHIP_SIZE_128MB cOCT6100_SIZE_128M #define cOCT6100_MAX_NUM_MEMORY_CHIP 2 #define cOCT6100_16MB_MEMORY_BANKS 0 #define cOCT6100_32MB_MEMORY_BANKS 1 #define cOCT6100_64MB_MEMORY_BANKS 2 #define cOCT6100_128MB_MEMORY_BANKS 3 #define cOCT6100_1_MEMORY_BANKS 0 #define cOCT6100_2_MEMORY_BANKS 1 #define cOCT6100_3_MEMORY_BANKS 2 #define cOCT6100_4_MEMORY_BANKS 3 /* Chip open defines.*/ #define cOCT6100_INTERNAL_TONE_ARRAY_SIZE 256 /* in words.*/ #define cOCT6100_INTERNAL_SUPER_ARRAY_SIZE 1024 /* in words.*/ /* Internal memory mapping.*/ /*=======================================================================*/ #define cOCT6100_TSST_CONTROL_MEM_BASE 0x26000 #define cOCT6100_TSST_CONTROL_MEM_ENTRY_SIZE 2 /* Each entries are 2 bytes.*/ #define cOCT6100_TSST_CONTROL_MEM_INPUT_TSST 0x0800 #define cOCT6100_TSST_CONTROL_MEM_OUTPUT_TSST 0x2000 #define cOCT6100_TSST_CONTROL_MEM_PCM_LAW_OFFSET 12 #define cOCT6100_TSST_CONTROL_MEM_NIBBLE_POS_OFFSET 11 #define cOCT6100_TSST_CONTROL_MEM_TSST_NUM_OFFSET 12 #define cOCT6100_TSST_CONTROL_MEM_TSI_MEM_MASK 0x7FF #define cOCT6100_TSST_CONTROL_PHASING_TSST_BASE_ENTRY 1344 #define cOCT6100_TSST_CONTROL_TIMESTAMP_BASE_ENTRY 1516 /*=======================================================================*/ #define cOCT6100_CONVERSION_CONTROL_MEM_BASE 0x28000 /* Each entries are 8 bytes but an 8 bytes mixer entry is located inbetween each entry.*/ #define cOCT6100_CONVERSION_CONTROL_MEM_ENTRY_SIZE 16 #define cOCT6100_CONVERSION_CONTROL_MEM_ENCODER 0x0000 #define cOCT6100_CONVERSION_CONTROL_MEM_DECODER 0x8000 #define cOCT6100_CONVERSION_CONTROL_MEM_ACTIVATE_ENTRY 0x8000 #define cOCT6100_CONVERSION_CONTROL_MEM_RST_ON_NEXT_FR 0x8000 #define cOCT6100_CONVERSION_CONTROL_MEM_PHASE_OFFSET 12 #define cOCT6100_CONVERSION_CONTROL_MEM_NIBBLE_POS_OFFSET 9 #define cOCT6100_CONVERSION_CONTROL_MEM_COMP_OFFSET 11 #define cOCT6100_CONVERSION_CONTROL_MEM_LAW_OFFSET 8 #define cOCT6100_CONVERSION_CONTROL_MEM_SIL_SUP_OFFSET 8 #define cOCT6100_CONVERSION_CONTROL_PHASE_SIZE_BASE_ADD 0x5400 /*=======================================================================*/ #define cOCT6100_MIXER_CONTROL_MEM_BASE 0x28008 /* Each entries are 8 bytes but an 8 bytes mixer entry is located inbetween each entry.*/ #define cOCT6100_MIXER_CONTROL_MEM_ENTRY_SIZE 16 #define cOCT6100_MIXER_CONTROL_MEM_SUB_STORE 0xA000 #define cOCT6100_MIXER_CONTROL_MEM_STORE 0x8000 #define cOCT6100_MIXER_CONTROL_MEM_LOAD 0x4000 #define cOCT6100_MIXER_CONTROL_MEM_ACCUMULATE 0x6000 #define cOCT6100_MIXER_CONTROL_MEM_COPY 0x2000 #define cOCT6100_MIXER_CONTROL_MEM_NO_OP 0x0000 #define cOCT6100_MIXER_CONTROL_MEM_LAW_OFFSET 11 #define cOCT6100_MIXER_HEAD_NODE 0 #define cOCT6100_MIXER_TAIL_NODE 1 #define cOCT6100_MIXER_RECORD_COPY_NODE 2 /*=======================================================================*/ #define cOCT6100_ECHO_CONTROL_MEM_BASE 0x14000 #define cOCT6100_ECHO_CONTROL_MEM_ENTRY_SIZE 4 /* Each entries are 8 bytes.*/ #define cOCT6100_ECHO_CONTROL_MEM_ACTIVATE_ENTRY 0x8000 #define cOCT6100_ECHO_CONTROL_MEM_EXTERNAL_AF_CTRL 0x2000 #define cOCT6100_ECHO_CONTROL_MEM_DEBUG_OFFSET 14 #define cOCT6100_ECHO_CONTROL_MEM_AF_CONTROL 14 #define cOCT6100_ECHO_CONTROL_MEM_AF_CONTROL_MASK 0xC000 #define cOCT6100_ECHO_CONTROL_MEM_INPUT_LAW_OFFSET 12 #define cOCT6100_ECHO_CONTROL_MEM_OUTPUT_LAW_OFFSET 11 #define cOCT6100_ECHO_CONTROL_MEM_TSI_MEM_MASK 0x7FF /*=======================================================================*/ #define cOCT6100_ST_CONTROL_MEM_BASE 0x2000000 #define cOCT6100_ST_CONTROL_MEM_ENTRY_SIZE 16 /* Each entries are 8 bytes.*/ /*=======================================================================*/ #define cOCT6100_PART1_BASE 0x00080000 #define cOCT6100_PART1_CPU_LSU_CB_BASE cOCT6100_PART1_BASE+0x0000E3C0 /* 8 * 8 = 64 bytes */ #define cOCT6100_PART1_HW_LSU_CB_BASE cOCT6100_PART1_BASE+0x0000E400 /* 8 * 128 = 1K byte */ #define cOCT6100_PART1_END_STATICS_BASE cOCT6100_PART1_BASE+0x0000E9F0 /* 912 bytes available for your viewing pleasure. */ #define cOCT6100_PART1_API_SCRATCH_PAD cOCT6100_PART1_END_STATICS_BASE+4+(12*8) #define cOCT6100_PART1_EGO_REG cOCT6100_PART1_BASE+0x0007FF00 /* External Memory mapping. */ #define cOCT6100_EXTERNAL_MEM_BLOCK_SIZE 1024 #define cOCT6100_EXTERNAL_MEM_BASE_ADDRESS 0x08000000 #define cOCT6100_TLV_BASE ( 0x00016000 + cOCT6100_EXTERNAL_MEM_BASE_ADDRESS ) #define cOCT6100_CHANNEL_ROOT_BASE ( 0x00020000 + cOCT6100_EXTERNAL_MEM_BASE_ADDRESS ) #define cOCT6100_PGSP_EVENT_OUT_BASE ( 0x002C0000 + cOCT6100_EXTERNAL_MEM_BASE_ADDRESS ) #define cOCT6100_POUCH_BASE ( 0x002E0000 + cOCT6100_EXTERNAL_MEM_BASE_ADDRESS ) #define cOCT6100_IMAGE_FILE_BASE ( 0x00300000 + cOCT6100_EXTERNAL_MEM_BASE_ADDRESS ) #define cOCT6100_CHANNEL_ROOT_SIZE 4096 #define cOCT6100_CHANNEL_ROOT_TOTAL_SIZE ( 672 * cOCT6100_CHANNEL_ROOT_SIZE ) #define cOCT6100_PGSP_EVENT_OUT_SIZE 131072 #define cOCT6100_PGSP_TONE_EVENT_SIZE 0x40 #define cOCT6100_IMAGE_FILE_SIZE 0x100000 #define cOCT6100_MATRIX_TIMESTAMP_DWORD_ADD cOCT6100_POUCH_BASE + 0x8 #define cOCT6100_MATRIX_CHAN_SELECT_DWORD_ADD cOCT6100_POUCH_BASE + 0x14 #define cOCT6100_MATRIX_WRITE_PTR_DWORD_ADD cOCT6100_POUCH_BASE + 0x4 #define cOCT6100_MATRIX_PLL_JITTER_COUNT_ADD cOCT6100_POUCH_BASE + 0x1C #define cOCT6100_MATRIX_DWORD_BASE cOCT6100_POUCH_BASE + 0xE0000 #define cOCT6100_CHANNEL_ROOT_GLOBAL_CONF_OFFSET 0x0000 #define cOCT6100_NUM_WORDS_PER_TONE_EVENT 32 #define cOCT6100_NUM_PGSP_EVENT_OUT 2048 #define cOCT6100_VALID_TONE_EVENT 0x8000 #define cOCT6100_LOCAL_TIMESTAMP_INCREMENT 32 /* 4 ms increment. */ #define cOCT6100_ABSOLUTE_MAX_NUM_PGSP_EVENT_OUT 65535 #define cOCT6100_MIN_TIMESLOT_FOR_TIMESTAMP 5 /*=======================================================================*/ #define cOCT6100_GSC_PGSP_CONTEXT_BASE_ADD_OFFSET 0x0C #define cOCT6100_GSC_PGSP_INIT_CONTEXT_BASE_ADD_OFFSET 0x10 #define cOCT6100_GSC_RIN_CIRC_BUFFER_BASE_ADD_OFFSET 0x14 #define cOCT6100_GSC_SIN_CIRC_BUFFER_BASE_ADD_OFFSET 0x18 #define cOCT6100_GSC_SOUT_CIRC_BUFFER_BASE_ADD_OFFSET 0x1C #define cOCT6100_GSC_BUFFER_LAW_OFFSET 27 /*=======================================================================*/ #define cOCT6100_CH_MAIN_PGSP_CONTEXT_OFFSET 0x00000 #define cOCT6100_CH_MAIN_TONE_EVENT_OFFSET 0x00488 /*=======================================================================*/ #define cOCT6100_PLAYOUT_EVENT_REPEAT_OFFSET 31 #define cOCT6100_PLAYOUT_EVENT_LAW_OFFSET 30 #define cOCT6100_PLAYOUT_EVENT_MIX_OFFSET 28 #define cOCT6100_PLAYOUT_EVENT_LOOP_TIMES_OFFSET 27 #define cOCT6100_PLAYOUT_EVENT_GAIN_OFFSET 24 #define cOCT6100_PLAYOUT_EVENT_MEM_SIZE 16 /* Image related defines.*/ #define cOCT6100_MIN_IMAGE_SIZE 0x001000 #define cOCT6100_MAX_IMAGE_SIZE 0x100000 #define cOCT6100_MAX_IMAGE_REGION 60 #define cOCT6100_IMAGE_AF_CST_OFFSET 0x1000; /* Max defines.*/ #define cOCT6100_MAX_ECHO_CHANNELS 672 #define cOCT6100_MAX_TSI_CNCTS 1530 #define cOCT6100_MAX_CALLER_ID_PLAYOUT_BUFFERS ( 3328 + 6 ) #define cOCT6100_MAX_PLAYOUT_BUFFERS ( 1344 + cOCT6100_MAX_CALLER_ID_PLAYOUT_BUFFERS ) #define cOCT6100_MAX_CONF_BRIDGE 672 #define cOCT6100_MAX_FLEX_CONF_PARTICIPANTS cOCT6100_MAX_ECHO_CHANNELS #define cOCT6100_MAX_PHASING_TSST 16 #define cOCT6100_MAX_ADPCM_CHANNELS 672 #define cOCT6100_NUM_TSI_B4_PHASING 1344 #define cOCT6100_TOTAL_TSI_CONTROL_MEM_ENTRY 1534 #define cOCT6100_MAX_TSI_CONTROL_MEM_ENTRY 1344 #define cOCT6100_MAX_ECHO_CONTROL_MEM_ENTRY 672 #define cOCT6100_MAX_TSI_B4_TIMESTAMP 172 #define cOCT6100_TSI_MEM_FOR_TIMESTAMP 4 #define cOCT6100_API_EXT_TONE_EXTRA_TSI 1533 /* Echo channel ports */ #define cOCT6100_CHANNEL_PORT_RIN 0 #define cOCT6100_CHANNEL_PORT_ROUT 1 #define cOCT6100_CHANNEL_PORT_SIN 2 #define cOCT6100_CHANNEL_PORT_SOUT 3 #define cOCT6100_CHANNEL_PORT_ROUT_SOUT 4 #define cOCT6100_NO_ENCODING 10 #define cOCT6100_NO_DECODING 11 /* Buffer playout defines */ #define cOCT6100_NO_SKIP 0 #define cOCT6100_BUFFER_PLAYOUT_MIN_SIZE 1024 #define cOCT6100_DEFAULT_TIMESTAMP 0 #define cOCT6100_MIXING_0_DB 0 /* Unsupported mixing mode, for testing purposes only */ #define cOCT6100_MIXING_MINUS_6_DB 1 #define cOCT6100_MIXING_MINUS_12_DB 2 #define cOCT6100_MIXING_MUTE 3 #define cOCT6100_PLAYOUT_GAIN 0x41000000 #define cOCT6100_PLAYOUT_EVENT 1 #define cOCT6100_MINIMUM_BUFFER_SIZE 64 #define cOCT6100_BUFFER_SIZE_GRANULARITY 16 #define cOCT6100_REPEAT_INFINITELY cOCT6100_INVALID_VALUE #define cOCT6100_REPEAT_MAX 32767 #define cOCT6100_SAMPLES_PER_MS 8 /* For the playout events. */ #define cOCT6100_MAX_BUFFER_PLAYOUT_EVENT_PER_CALL 32 #define cOCT6100_MIN_BUFFER_PLAYOUT_EVENT 128 #define cOCT6100_MAX_BUFFER_PLAYOUT_EVENT 65535 /* Event types */ #define cOCT6100_BUFFER_PLAYOUT_EVENT_INVALID cOCT6100_INVALID_VALUE #define cOCT6100_BUFFER_PLAYOUT_EVENT_STOP 1 /* Phasing defines.*/ #define cOCT6100_SINGLE_PHASING 0 #define cOCT6100_DUAL_PHASING 1 #define cOCT6100_NO_PHASING 2 /* Echo canceller mode.*/ #define cOCT6100_ELECTRIC_EC 0 #define cOCT6100_ELECTRIC_EC_DISPLACEMENT 1 #define cOCT6100_ACCOUSTIC_ES 2 /* Echo control modes.*/ #define cOCT6100_ECHO_OP_MODE_NORMAL 0 #define cOCT6100_ECHO_OP_MODE_HT_FREEZE 1 #define cOCT6100_ECHO_OP_MODE_HT_RESET 2 #define cOCT6100_ECHO_OP_MODE_POWER_DOWN 3 #define cOCT6100_ECHO_OP_MODE_EXTERNAL 4 #define cOCT6100_ECHO_OP_MODE_NO_ECHO 5 #define cOCT6100_ECHO_OP_MODE_SPEECH_RECOGNITION 6 #define cOCT6100_ECHO_OP_MODE_G169_ALC cOCT6100_ECHO_OP_MODE_NO_ECHO /* 2100 Hz disabling configuration. */ #define cOCT6100_NEVER_DISABLED 0 #define cOCT6100_G164_2100_HZ 1 #define cOCT6100_G165_2100_HZ_WITH_PHASE_REV 2 /* TSST defines.*/ #define cOCT6100_UNASSIGNED cOCT6100_FFFD #define cOCT6100_MAX_TSSTS 4096 #define cOCT6100_TWO_TSSTS_INDEX_MASK 0x8000 #define cOCT6100_TSST_INDEX_MASK 0x7FFF #define cOCT6100_INPUT_TSST 0 #define cOCT6100_OUTPUT_TSST 1 /* Conference bridges defines.*/ #define cOCT6100_MAX_MIXER_EVENTS 1344 #define cOCT6100_MAX_FLEX_CONF_PARTICIPANTS_PER_BRIDGE 32 #define cOCT6100_CONF_DOMINANT_SPEAKER_UNASSIGNED 672 #define cOCT6100_CONF_NO_DOMINANT_SPEAKER_HNDL cOCT6100_FFFFFFFE /* Conversion memory defines.*/ #define cOCT6100_MAX_CONVERSION_MEMORY_BLOCKS 1344 /* Tone detection defines.*/ #define cOCT6100_MAX_TONE_NUMBER 55 /* Register definition and address. */ #define cOCT6100_TONE_EVENT_WRITE_PTR_REG 0x722 #define cOCT6100_TONE_EVENT_READ_PTR_REG 0x720 /* Special Signaling tone IDs. */ #define cOCT6100_TONE_SIN_SYSTEM7_2000 0x20000023 #define cOCT6100_TONE_SIN_SYSTEM7_1780 0x20000024 #define cOCT6100_TONE_ROUT_G168_2100GB_ON 0x10000000 #define cOCT6100_TONE_ROUT_G168_2100GB_WSPR 0x10000002 #define cOCT6100_TONE_ROUT_G168_1100GB_ON 0x10000004 #define cOCT6100_TONE_ROUT_G168_2100GB_ON_WIDE_A 0x10000005 #define cOCT6100_TONE_ROUT_G168_2100GB_ON_WIDE_B 0x10000006 #define cOCT6100_TONE_ROUT_G168_2100GB_WSPR_WIDE 0x10000008 #define cOCT6100_TONE_SOUT_G168_2100GB_ON 0x40000000 #define cOCT6100_TONE_SOUT_G168_2100GB_WSPR 0x40000002 #define cOCT6100_TONE_SOUT_G168_1100GB_ON 0x40000004 #define cOCT6100_TONE_SOUT_G168_2100GB_ON_WIDE_A 0x40000005 #define cOCT6100_TONE_SOUT_G168_2100GB_ON_WIDE_B 0x40000006 #define cOCT6100_TONE_SOUT_G168_2100GB_WSPR_WIDE 0x40000008 #define cOCT6100_TONE_SIN_SYSTEM5_2400 0x20000020 #define cOCT6100_TONE_SIN_SYSTEM5_2600 0x20000021 #define cOCT6100_TONE_SIN_SYSTEM5_2400_2600 0x20000022 #define cOCT6100_CHIP_ID_REVISION_REG 0x17E /* BOOT type. */ #define cOCT6100_AF_BOOT_TYPE 0x5 #define cOCT6100_PRODUCTION_BOOT_TYPE 0x7 #define cOCT6100_PRODUCTION_SHORT_BOOT_TYPE 0x8 /*Production Bist Modes*/ #define cOCT6100_PRODUCTION_BIST_STANDARD 0x0 #define cOCT6100_PRODUCTION_BIST_SHORT 0x1 /* Interrupt register masks.*/ #define cOCT6100_INTRPT_MASK_REG_102H 0x0001 #define cOCT6100_INTRPT_MASK_REG_202H 0x1C01 #define cOCT6100_INTRPT_MASK_REG_302H 0xF100 #define cOCT6100_INTRPT_MASK_REG_502H 0x0002 #define cOCT6100_INTRPT_MASK_REG_702H 0x0002 #define cOCT6100_DECODER_MEMORY_OFFSET 672 /* Debug defines.*/ #define cOCT6100_DEBUG_MAX_READ_LENGTH 10240 #define cOCT6100_DEBUG_SOUT_MAX_READ_LENGTH 2560 #define cOCT6100_DEBUG_CHAN_RECORD_INDEX 64 #define cOCT6100_DEBUG_RECORD_BUFFER_BYTE_SIZE 0x20000 #define cOCT6100_DEBUG_RECORD_MATRIX_SIZE 0x8000 #define cOCT6100_DEBUG_RECORD_READ_DATA_BYTE_SIZE 1024 #define cOCT6100_DEBUG_RECORD_BLOCK_BYTE_SIZE 0x1000 /* Tone event defines.*/ #define cOCT6100_MAX_TONE_EVENT 56 #define cOCT6100_TONE_PRESENT 0 #define cOCT6100_TONE_STOP 1 #define cOCT6100_TONE_REFRESH 2 /* TLV defines.*/ #define cOCT6100_TLV_MAX_ADDRESS 0x10000000 #define cOCT6100_TLV_MAX_TONE_NAME_SIZE 64 #define cOCT6100_VERSION_NUMBER_MAX_SIZE 1016 /* Echo Tail defines.*/ #define cOCT6100_TAIL_LENGTH_32MS 32 #define cOCT6100_TAIL_LENGTH_64MS 64 #define cOCT6100_TAIL_LENGTH_128MS 128 #define cOCT6100_MAX_ECHO_TAIL_DISPLACEMENT 5600 /* In milliseconds */ /* Generic loop counter.*/ #define cOCT6100_MAX_LOOP 0x2000 /* CPU boot timeout counter. */ #define cOCT6100_MAX_LOOP_CPU_TIMEOUT 0x20000 /* Automatic level control */ #define cOCT6100_PASS_THROUGH_LEVEL_CONTROL 0x90 /* Channel stats debug info */ #define cOCT6100_DEBUG_CHAN_STATS_EVENT_BYTE_SIZE 1024 #define cOCT6100_DEBUG_CHAN_STATS_LITE_EVENT_BYTE_SIZE 720 /* Image start string define */ #define cOCT6100_IMAGE_START_STRING "EDS3_IMAGE_NAME" #define cOCT6100_IMAGE_VERSION_STRING "EDS3_IMAGE_VERSION" /* Tone image info defines.*/ #define cOCT6100_TONE_INFO_START_STRING "[ToneDetectorInfo]" #define cOCT6100_TONE_INFO_STOP_STRING "[~ToneDetectorInfo]" #define cOCT6100_TONE_INFO_EVENT_STRING "TONEEVENT=0x" #define cOCT6100_MAX_NLP_CONF_DWORD 20 /* Tail displacement info.*/ #define cOCT6100_MAX_TAIL_DISPLACEMENT 896 /* Comfort noise define */ #define cOCT6100_COMFORT_NOISE_NORMAL 0x0 #define cOCT6100_COMFORT_NOISE_EXTENDED 0x3 #define cOCT6100_COMFORT_NOISE_OFF 0x2 #define cOCT6100_COMFORT_NOISE_FAST_LATCH 0x1 /* Mixer event type.*/ #define cOCT6100_EVENT_TYPE_SOUT_COPY 0x0 #define cOCT6100_EVENT_TYPE_SIN_COPY 0x1 /* Tone disabler status.*/ #define cOCT6100_TONE_DISABLER_EC_ENABLED 0 #define cOCT6100_TONE_DISABLER_EC_DISABLED 1 /* ADPCM Channel defines */ #define cOCT6100_ADPCM_ENCODING 0 #define cOCT6100_ADPCM_DECODING 1 /* Double talk behavior modes. */ #define cOCT6100_DOUBLE_TALK_BEH_NORMAL 0x0 #define cOCT6100_DOUBLE_TALK_BEH_LESS_AGGRESSIVE 0x1 /* Api Version string length.*/ #define cOCT6100_API_VERSION_STRING_LENGTH 32 /* Extended tone detection information. */ #define cOCT6100_API_EXT_TONE_DISABLED 0 #define cOCT6100_API_EXT_TONE_SIN_PORT_MODE 1 #define cOCT6100_API_EXT_TONE_RIN_PORT_MODE 2 /* Mute/UnMute defines. */ #define cOCT6100_CHANNEL_MUTE_PORT_NONE 0x00 #define cOCT6100_CHANNEL_MUTE_PORT_RIN 0x01 #define cOCT6100_CHANNEL_MUTE_PORT_ROUT 0x02 #define cOCT6100_CHANNEL_MUTE_PORT_SIN 0x04 #define cOCT6100_CHANNEL_MUTE_PORT_SOUT 0x08 #define cOCT6100_CHANNEL_MUTE_PORT_SIN_WITH_FEATURES 0x10 /* Debug get data dump modes. */ #define cOCT6100_DEBUG_GET_DATA_MODE_16S_LITE 0x0 #define cOCT6100_DEBUG_GET_DATA_MODE_120S_LITE 0x1 #define cOCT6100_DEBUG_GET_DATA_MODE_16S 0x2 #define cOCT6100_DEBUG_GET_DATA_MODE_120S 0x3 #define cOCT6100_DEBUG_GET_DATA_MODE_CORE_DUMP 0x4 /* Debug get data dump content. */ #define cOCT6100_DEBUG_GET_DATA_CONTENT_COMPLETE 0x0 /* Full binary dump to be sent for support. */ #define cOCT6100_DEBUG_GET_DATA_CONTENT_RIN_PCM 0x1 /* Only Rin PCM stream data. */ #define cOCT6100_DEBUG_GET_DATA_CONTENT_SIN_PCM 0x2 /* Only Sin PCM stream data. */ #define cOCT6100_DEBUG_GET_DATA_CONTENT_SOUT_PCM 0x3 /* Only Sout PCM stream data. */ #define cOCT6100_BIST_IN_PROGRESS 0x0 #define cOCT6100_BIST_CONFIGURATION_FAILED 0x1 #define cOCT6100_BIST_STATUS_CRC_FAILED 0x2 #define cOCT6100_BIST_MEMORY_FAILED 0x3 #define cOCT6100_BIST_SUCCESS 0x4 /* Image types. */ #define cOCT6100_IMAGE_TYPE_WIRELINE 0x0 #define cOCT6100_IMAGE_TYPE_COMBINED 0x1 /* Fatal general error types. */ #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_1 0x0001 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_2 0x0002 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_3 0x0004 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_4 0x0008 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_5 0x0010 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_6 0x0020 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_7 0x0040 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_8 0x0080 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_9 0x0100 #define cOCT6100_FATAL_GENERAL_ERROR_TYPE_10 0x0200 #endif /* __OCT6100_DEFINES_H__ */