/** @see TUNER_FP_INITIALIZE */ int mxl5007t_Initialize( TUNER_MODULE *pTuner ) { MXL5007T_EXTRA_MODULE *pExtra; MxL5007_TunerConfigS *pTunerConfigS; // Get tuner extra module. pExtra = (MXL5007T_EXTRA_MODULE *)pTuner->pExtra; // Get MaxLinear-defined MxL5007T structure. pTunerConfigS = pExtra->pTunerConfigS; // Initialize tuner. if(MxL_Tuner_Init(pTunerConfigS) != MxL_OK) goto error_status_initialize_tuner; return FUNCTION_SUCCESS; error_status_initialize_tuner: return FUNCTION_ERROR; }
/** @see TUNER_FP_INITIALIZE */ int mxl5007t_Initialize( TUNER_MODULE *pTuner ) { MXL5007T_EXTRA_MODULE *pExtra; MxL5007_TunerConfigS *pTunerConfigS; // Get tuner extra module. pExtra = &(pTuner->Extra.Mxl5007t); // Get MaxLinear-defined MxL5007T structure. pTunerConfigS = pExtra->pTunerConfigS; // Initialize tuner. if(MxL_Tuner_Init(pTunerConfigS) != MxL_OK) goto error_status_initialize_tuner; // Set tuner loop-through mode. if(MxL_Loop_Through_On(pTunerConfigS, pExtra->LoopThroughMode) != MxL_OK) goto error_status_initialize_tuner; return FUNCTION_SUCCESS; error_status_initialize_tuner: return FUNCTION_ERROR; }
int Maxlinear5007_KHz(int frequency_KHz) { uint8 RFSynthLock, REFSynthLock; unsigned int freq_MHz; MxL5007_TunerConfigS myTuner; myTuner.I2C_Addr = MxL_I2C_ADDR_96;//I2C address 0xC0>>1, 0x60==96 myTuner.Mode = MxL_MODE_DVBT; //Setting for Cable mode only //myTuner.IF_Diff_Out_Level = -8; //Set Tuner's XTAL freq myTuner.Xtal_Freq = MxL_XTAL_24_MHZ;//MxL_XTAL_24_MHZ; //Set Tuner's IF Freq myTuner.IF_Freq = MxL_IF_36_15_MHZ;//MxL_IF_36_15_MHZ; //Set Tuner's Clock out setting myTuner.ClkOut_Setting = MxL_CLKOUT_ENABLE; myTuner.ClkOut_Amp = MxL_CLKOUT_AMP_0; MxL_Check_ChipVersion(&myTuner); MxL_Tuner_Init(&myTuner); freq_MHz = frequency_KHz/1000; MxL_Tuner_RFTune(&myTuner, (uint32)(freq_MHz*1000000), MxL_BW_8MHz); //myTuner.I2C_Addr = MxL_I2C_ADDR_99; MxL_RFSynth_Lock_Status(&myTuner, &RFSynthLock); MxL_REFSynth_Lock_Status(&myTuner, &REFSynthLock); if(RFSynthLock & REFSynthLock) { printf("Maxlinear Tuner locked\n"); } return 1; //getchar(); }
/***************************************************************************** * INT32 nim_mxl203rf_control(UINT32 freq, UINT8 bandwidth,UINT8 AGC_Time_Const,UINT8 *data,UINT8 _i2c_cmd) * * Tuner write operation * * Arguments: * Parameter1: UINT32 freq : Synthesiser programmable divider * Parameter2: UINT8 bandwidth : channel bandwidth * Parameter3: UINT8 AGC_Time_Const : AGC time constant * Parameter4: UINT8 *data : * * Return Value: INT32 : Result *****************************************************************************/ INT32 tun_mxl203rf_control(UINT32 tuner_id, UINT32 freq, UINT32 sym, UINT8 AGC_Time_Const, UINT8 _i2c_cmd) { unsigned long dwRF_Freq_KHz; MxL203RF_BW_MHz mxl_BW; MxL_ERR_MSG Status; NIM_MXL203RF_PRINTF("%s:tuner_id %d,freq %ld, sym %ld,AGC_Time_Const %d,_i2c_cmd %d\n",__FUNCTION__,tuner_id,freq,sym,AGC_Time_Const,_i2c_cmd); if(tuner_id >= MAX_TUNER_SUPPORT_NUM) return ERR_FAILUE; if ( bMxl_Tuner_Inited[tuner_id] == FALSE ) { NIM_MXL203RF_PRINTF("MXL203RF CTL_INIT,ADDR=%x\n",mxl203rf_dev_id[tuner_id]->c_tuner_base_addr); mxl203rf_TunerConfig[tuner_id].I2C_Addr = (MxL203RF_I2CAddr)(mxl203rf_dev_id[tuner_id]->c_tuner_base_addr);//MxL_I2C_ADDR_96; mxl203rf_TunerConfig[tuner_id].Mode = MxL_MODE_CAB_STD; mxl203rf_TunerConfig[tuner_id].Xtal_Freq=MxL_XTAL_48_MHZ; mxl203rf_TunerConfig[tuner_id].IF_Freq = MxL_IF_7_2_MHZ; //MxL_IF_6_MHZ;// MxL_IF_4_57_MHZ;//MxL_IF_36_15_MHZ; mxl203rf_TunerConfig[tuner_id].IF_Spectrum = MxL_NORMAL_IF; mxl203rf_TunerConfig[tuner_id].ClkOut_Setting = MxL_CLKOUT_DISABLE; mxl203rf_TunerConfig[tuner_id].ClkOut_Amp = MxL_CLKOUT_AMP_10; mxl203rf_TunerConfig[tuner_id].Xtal_Cap = MxL_XTAL_CAP_12_PF; if((Status = MxL_Tuner_Init(&mxl203rf_TunerConfig[tuner_id])) != MxL_OK ) { return ERR_FAILUE; } bMxl_Tuner_Inited[tuner_id] = TRUE; } dwRF_Freq_KHz = freq; mxl_BW = MxL_BW_8MHz; //not use 'sym' if( (Status = MxL_Tuner_RFTune(&mxl203rf_TunerConfig[tuner_id], dwRF_Freq_KHz*1000, mxl_BW)) != MxL_OK ) { return ERR_FAILUE; } //#define MXL_DEBUG #ifdef MXL_DEBUG UINT8 i; for(i = 0; i < 255; i++) { //printk(&mxl203rf_TunerConfig[tuner_id], i, ®_dump[i]); } #endif return SUCCESS; }