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

📄 tuner.c

📁 STV0299 Minituner driver, for ST chipset
💻 C
📖 第 1 页 / 共 5 页
字号:
			    hTunerInitParams->Chip->WrStart  = RSHARP_P_DIV1;
			    hTunerInitParams->Chip->WrSize   = 4;     
			    hTunerInitParams->Chip->RdStart  = RSHARP_STATUS;     
			    hTunerInitParams->Chip->RdSize   = 1;     

			    if(hTunerInitParams->NbDefVal == SHARP_NBREGS)
			    {
			        hTuner->Chip = ChipOpen(hTunerInitParams->Chip);

			        if(hTuner->Chip != NULL)
					{
						DefVal = hTuner->DefVal; /*  */    
			
						/*	REGISTER INITIALISATION	*/
						/*	P_DIV1	*/
						ChipAddReg(hTuner->Chip,RSHARP_P_DIV1,"P_DIV1",0x0000,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RSHARP_P_DIV1,FSHARP_FIX,"FIX",7,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_P_DIV1,FSHARP_N_MSB,"N_MSB",0,7,CHIP_UNSIGNED);

						/*	P_DIV2	*/
						ChipAddReg(hTuner->Chip,RSHARP_P_DIV2,"P_DIV2",0x0001,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RSHARP_P_DIV2,FSHARP_N_LSB,"N_LSB",0,8,CHIP_UNSIGNED);

						/*	CTRL1	*/
						ChipAddReg(hTuner->Chip,RSHARP_CTRL1,"CTRL1",0x0002,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RSHARP_CTRL1,FSHARP_ONE,"ONE",7,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL1,FSHARP_TA_ONE,"TA_ONE",6,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL1,FSHARP_T,"T",3,3,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL1,FSHARP_R,"R",0,3,CHIP_UNSIGNED);

						/*	CTRL2	*/
						ChipAddReg(hTuner->Chip,RSHARP_CTRL2,"CTRL2",0x0003,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RSHARP_CTRL2,FSHARP_CP,"CP",5,3,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL2,FSHARP_BS5,"BS5",4,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL2,FSHARP_BS,"BS",0,4,CHIP_UNSIGNED);


						/*	CTRL3	*/
						ChipAddReg(hTuner->Chip,RSHARP_CTRL3,"CTRL3",0x0004,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RSHARP_CTRL3,FSHARP_FIX1,"FIX1",7,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL3,FSHARP_TA,"TA",6,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL3,FSHARP_ZE,"ZE",4,2,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL3,FSHARP_ATC,"ATC",3,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_CTRL3,FSHARP_AL,"AL",0,3,CHIP_UNSIGNED);

						/*	STATUS	*/
						ChipAddReg(hTuner->Chip,RSHARP_STATUS,"STATUS",0x0005,*DefVal++,STCHIP_ACCESS_R);
						ChipAddField(hTuner->Chip,RSHARP_STATUS,FSHARP_POR,"POR",7,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_STATUS,FSHARP_FL,"FL",6,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_STATUS,FSHARP_ALBC,"ALBC",5,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_STATUS,FSHARP_FONE,"FONE",4,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_STATUS,FSHARP_AGC,"AGC",3,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RSHARP_STATUS,FSHARP_RES,"RES",0,3,CHIP_UNSIGNED);

					}
					 
				}

			break;
			
			case TUNER_TDA6650:
    			hTuner->StepSize = 166667;	/* 166,667 Khz StepSize */
    			hTuner->IF = 36125; 		/* 36 MHz intermediate frequency */
    			hTuner->BandWidth=8;
    			hTuner->IQ_Wiring = TUNER_IQ_NORMAL;   /* No hardware IQ invertion */
    			
			    /* fill elements of external chip data structure */
			    hTunerInitParams->Chip->NbRegs   = TDA6650_NBREGS;
			    hTunerInitParams->Chip->NbFields = TDA6650_NBFIELDS;
			    hTunerInitParams->Chip->ChipMode = STCHIP_MODE_NOSUBADR;
			    hTunerInitParams->Chip->WrStart  = RTDA6650_DIV1;
			    hTunerInitParams->Chip->WrSize   = 5;     
			    hTunerInitParams->Chip->RdStart  = RTDA6650_STATUS;     
			    hTunerInitParams->Chip->RdSize   = 1;     

			    if(hTunerInitParams->NbDefVal == TDA6650_NBREGS)
			    {
			        hTuner->Chip = ChipOpen(hTunerInitParams->Chip);

			        if(hTuner->Chip != NULL)
					{
						DefVal = hTuner->DefVal; /*  */    
			
						/*	REGISTER INITIALISATION	*/
						/*	DIV1	*/
						ChipAddReg(hTuner->Chip,RTDA6650_DIV1,"DIV1",0x0000,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RTDA6650_DIV1,FTDA6650_ZERO,"ZERO",7,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_DIV1,FTDA6650_N_MSB,"N_MSB",0,7,CHIP_UNSIGNED);

						/*	DIV2	*/
						ChipAddReg(hTuner->Chip,RTDA6650_DIV2,"DIV2",0x0001,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RTDA6650_DIV2,FTDA6650_N_LSB,"N_LSB",0,8,CHIP_UNSIGNED);

						/*	CTRL1	*/
						ChipAddReg(hTuner->Chip,RTDA6650_CTRL1,"CTRL1",0x0002,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL1,FTDA6650_F1,"F1",6,2,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL1,FTDA6650_T,"T",3,3,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL1,FTDA6650_RS,"RS",0,3,CHIP_UNSIGNED);

						/*	CTRL2	*/
						ChipAddReg(hTuner->Chip,RTDA6650_CTRL2,"CTRL2",0x0003,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL2,FTDA6650_CP,"CP",5,3,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL2,FTDA6650_BS,"BS",0,5,CHIP_UNSIGNED);

						/*	CTRL3	*/
						ChipAddReg(hTuner->Chip,RTDA6650_CTRL3,"CTRL3",0x0004,*DefVal++,STCHIP_ACCESS_W);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL3,FTDA6650_F2,"F2",4,4,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL3,FTDA6650_ATC,"ATC",3,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_CTRL3,FTDA6650_AL,"AL",0,3,CHIP_UNSIGNED);

						/*	STATUS	*/
						ChipAddReg(hTuner->Chip,RTDA6650_STATUS,"STATUS",0x0005,*DefVal++,STCHIP_ACCESS_R);
						ChipAddField(hTuner->Chip,RTDA6650_STATUS,FTDA6650_POR,"POR",7,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_STATUS,FTDA6650_FL,"FL",6,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_STATUS,FTDA6650_ALBC,"ALBC",5,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_STATUS,FTDA6650_ONE,"ONE",4,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_STATUS,FTDA6650_AGC,"AGC",3,1,CHIP_UNSIGNED);
						ChipAddField(hTuner->Chip,RTDA6650_STATUS,FTDA6650_A,"A",0,3,CHIP_UNSIGNED);
					}
				}
			
			break;
		
			
			case TUNER_ENV77H20:
			
			
    			hTuner->StepSize = 166667;	/* 166,667 Khz StepSize */
    			hTuner->IF = 36167; 		/* 36 MHz intermediate frequency */
    			hTuner->BandWidth=8;
    			hTuner->IQ_Wiring = TUNER_IQ_NORMAL;   /* No hardware IQ invertion */
    			
			    /* fill elements of external chip data structure */
			    hTunerInitParams->Chip->NbRegs   = ENV77H20_NBREGS;
			    hTunerInitParams->Chip->NbFields = ENV77H20_NBFIELDS;
			    hTunerInitParams->Chip->ChipMode = STCHIP_MODE_NOSUBADR;
			    hTunerInitParams->Chip->WrStart  = RENV77H20_DIV1;
			    hTunerInitParams->Chip->WrSize   = 8;     
			    hTunerInitParams->Chip->RdStart  = RENV77H20_STATUS;     
			    hTunerInitParams->Chip->RdSize   = 1;     

			    if(hTunerInitParams->NbDefVal == ENV77H20_NBREGS)
			    {
			        hTuner->Chip = ChipOpen(hTunerInitParams->Chip);

			        if(hTuner->Chip != NULL)
					{
						DefVal = hTuner->DefVal; /*  */    
			
							/*	REGISTER INITIALISATION	*/
							/*	DIV1	*/
							ChipAddReg(hTuner->Chip,RENV77H20_DIV1,"DIV1",0x0000,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RENV77H20_DIV1,FENV77H20_F0,"F0",7,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_DIV1,FENV77H20_N_MSB,"N_MSB",0,7,CHIP_UNSIGNED);

							/*	DIV2	*/
							ChipAddReg(hTuner->Chip,RENV77H20_DIV2,"DIV2",0x0001,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RENV77H20_DIV2,FENV77H20_N_LSB,"N_LSB",0,8,CHIP_UNSIGNED);

							/*	CTRL1	*/
							ChipAddReg(hTuner->Chip,RENV77H20_CTRL1,"CTRL1",0x0002,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1,FENV77H20_F1,"F1",7,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1,FENV77H20_ONE,"ONE",6,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1,FENV77H20_T,"T",3,3,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1,FENV77H20_R,"R",0,3,CHIP_UNSIGNED);

							/*	CTRL2	*/
							ChipAddReg(hTuner->Chip,RENV77H20_CTRL2,"CTRL2",0x0003,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL2,FENV77H20_CP,"CP",5,3,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL2,FENV77H20_F2,"F2",4,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL2,FENV77H20_P4,"P4",3,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL2,FENV77H20_P,"P",0,3,CHIP_UNSIGNED);

							/*	CTRL1_2	*/
							ChipAddReg(hTuner->Chip,RENV77H20_CTRL1_2,"CTRL1_2",0x0004,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1_2,FENV77H20_F3,"F3",7,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1_2,FENV77H20_ZERO,"ZERO",6,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1_2,FENV77H20_F4,"F4",4,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1_2,FENV77H20_ATC,"ATC",3,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_CTRL1_2,FENV77H20_AL,"AL",0,3,CHIP_UNSIGNED);

							/*	STATUS	*/
							ChipAddReg(hTuner->Chip,RENV77H20_STATUS,"STATUS",0x0005,*DefVal++,STCHIP_ACCESS_R);
							ChipAddField(hTuner->Chip,RENV77H20_STATUS,FENV77H20_POR,"POR",7,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_STATUS,FENV77H20_FL,"FL",6,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_STATUS,FENV77H20_F5,"F5",4,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_STATUS,FENV77H20_AGC,"AGC",3,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RENV77H20_STATUS,FENV77H20_A,"A",0,3,CHIP_UNSIGNED);


					  }
					}
			
			break;
			
			case TUNER_TDQD3:
    			hTuner->StepSize = 166667;	/* 166,667 Khz StepSize */
    			hTuner->IF = 36167; 		/* 36 MHz intermediate frequency */
    			hTuner->BandWidth=8;
    			hTuner->IQ_Wiring = TUNER_IQ_NORMAL;   /* No hardware IQ invertion */
    			
			    /* fill elements of external chip data structure */
			    hTunerInitParams->Chip->NbRegs   = TDQD3_NBREGS;
			    hTunerInitParams->Chip->NbFields = TDQD3_NBFIELDS;
			    hTunerInitParams->Chip->ChipMode = STCHIP_MODE_NOSUBADR;
			    hTunerInitParams->Chip->WrStart  = RTDQD3_DIV1;
			    hTunerInitParams->Chip->WrSize   = 5;     
			    hTunerInitParams->Chip->RdStart  = RTDQD3_STATUS;     
			    hTunerInitParams->Chip->RdSize   = 1;     

			    if(hTunerInitParams->NbDefVal == TDQD3_NBREGS)
			    {
			        hTuner->Chip = ChipOpen(hTunerInitParams->Chip);

			        if(hTuner->Chip != NULL)
					{
						DefVal = hTuner->DefVal; /*  */    
			
							/*	REGISTER INITIALISATION	*/
							/*	DIV1	*/
							ChipAddReg(hTuner->Chip,RTDQD3_DIV1,"DIV1",0x0000,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RTDQD3_DIV1,FTDQD3_ZERO,"ZERO",7,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_DIV1,FTDQD3_N_MSB,"N_MSB",0,7,CHIP_UNSIGNED);

							/*	DIV2	*/
							ChipAddReg(hTuner->Chip,RTDQD3_DIV2,"DIV2",0x0001,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RTDQD3_DIV2,FTDQD3_N_LSB,"N_LSB",0,8,CHIP_UNSIGNED);

							/*	CTRL1	*/
							ChipAddReg(hTuner->Chip,RTDQD3_CTRL1,"CTRL1",0x0002,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL1,FTDQD3_F1,"F1",6,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL1,FTDQD3_AGST,"AGST",3,3,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL1,FTDQD3_R,"R",0,3,CHIP_UNSIGNED);

							/*	CTRL2	*/
							ChipAddReg(hTuner->Chip,RTDQD3_CTRL2,"CTRL2",0x0003,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL2,FTDQD3_CP,"CP",6,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL2,FTDQD3_TS,"TS",4,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL2,FTDQD3_BS4,"BS4",3,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL2,FTDQD3_BS3,"BS3",2,1,CHIP_UNSIGNED); 
							ChipAddField(hTuner->Chip,RTDQD3_CTRL2,FTDQD3_BS21,"BS21",0,2,CHIP_UNSIGNED); 

							/*	CTRL3	*/
							ChipAddReg(hTuner->Chip,RTDQD3_CTRL3,"CTRL3",0x0004,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL3,FTDQD3_F2,"F2",6,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL3,FTDQD3_IFW,"IFW",4,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL3,FTDQD3_CP2,"CP2",3,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL3,FTDQD3_XLO,"XLO",1,2,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_CTRL3,FTDQD3_POW,"POW",0,1,CHIP_UNSIGNED);

							/*	STATUS	*/
							ChipAddReg(hTuner->Chip,RTDQD3_STATUS,"STATUS",0x0005,*DefVal++,STCHIP_ACCESS_R);
							ChipAddField(hTuner->Chip,RTDQD3_STATUS,FTDQD3_POR,"POR",7,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_STATUS,FTDQD3_FL,"FL",6,1,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_STATUS,FTDQD3_ONES,"ONES",3,3,CHIP_UNSIGNED);
							ChipAddField(hTuner->Chip,RTDQD3_STATUS,FTDQD3_A,"A",0,3,CHIP_UNSIGNED);
							
					  }
					}
			
					

			break;
			
			case TUNER_TD1300ALF:
			
    			hTuner->StepSize = 166667;	/* 166,667 Khz StepSize */
    			hTuner->IF = 36130; 		/* 36 MHz intermediate frequency */
    			hTuner->BandWidth=8;
    			hTuner->IQ_Wiring = TUNER_IQ_NORMAL;   /* No hardware IQ invertion */
    			
			    /* fill elements of external chip data structure */
			    hTunerInitParams->Chip->NbRegs   = TD1300ALF_NBREGS;
			    hTunerInitParams->Chip->NbFields = TD1300ALF_NBFIELDS;
			    hTunerInitParams->Chip->ChipMode = STCHIP_MODE_NOSUBADR;
			    hTunerInitParams->Chip->WrStart  = RTD1300ALF_DIV1;
			    hTunerInitParams->Chip->WrSize   = 5;     
			    hTunerInitParams->Chip->RdStart  = RTD1300ALF_STATUS;     
			    hTunerInitParams->Chip->RdSize   = 1;     

			    if(hTunerInitParams->NbDefVal == TD1300ALF_NBREGS)
			    {
			        hTuner->Chip = ChipOpen(hTunerInitParams->Chip);

			        if(hTuner->Chip != NULL)
					{
						DefVal = hTuner->DefVal; /*  */    
			
							/*	REGISTER INITIALISATION	*/
							/*	DIV1	*/
							ChipAddReg(hTuner->Chip,RTD1300ALF_DIV1,"DIV1",0x0000,*DefVal++,STCHIP_ACCESS_W);
							ChipAddField(hTuner->Chip,RTD1300ALF_DIV1,FTD1300ALF_ZERO,"ZERO",7,1,CHIP_UNSIGNED);

⌨️ 快捷键说明

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