static int dvb_d0367_fe_qam_init(struct dvb_frontend* fe) { struct dvb_d0367_fe_qam_state* state = fe->demodulator_priv; TUNER_IOREG_DeviceMap_t *DeviceMap; IOARCH_Handle_t IOHandle; DeviceMap = &state->DeviceMap; IOHandle = state->IOHandle; D0367qam_Init(DeviceMap, IOHandle, TUNER_TUNER_SHARP5469C); return 0; }
/*********************************************************************** 函数名称: demod_d0367qam_Reset 函数说明: 复位0367 寄存器 修改记录: 日 期 作 者 修定 --------- --------- ----- 2010.12.28 lwj 创建 ************************************************************************/ YW_ErrorType_T demod_d0367qam_Reset(U8 Index) { YW_ErrorType_T Error = YW_NO_ERROR; TUNER_ScanTaskParam_T *Inst = NULL; IOARCH_Handle_t IOHandle; TUNER_IOREG_DeviceMap_t *DeviceMap; Inst = TUNER_GetScanInfo(Index); IOHandle = Inst->DriverParam.Cab.DemodIOHandle; DeviceMap = &Inst->DriverParam.Cab.Demod_DeviceMap; D0367qam_Init(DeviceMap, IOHandle, Inst->DriverParam.Cab.TunerType); //pParams->MasterClock_Hz = FE_367qam_GetMclkFreq(pParams->hDemod,pParams->Crystal_Hz); //pParams->AdcClock_Hz = FE_367qam_GetADCFreq(pParams->hDemod,pParams->Crystal_Hz); //question return(Error); }
/*********************************************************************** 函数名称: demod_d0367qam_Open 函数说明: 打开0367qam,初始化寄存器 修改记录: 日 期 作 者 修定 --------- --------- ----- 2010.12.28 lwj 创建 ************************************************************************/ YW_ErrorType_T demod_d0367qam_Open(U8 Handle) { YW_ErrorType_T Error = YW_NO_ERROR; TUNER_ScanTaskParam_T *Inst = NULL; IOARCH_Handle_t IOHandle; TUNER_IOREG_DeviceMap_t *DeviceMap; //printk("demod_d0367qam_Open ===== \n"); Inst = TUNER_GetScanInfo(Handle); IOHandle = Inst->DriverParam.Cab.DemodIOHandle; DeviceMap = &Inst->DriverParam.Cab.Demod_DeviceMap; /*------------------驱动函数指针----------------*/ Inst->DriverParam.Cab.DemodDriver.Demod_GetSignalInfo = demod_d0367qam_GetSignalInfo; Inst->DriverParam.Cab.DemodDriver.Demod_IsLocked = demod_d0367qam_IsLocked; Inst->DriverParam.Cab.DemodDriver.Demod_repeat = demod_d0367qam_Repeat; Inst->DriverParam.Cab.DemodDriver.Demod_reset = demod_d0367qam_Reset; Inst->DriverParam.Cab.DemodDriver.Demod_ScanFreq = demod_d0367qam_ScanFreq; Inst->DriverParam.Cab.DemodDriver.Demod_standy = demod_d0367qam_SetStandby; /*-----------------寄存器结构分配--------------*/ DeviceMap->Timeout = IOREG_DEFAULT_TIMEOUT; DeviceMap->Registers = STV0367qam_NBREGS; DeviceMap->Fields = STV0367qam_NBFIELDS; DeviceMap->Mode = IOREG_MODE_SUBADR_16; DeviceMap->RegExtClk = Inst->ExternalClock; //Demod External Crystal_HZ //Error = TUNER_IOREG_Open(DeviceMap); DeviceMap->DefVal = NULL; DeviceMap->Error = 0; D0367qam_Init(DeviceMap, IOHandle, Inst->DriverParam.Cab.TunerType); //pParams->MasterClock_Hz = FE_367qam_GetMclkFreq(pParams->hDemod,pParams->Crystal_Hz); //pParams->AdcClock_Hz = FE_367qam_GetADCFreq(pParams->hDemod,pParams->Crystal_Hz); //question return(Error); }
YW_ErrorType_T demod_d0367qam_Open_test(IOARCH_Handle_t IOHandle) { YW_ErrorType_T Error = YW_NO_ERROR; TUNER_IOREG_DeviceMap_t DeviceMap; /*-----------------寄存器结构分配--------------*/ DeviceMap.Timeout = IOREG_DEFAULT_TIMEOUT; DeviceMap.Registers = STV0367qam_NBREGS; DeviceMap.Fields = STV0367qam_NBFIELDS; DeviceMap.Mode = IOREG_MODE_SUBADR_16; DeviceMap.RegExtClk = 27000000; //Demod External Crystal_HZ //Error = TUNER_IOREG_Open(&DeviceMap); DeviceMap.DefVal = NULL; DeviceMap.Error = 0; D0367qam_Init(&DeviceMap, IOHandle, TUNER_TUNER_SHARP5469C); //pParams->MasterClock_Hz = FE_367qam_GetMclkFreq(pParams->hDemod,pParams->Crystal_Hz); //pParams->AdcClock_Hz = FE_367qam_GetADCFreq(pParams->hDemod,pParams->Crystal_Hz); //question //Error = TUNER_IOREG_Close(&DeviceMap); return(Error); }