示例#1
0
文件: NMI120.c 项目: mrtos/gk6105s-id
uint8_t nmituner_settuner(uint32_t dwFreq, uint8_t ucBw, tNMI_ALLTVSTD tvstd)
{
	tNMI_TUNE_PARAM param;
	uint8_t ret = FALSE;
	nmi_tuner_os_memset((void *)&param, 0x00, sizeof(tNMI_TUNE_PARAM));

	param.freq = dwFreq * 1000;
	param.if_freq = 4800 * 1000;
	param.dacsel =  nDac2;
	param.if_freq_invert = FALSE;
	param.freq_invert = FALSE;
	param.ucBw = ucBw;
	param.output = nIf;
	param.tvstd = NMI_DTMB;
	
	ret = Nmi_Tuner_Interface_Tuning(&param);
	//nmi_tuner_os_log("after Nmi_Tuner_Interface_Tuning~~~2222222222222222~~~~~~~~~~\n");
	Nmi_Tuner_Interface_Wreg(0x35,0x53);
	Nmi_Tuner_Interface_Wreg(0x164,0x400);//for 8859 IF RMS wei
	return ret;

}
uint8_t MDrv_NMI120_Tuner_SetTuner(uint32_t dwFreq, uint8_t ucBw,uint8_t type)//MHZ
{
	tNMI_TUNE_PARAM param;
	uint8_t ret = FALSE;

	nmi_tuner_os_memset((void *)&param, 0x00, sizeof(tNMI_TUNE_PARAM));

	param.freq = dwFreq;//hz
	param.if_freq = 5000000;
	param.dacsel =  nDac2;
	param.if_freq_invert = FALSE;
	param.freq_invert = FALSE;
	param.ucBw = ucBw;
	param.output = nIf;
	param.freq_invert = FALSE;
	param.tvstd       = type;	//NMI_DVBT;

	if(param.tvstd == NMI_DVBT || param.tvstd == NMI_DVBT2)
		nmi_tuner_os_memcpy((void*)&param.poll_param,&SwrfliArg,sizeof(tNmiSwrfliArg));
	if(param.tvstd == NMI_DVBT2)
	{
		param.scan_aci[0] = 0x07;//6mhz
		param.scan_aci[1] = 0x0a;//7mhz
		param.scan_aci[2] = 0x04;//8mhz
		
		param.play_aci[0] = 0x07;//6mhz
		param.play_aci[1] = 0x0a;//7mhz
		param.play_aci[2] = 0x04;//8mhz
	}	
	else if(param.tvstd == NMI_DVBT || param.tvstd == NMI_DVBC)
	{
		param.scan_aci[0] = 0x07;//6mhz
		param.scan_aci[1] = 0x0a;//7mhz
		param.scan_aci[2] = 0x04;//8mhz
		
		param.play_aci[0] = 0x07;//6mhz
		param.play_aci[1] = 0x0a;//7mhz
		param.play_aci[2] = 0x04;//8mhz
	}	
	else
	{
		param.scan_aci[0] = 0x01;//6mhz
		param.scan_aci[1] = 0x03;//7mhz
		param.scan_aci[2] = 0x05;//8mhz
		
		param.play_aci[0] = 0x01;//6mhz
		param.play_aci[1] = 0x03;//7mhz
		param.play_aci[2] = 0x05;//8mhz
	}
	nmi_tuner_os_log("tune: rf=%d, if=%d, bw=%d, tvstd=%d\n", param.freq, param.if_freq, param.ucBw, param.tvstd);
	ret = Nmi_Tuner_Interface_Tuning(&param);

	Nmi_Tuner_Interface_Wreg(0x35,0x18);//0x18 ~ 0x10, 0x5f~ 0x50
	Nmi_Tuner_Interface_Wreg(0x164,0x400);

	if((param.freq >666000000-1500000) &&(param.freq <666000000+1500000))
	{
		Nmi_Tuner_Interface_Wreg(0x05,0x5);
	}

	return ret;

}