📄 hamaro_cx24128.h
字号:
/* cobra_cx24128.h */
/*+++ *******************************************************************\
*
* Copyright and Disclaimer:
*
* ---------------------------------------------------------------
* ALL SOFTWARE, APPLICATIONS, DOCUMENTATION, OR MATERIALS
* FURNISHED HEREIN IS PROVIDED *AS IS*. CONEXANT DOES NOT MAKE
* ANY WARRANTIES, EITHER EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY
* DISCLAIMS ANY AND ALL SUCH WARRANTIES TO THE EXTENT PERMITTED
* BY LAW, INCLUDING, SPECIFICALLY, ANY IMPLIED WARRANTY ARISING
* BY STATUTE OR OTHERWISE IN LAW OR FROM A COURSE OF DEALING OR
* USAGE OF TRADE. CONEXANT DOES NOT MAKE ANY WARRANTIES, EITHER
* EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY DISCLAIMS ANY AND ALL
* SUCH WARRANTIES WITH RESPECT TO ALL SOFTWARE, APPLICATIONS,
* DOCUMENTATION, AND MATERIALS INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY, OR OF MERCHANTABLE QUALITY, OR OF FITNESS
* FOR ANY PURPOSE, PARTICULAR, SPECIFIC OR OTHERWISE, OR OF
* NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF OTHERS,
* RELATING TO THE SOFTWARE, APPLICATIONS, OPERATION,
* DOCUMENTATION, DATA OR RESULTS GENERATED BY THE OPERATION OR
* USE THEREOF, AND MATERIALS PROVIDED HEREIN. THE ENTIRE RISK AS
* TO THE SUBSTANCE, QUALITY AND PERFORMANCE OF SOFTWARE,
* APPLICATIONS, AND DOCUMENTATION DESCRIBING SUCH SOFTWARE
* REMAINS WITH THE BUYER.
*
* REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN FAILS OF ITS
* ESSENTIAL PURPOSE OR OTHERWISE, CONEXANT SHALL NOT BE LIABLE
* FOR ANY EXEMPLARY, SPECIAL, PUNITIVE, SPECULATIVE, INDIRECT,
* CONSEQUENTIAL OR INCIDENTAL DAMAGES OF ANY KIND (INCLUDING
* WITHOUT LIMITATION LOST PROFITS, LOSS OF INCOME, LOSS OF
* GOODWILL, OR OTHER TANGIBLE OR INTANGIBLE BUSINESS LOSS)
* ARISING OUT OF OR IN CONNECTION WITH, DIRECTLY OR INDIRECTLY,
* SOFTWARE, APPLICATIONS, DOCUMENTATION, OR ANY SERVICES OR
* MATERIALS PROVIDED HEREUNDER, OR USE OR INABILITY TO USE THE
* SOFTWARE, EVEN IF CONEXANT HAS BEEN ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGES.
*
* Copyright (c) 2001 Conexant Systems, Inc.
* All Rights Reserved.
* ---------------------------------------------------------------
*
* Module Revision Id:
*
* $Header: hamaro_cx24128.h, 8, 2007-8-17 15:36:41, Tim Lu$
*
* Abstract:
*
* Contains CX24128-specific definitions and prototypes.
*
\******************************************************************* ---*/
#ifndef HAMARO_CX24128_H_DEFINED
#define HAMARO_CX24128_H_DEFINED
#define HAMARO_CX24128_DEMOD_HANDLE_REPEATER_SHIFT 16
#define HAMARO_CX24128_COMMON_REG_MAX 0x03
#define HAMARO_VIPER_CHIP_ID 0x43
#define MONGOOSE_CHIP_ID 0x23
#define MONGOOSE_XT_CHIP_ID 0x24
#define MONGOOSE_REVB_CHIP_VERSION 0x02 /* -- Mongoose RevB -- */
#define MONGOOSEXT_REVC_CHIP_VERSION 0x03 /* XT chip */
#define HAMARO_CX24128_I2C_ADD1 0xA8
#define HAMARO_CX24128_I2C_ADD2 0x28
#define HAMARO_CX24128_ICPS 4
#define HAMARO_CX24128_MAX_GMCBW 44350
#define HAMARO_CX24128_MIN_GMCBW 2000 /* in kHz */
#define HAMARO_CX24128_GMCBW_STEP_SIZE 1000 /* in kHz */
#define HAMARO_CX24128_DIVIDER 262144
#define HAMARO_CX24128_F_0_WINDOW 3277 /* +/- 0.025 * HAMARO_CX24128_DIVIDER/2 */
#define HAMARO_CX24128_F_SIDE_WINDOW 1638 /* +/- 0.0125 * HAMARO_CX24128_DIVIDER/2 */
#define HAMARO_CX24113_LO_DIV_BREAKPOINT 1100 /* MHz */
#define HAMARO_CX24128_LO_DIV_BREAKPOINT 1165 /* MHz */
#define HAMARO_CX24128_REFSEL_SPI_DIV2 0x01
#define HAMARO_CX24128_REFSEL_SPI_DIV1 0x00
#define HAMARO_T1_DEMOD_HIGHEST_BIT 0x100
#define HAMARO_CX24128_ICP_XTAL_THRESH (11UL*HAMARO_MM)
#define HAMARO_CX24128_BS_FREQ_XTAL_THRESH (40UL*HAMARO_MM)
#define HAMARO_CX24128_A3_XTAL_FREQ (40UL*HAMARO_MM)
#define HAMARO_CX24128_TUNER_A_I2C_OFFSET (0x00)
#define HAMARO_CX24128_TUNER_B_I2C_OFFSET (0x20)
#define HAMARO_CX24128_TUNER_A_BTI_OFFSET (0x00)
#define HAMARO_CX24128_TUNER_B_BTI_OFFSET (0x09)
#define HAMARO_BTI_OPER_MODE_WR (0x00000000)
#define HAMARO_BTI_OPER_MODE_RD_ADDR (0x00800000)
#define HAMARO_BTI_OPER_MODE_RD_DATA (0x00A00000)
#define HAMARO_MAX_VCO_SELECTIONS 12
/* I2C offset = either 0 or HAMARO_CX24128_TUNER_B_I2C_OFFSET depending on HAMARO_GET_DEMOD_HANDLE_UNIT() */
#define HAMARO_GET_CX24128_I2C_REGISTER_OFFSET(handle) (HAMARO_GET_TUNER_HANDLE_UNIT(handle) * HAMARO_CX24128_TUNER_B_I2C_OFFSET)
#define HAMARO_GET_CX24128_BTI_REGISTER_OFFSET(handle) (HAMARO_GET_TUNER_HANDLE_UNIT(handle) * HAMARO_CX24128_TUNER_B_BTI_OFFSET)
#ifndef HAMARO_CX24128_NOPROTO
/*******************************************************************************************************/
/* prototypes */
/*******************************************************************************************************/
BOOL HAMARO_TUNER_CX24128_powerup(HAMARO_NIM *p_nim);
void HAMARO_TUNER_CX24128_initialize(HAMARO_NIM *p_nim);
BOOL HAMARO_TUNER_CX24128_GetReferenceFreq(HAMARO_NIM *p_nim,HAMARO_RFREQVAL *rfreqvalue);
BOOL HAMARO_TUNER_CX24128_SetVcoDivider(HAMARO_NIM *p_nim,HAMARO_VCODIV vcodiv);
BOOL HAMARO_TUNER_CX24128_SetParameters(HAMARO_NIM *p_nim,HAMARO_VIPERPARMS *viperparms);
BOOL HAMARO_TUNER_CX24128_GetParameters(HAMARO_NIM *p_nim,HAMARO_VIPERPARMS *p_viperparms);
BOOL HAMARO_TUNER_CX24128_SetFrequency(HAMARO_NIM *p_nim,unsigned long freq);
BOOL HAMARO_TUNER_CX24128_SetFilterBandwidth(HAMARO_NIM *p_nim, unsigned long bandwidthkhz);
BOOL HAMARO_TUNER_CX24128_GetFilterBandwidth(HAMARO_NIM *p_nim,HAMARO_FILTERBW *p_filterbandwidth,unsigned short *p_gmcbandwidth);
BOOL HAMARO_TUNER_CX24128_GetGainSettings(HAMARO_NIM *p_nim,HAMARO_AMPOUT *p_ampout,HAMARO_VGA1OFFSET *p_vga1offset,HAMARO_VGA2OFFSET *p_vga2offset,HAMARO_RFVGAOFFSET *p_rfvgaoffset);
BOOL HAMARO_TUNER_CX24128_SetGainSettings(HAMARO_NIM *p_nim, unsigned long symbolrateksps);
BOOL HAMARO_TUNER_CX24128_GetClkInversion(HAMARO_NIM *p_nim,BOOL *p_clkinversion);
BOOL HAMARO_TUNER_CX24128_GetEnableRegister(HAMARO_NIM *p_nim, unsigned char *p_enable);
BOOL HAMARO_TUNER_CX24128_GetVcoStatus(HAMARO_NIM *p_nim, HAMARO_VCOSTATUS *p_vcostatus);
BOOL HAMARO_TUNER_CX24128_GetAnalogICPLevel(HAMARO_NIM *p_nim, HAMARO_ICPSELECT *p_icplevel);
BOOL HAMARO_TUNER_CX24128_GetPLLFrequency(HAMARO_NIM *p_nim,unsigned long *pllfreq);
BOOL HAMARO_TUNER_CX24128_pll_status(HAMARO_NIM *p_nim,BOOL *locked);
BOOL HAMARO_TUNER_CX24128_calc_pllNF(HAMARO_NIM *p_nim,unsigned short *nvalue,int *fvalue);
BOOL HAMARO_TUNER_CX24128_CalculateNFR(HAMARO_NIM *p_nim,unsigned long Fdesired,HAMARO_RDIVVAL R,unsigned int *nvalue,long *fvalue);
BOOL HAMARO_TUNER_CX24128_SetDemodRepeaterMode(HAMARO_NIM* p_nim);
BOOL HAMARO_TUNER_CX24128_EnableDemodRepeaterMode(HAMARO_NIM *p_nim);
/* low-level I2C operations */
BOOL HAMARO_TUNER_CX24128_RepeaterModeReadData(HAMARO_NIM* p_nim, unsigned long handle, HAMARO_SBaddress address, unsigned char* p_data_read);
BOOL HAMARO_TUNER_CX24128_RepeaterModeWriteData(HAMARO_NIM* p_nim, unsigned long handle, HAMARO_SBaddress address, unsigned char value);
#if HAMARO_INCLUDE_DEBUG
BOOL HAMARO_TUNER_CX24128_validate(HAMARO_NIM *p_nim);
#endif /* HAMARO_INCLUDE_DEBUG */
#endif /* #ifndef HAMARO_CX24128_NOPROTO */
/*******************************************************************************************************/
/*******************************************************************************************************/
/*******************************************************************************************************/
#endif /* #ifndef HAMARO_CX24128_H_DEFINED */
/* CR 9509 : Add an extra newline */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -