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 tun_mxl203rf_status(UINT32 tuner_id, UINT8 *lock) { BOOL IfLock; INT32 ret = SUCCESS; if(tuner_id >= MAX_TUNER_SUPPORT_NUM) return ERR_FAILUE; if(MxL_OK == MxL_RFSynth_Lock_Status(&mxl203rf_TunerConfig[tuner_id], &IfLock)) { //*lock = 1; *lock = ( IfLock == TRUE ) ? 1 : 0; } else { *lock = 0; ret = ERR_FAILUE; NIM_MXL203RF_PRINTF("%s err,tuner_id %d\n",__FUNCTION__,tuner_id); } return ret; }