⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d0370vsb.c

📁 st7710的tuner标准驱动
💻 C
📖 第 1 页 / 共 4 页
字号:
/* ----------------------------------------------------------------------------
File Name: d0370VSB.c

Description:

    stb0370 8VSB demod driver.


Copyright (C) 2004-2006 STMicroelectronics

History:

   date: 
version: 
 author: 
comment: 

Reference:

    
---------------------------------------------------------------------------- */


/* Includes ---------------------------------------------------------------- */

/* C libs */
#include <string.h>

#include "stlite.h"     /* Standard includes */

/* STAPI */
#include "sttbx.h"
#include "stevt.h"
#include "sttuner.h"

/* local to sttuner */
#include "util.h"       /* generic utility functions for sttuner */
#include "dbtypes.h"    /* data types for databases */
#include "sysdbase.h"   /* functions to accesss system data */

#include "ioarch.h"     /* I/O for this driver */
#include "ioreg.h"      /* I/O for this driver */
#include "chip.h"

/* LLA */


#include "370_VSB_init.h"    /* register mappings for the stv0360 */
#include "370_VSB_drv.h"    /* misc driver functions */
#include "d0370VSB.h"      /* header for this file */
#include "370_VSB_map.h"

#include "tioctl.h"     /* data structure typedefs for all the ter ioctl functions */


        #define DELAGC_0_VALUE 255
	#define DELAGC_1_VALUE 255 
	#define DELAGC_6_VALUE 128
	#define WBAGC_1_VALUE 2
	
 U16  STB0370_VSBAddress[STB0370_VSB_NBREGS] =
{
0xf000,
0xf001,
0xf002,
0xf003,
0xf004,
0xf005,
0xf006,
0xf007,
0xf640,
0xf641,
0xf610,
0xf611,
0xf612,
0xf613,
0xf614,
0xf615,
0xf616,
0xf617,
0xf618,
0xf619,
0xf61c,
0xf010,
0xf011,
0xf012,
0xf013,
0xf014,
0xf015,
0xf016,
0xf017,
0xf018,
0xf019,
0xf01a,
0xf01b,
0xf01c,
0xf01d,
0xf01e,
0xf01f,
0xf020,
0xf021,
0xf022,
0xf023,
0xf024,
0xf025,
0xf026,
0xf027,
0xf028,
0xf029,
0xf02a,
0xf02b,
0xf02c,
0xf02d,
0xf02e,
0xf02f,
0xf030,
0xf031,
0xf032,
0xf033,
0xf034,
0xf035,
0xf036,
0xf037,
0xf038,
0xf039,
0xf03a,
0xf03b,
0xf03c,
0xf03d,
0xf03e,
0xf03f,
0xf040,
0xf041,
0xf042,
0xf043,
0xf044,
0xf045,
0xf046,
0xf047,
0xf048,
0xf049,
0xf04a,
0xf04b,
0xf04c,
0xf04d,
0xf04e,
0xf04f,
0xf050,
0xf051,
0xf052,
0xf053,
0xf054,
0xf055,
0xf056,
0xf057,
0xf058,
0xf059,
0xf05a,
0xf05b,
0xf05c,
0xf05d,
0xf05e,
0xf05f,
0xf060,
0xf061,
0xf062,
0xf063,
0xf064,
0xf065,
0xf066,
0xf067,
0xf068,
0xf069,
0xf06a,
0xf06b,
0xf06c,
0xf06d,
0xf06e,
0xf06f,
0xf070,
0xf071,
0xf072,
0xf073,
0xf074,
0xf075,
0xf076,
0xf077,
0xf078,
0xf079,
0xf07a,
0xf07b,
0xf07c,
0xf07d,
0xf07e,
0xf07f,
0xf080,
0xf081,
0xf082,
0xf083,
0xf084,
0xf085,
0xf086,
0xf087,
0xf088,
0xf089,
0xf08a,
0xf08b,
0xf08c,
0xf08d,
0xf08e,
0xf08f,
0xf090,
0xf091,
0xf092,
0xf093,
0xf094,
0xf095,
0xf096,
0xf097,
0xf098,
0xf099,
0xf09a,
0xf09b,
0xf09c,
0xf09d,
0xf09e,
0xf09f,
0xf0a0,
0xf0a1,
0xf0a2,
0xf0a3,
0xf0a4,
0xf0a5,
0xf0a6,
0xf0a7,
0xf0a8,
0xf0a9,
0xf422,
0xf423,
0xf428,
0xf432
};	
U8  STB0370_VSBDefVal[STB0370_VSB_NBREGS]=
{
0x0010,     /*R_ID          		 -   0xf000 */
0x0000,     /*R_I2C_PAGE   		 -   0xf001 */
0x0032,     /*R_I2CRPT1     		 -   0xf002 */ /*Changed for SER calculation*/
0x0007,     /*R_I2CRPT2    		 -   0xf003 */
0x000a,     /*R_CLK_CTRL   		 -   0xf004 */
0x00cd,     /*R_STANDBY   		 -   0xf005 */
0x0058,     /*R_IO_CTRL    		 -   0xf006 */
0x0004,     /*R_GPIO_INFO   		 -   0xf007 */ 
0x0002,     /*R_AD_INTERF   		 -   0xf640 */
0x0008,     /*R_TEST_AD_IF  		 -   0xf641 */
0x00c7,     /*R_PLL_CTRL    		 -   0xf610 */
0x0008,     /*R_PLL_TEST    		 -   0xf611 */ /*Use QAM  clock path for AD10 (cut 2.0)*/
0x0000,     /*R_NCO_PLL1    		 -   0xf612 */
0x0000,     /*R_NCO_PLL2   		 -   0xf613 */
0x0000,     /*R_NCO_TST_PLL 		 -   0xf614 */
0x0003,     /*R_NCO_CTRL   		 -   0xf615 */
0x0000,     /*R_NCO_SYNTH_COARSE_FREQ    -   0xf616 */
0x0000,     /*R_NCO_SYNTH_FINE_FREQ_1    -   0xf617 */
0x0000,     /*R_NCO_SYNTH_FINE_FREQ_0    -   0xf618 */
0x0008,     /*R_OOB_TUNER_CTRL           -   0xf619 */
0x00B4,     /*R_AD10_CTRL                -   0xf61c *//*select QAM pin i/p and AGC o/p common(cut 2.0)*/
0x0000,     /*R_DEMOD_CTRL               -   0xf010 */
0x0000,     /*R_SYNCCTRL                 -   0xf011 */
0x0080,     /*R_AGCCTRL1                 -   0xf012 */
0x0000,     /*R_AGCCTRL2		 -   0xf013 *//* changed to resolve issue with low signal level*/
0x0072,     /*R_AGCPWR_LSB               -   0xf014 */
0x00f0,     /*R_AGCPWR_MSB               -   0xf015 */
0x00ff,     /*R_AGCITHUP_LSB             -   0xf016 */
0x0007,     /*R_AGCITHUP_MSB             -   0xf017 */
0x0000,     /*R_AGCITHLOW_LSB            -   0xf018 */
0x0008,     /*R_AGCITHLOW_MSB            -   0xf019 */
0x0080,     /*R_AGCTH_LSB                -   0xf01a */
0x0003,     /*R_AGCTH_MSB                -   0xf01b */
0x0004,     /*R_AGCBWSEL                 -   0xf01c *//* changed to resolve issue with low signal level,AGC speed*/
0x0001,     /*R_TAGCBWSEL                -   0xf01d *//* changed to resolve issue with low signal level*/
0x0080,     /*R_TST_PWM1                 -   0xf01e */
0x0073,     /*R_TST_PWM2                 -   0xf01f */
0x0000,     /*R_TST_PWM3                 -   0xf020 */
0x00e0,     /*R_AGC_IND_LSB              -   0xf021 */
0x00f8,     /*R_AGC_IND_MSB              -   0xf022 */
0x0003,     /*R_AGC_IND_MMSB             -   0xf023 */
0x00e2,     /*R_VCXOOFFSET1              -   0xf024 */
0x005e,     /*R_VCXOOFFSET2              -   0xf025 */
0x0005,     /*R_VCXOOFFSET3              -   0xf026 */
0x00b3,     /*R_VCXOOFFSET4              -   0xf027 */
0x00ba,     /*R_GAINSRC_LSB              -   0xf028 */
0x003f,     /*R_GAINSRC_MSB              -   0xf029 */
0x0000,     /*R_VCXOINITV                -   0xf02a */
0x0000,     /*R_GAIN1ACQ1_LSB            -   0xf02b */
0x007d,     /*R_GAIN1ACQ1_MSB            -   0xf02c */
0x0020,     /*R_GAIN1ACQ2_LSB            -   0xf02d */
0x00f4,     /*R_GAIN1ACQ2_MSB            -   0xf02e */
0x0010,     /*R_GAIN1TRACK_LSB           -   0xf02f */
0x00d8,     /*R_GAIN1TRACK_MSB           -   0xf030 */
0x0080,     /*R_GAIN2ACQ1_LSB            -   0xf031 */
0x0080,     /*R_GAIN2ACQ1_MSB            -   0xf032 */
0x0020,     /*R_GAIN2ACQ2_LSB    	 -   0xf033 */
0x0078,     /*R_GAIN2ACQ2_MSB            -   0xf034 */
0x0020,     /*R_GAIN2TRK_LSB             -   0xf035 */
0x00e4,     /*R_GAIN2TRK_MSB             -   0xf036 */
0x0005,     /*R_GAIN3ACQ                 -   0xf037 */
0x0005,     /*R_GAIN3TRK 		 -   0xf038 */
0x001b,     /*R_VCXOERR_LSB              -   0xf039 */
0x00fd,     /*R_VCXOERR_MSB     	 -   0xf03a */
0x0000,     /*R_VCXOERR_MMSB             -   0xf03b */
0x00a7,     /*R_TIMLOCKDETECT_LSB        -   0xf03c */
0x00e8,     /*R_TIMLOCKDETECT_MSB        -   0xf03d */
0x0004,     /*R_TIMLOCKDETECT_MMSB       -   0xf03e */
0x0000,     /*R_FREQLOCK_LSB             -   0xf03f */
0x0077,     /*R_FREQLOCK_MSB             -   0xf040 */
0x0001,     /*R_FREQLOCK_MMSB            -   0xf041 */
0x0000,     /*R_TIMINGAGCREF_LSB         -   0xf042 */
0x0014,     /*R_TIMINGAGCREF_MSB         -   0xf043 */
0x004c,     /*R_NCOCNST_LSB		 -   0xf044 */
0x0068,     /*R_NCOCNST_MSB              -   0xf045 */
0x002f,     /*R_NCOCNST_MMSB             -   0xf046 */
0x0002,     /*R_NCOGAIN1ACQ              -   0xf047 */
0x0002,     /*R_NCOGAIN1TRACK            -   0xf048 */
0x0008,     /*R_NCOGAIN2ACQ              -   0xf049 */
0x0008,     /*R_NCOGAIN2TRACK            -   0xf04a */
0x0006,     /*R_NCOGAIN3 		 -   0xf04b */
0x0009,     /*R_NCOERR_LSB		 -   0xf04c */
0x00fe,     /*R_NCOERR_MSB		 -   0xf04d */
0x0001,     /*R_NCOERR_MMSB		 -   0xf04e */
0x005d,     /*R_CARLOCKDETECT1_LSB       -   0xf04f */
0x00d7,	    /*R_CARLOCKDETECT1_MSB       -   0xf050 */
0x0004,	    /*R_CARLOCKDETECT1_MMSB      -   0xf051 */
0x0001,     /*R_CARLOCKDETECT2_LSB	 -   0xf052 */
0x0051,     /*R_CARLOCKDETECT2_MSB       -   0xf053 */
0x0000,     /*R_CARLOCKDETECT2_MMSB      -   0xf054 */
0x0000,     /*R_CARRIERLOCKTH_LSB        -   0xf055 */
0x0077,     /*R_CARRIERLOCKTH_MSB        -   0xf056 */
0x00c5,     /*R_CARRIERLOCKTH_MMSB       -   0xf057 */
0x0000,     /*R_CARRIERAGCREF_LSB        -   0xf058 */
0x00c2,     /*R_CARRIERAGCREF_MSB        -   0xf059 */
0x0014,     /*R_CARAGCMIXRATIO 	         -   0xf05a */
0x0000,     /*R_FSM1                     -   0xf05b */
0x0000,     /*R_FSM2			 -   0xf05c */
0x00ff,     /*R_MAINSMUP                 -   0xf05d */
0x00ff,     /*R_EQSMUP			 -   0xf05e */
0x00ff,     /*R_STATEVAL_LSB             -   0xf05f */
0x000f,	    /*R_STATEVAL_MSB             -   0xf060 */
0x0090,     /*R_STATEVAL_MMSB            -   0xf061 */
0x0000,     /*R_UPDATEVCXO_LSB           -   0xf062 */
0x0000,     /*R_UPDATEVCXO_MSB           -   0xf063 */
0x008e,     /*R_UPDATEVCXO_MMSB          -   0xf064 */
0x001a,     /*R_MAXNBFRAMERCA            -   0xf065 */
0x00c8,     /*R_MAXNBFRAMEDD_LSB         -   0xf066 */
0x0000,     /*R_MAXNBFRAMEDD_MSB	 -   0xf067 */
0x00ff,     /*R_NCO_TIMEOUT_LSB          -   0xf068 */
0x00ff,     /*R_NCO_TIMEOUT_MSB          -   0xf069 */
0x003f,     /*R_NCO_TIMEOUT_MMSB 	 -   0xf06a */
0x005a,     /*R_DEMSTATUS		 -   0xf06b */
0x0070,     /*R_SYSCTRL    		 -   0xf06c */
0x0000,     /*R_SEG_INIT_LSB		 -   0xf06d */
0x00e1,	    /*R_SEG_INIT_MSB		 -   0xf06e */
0x0037,	    /*R_CENTROIDCALDONE_LSB	 -   0xf06f */
0x00f1,	    /*R_CENTROIDCALDONE_MSB	 -   0xf070 */
0x0000,	    /*R_CENTROIDOFFSET_LSB 	 -   0xf071 */
0x0000,	    /*R_CENTROIDOFFSET_MSB	 -   0xf072 */
0x0040,	    /*R_FFEGAINTRAIN		 -   0xf073 */
0x0008,	    /*R_FFEGAINRCA1	         -   0xf074 */
0x0008,	    /*R_FFEGAINRCA2 		 -   0xf075 */
0x0010,	    /*R_FFEGAINDDM1		 -   0xf076 */
0x0008,	    /*R_FFEGAINDDM2		 -   0xf077 */
0x0040,	    /*R_DFEGAINTRAIN		 -   0xf078 */
0x0020,	    /*R_DFEGAINRCA1 	 	 -   0xf079 */
0x0010,     /*R_DFEGAINRCA2 		 -   0xf07a */
0x0020,     /*R_DFEGAINDDM1		 -   0xf07b */
0x0020,     /*R_DFEGAINDDM2	         -   0xf07c */
0x00ca,     /*R_SNR_TH_DDM1	         -   0xf07d */
0x00ca,     /*R_SNR_TH_DDM2		 -   0xf07e */
0x00d8,     /*R_SNR_TH_PT		 -   0xf07f */
0x0053,     /*R_SNR_TH_RCA1		 -   0xf080 */
0x0075,     /*R_SNR_TH_RCA2		 -   0xf081 */
0x000d,     /*R_LEAKFFETRAIN		 -   0xf082 */
0x0077,     /*R_LEAKFFERCA		 -   0xf083 */
0x0097,     /*R_LEAKFFEDDM		 -   0xf084 */
0x0008,	    /*R_LEAKDFETRAIN		 -   0xf085 */
0x0034,     /*R_LEAKDFERCA		 -   0xf086 */
0x0022,	    /*R_LEAKDFEDDM		 -   0xf087 */
0x0030,     /*R_TRACK_REG		 -   0xf088 */
0x00b8,     /*R_DFE_CTRL		 -   0xf089 */
0x0000,     /*R_TAP_CTRL                 -   0xf08a */
0x0000,     /*R_TAP_POINTER_LSB	         -   0xf08b */
0x0000,     /*R_TAP_POINTER_MSB          -   0xf08c */
0x0000,     /*R_TAP_GETBYTE 	         -   0xf08d */
0x0000,     /*R_TAP_PUTBYTE		 -   0xf08e */
0x0000,     /*R_DECCTRL			 -   0xf08f */
0x0000,     /*R_DECSYNCCTRL		 -   0xf090 */
0x0000,     /*R_SER_LSB			 -   0xf091 */
0x0000,     /*R_SER_MSB			 -   0xf092 */
0x0089,     /*R_SER_PERIOD_LSB           -   0xf093 */	/*Changed for BER calculation*/		
0x0032,     /*R_SER_PERIOD_MSB		 -   0xf094 */  /*Changed for BER calculation*/
0x002a,     /*R_DEC_STATUS		 -   0xf095 */
0x004e,     /*R_SIGNAL_POWER_LSB	 -   0xf096 */
0x0004,	    /*R_SIGNAL_POWER_MSB         -   0xf097 */
0x000c,     /*R_ERROR_POWER_LSB		 -   0xf098 */
0x0000,     /*R_ERROR_POWER_MSB		 -   0xf099 */
0x000b,     /*R_BERCTRL			 -   0xf09a */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -