/** @see DTMB_NIM_FP_SET_PARAMETERS */ s32 dtmb_nim_default_SetParameters( DTMB_NIM_MODULE *pNim, u64 RfFreqHz ) { TUNER_MODULE *pTuner; DTMB_DEMOD_MODULE *pDemod; // Get tuner module and demod module. pTuner = pNim->pTuner; pDemod = pNim->pDemod; // Set tuner RF frequency in Hz. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod particular registers. if(pDemod->ResetFunction(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; return FUNCTION_SUCCESS; error_status_execute_function: return FUNCTION_ERROR; }
/** @see QAM_NIM_FP_SET_PARAMETERS */ int qam_nim_default_SetParameters( QAM_NIM_MODULE *pNim, unsigned long RfFreqHz, int QamMode, unsigned long SymbolRateHz, int AlphaMode ) { TUNER_MODULE *pTuner; QAM_DEMOD_MODULE *pDemod; // Get tuner module and demod module. pTuner = pNim->pTuner; pDemod = pNim->pDemod; // Set tuner RF frequency in Hz. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod QAM mode. if(pDemod->SetQamMode(pDemod, QamMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod symbol rate in Hz. if(pDemod->SetSymbolRateHz(pDemod, SymbolRateHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod alpha mode. if(pDemod->SetAlphaMode(pDemod, AlphaMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod particular registers. if(pDemod->ResetFunction(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; return FUNCTION_SUCCESS; error_status_execute_function: return FUNCTION_ERROR; }
/** @see DTMB_NIM_FP_SET_PARAMETERS */ s32 rtl2836_mxl5007t_SetParameters( DTMB_NIM_MODULE *pNim, u64 RfFreqHz ) { TUNER_MODULE *pTuner; DTMB_DEMOD_MODULE *pDemod; // Get tuner module and demod module. pTuner = pNim->pTuner; pDemod = pNim->pDemod; // Enable demod DTMB_I2CT_EN_CTRL. if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, DTMB_I2CT_EN_CTRL, 0x1) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set tuner RF frequency in Hz. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Disable demod DTMB_I2CT_EN_CTRL. if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, DTMB_I2CT_EN_CTRL, 0x0) != FUNCTION_SUCCESS) goto error_status_set_registers; // Reset demod particular registers. if(pDemod->ResetFunction(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; return FUNCTION_SUCCESS; error_status_execute_function: error_status_set_registers: return FUNCTION_ERROR; }
/** @see DVBT_NIM_FP_SET_PARAMETERS */ int rtl2832_fc2580_SetParameters( DVBT_NIM_MODULE *pNim, unsigned long RfFreqHz, int BandwidthMode ) { TUNER_MODULE *pTuner; DVBT_DEMOD_MODULE *pDemod; FC2580_EXTRA_MODULE *pTunerExtra; int TunerBandwidthMode; // Get tuner module and demod module. pTuner = pNim->pTuner; pDemod = pNim->pDemod; // Get tuner extra module. pTunerExtra = (FC2580_EXTRA_MODULE *)pTuner->pExtra; // Enable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set tuner RF frequency in Hz. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Determine TunerBandwidthMode according to bandwidth mode. switch(BandwidthMode) { default: case DVBT_BANDWIDTH_6MHZ: TunerBandwidthMode = FC2580_BANDWIDTH_6000000HZ; break; case DVBT_BANDWIDTH_7MHZ: TunerBandwidthMode = FC2580_BANDWIDTH_7000000HZ; break; case DVBT_BANDWIDTH_8MHZ: TunerBandwidthMode = FC2580_BANDWIDTH_8000000HZ; break; } // Set tuner bandwidth mode with TunerBandwidthMode. if(pTunerExtra->SetBandwidthMode(pTuner, TunerBandwidthMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Disable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x0) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set demod bandwidth mode. if(pDemod->SetBandwidthMode(pDemod, BandwidthMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod particular registers. if(pDemod->ResetFunction(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; return FUNCTION_SUCCESS; error_status_execute_function: error_status_set_registers: return FUNCTION_ERROR; }
/** @see DVBT_NIM_FP_SET_PARAMETERS */ s32 rtl2832_tda18272_SetParameters( DVBT_NIM_MODULE *pNim, u64 RfFreqHz, s32 BandwidthMode ) { TUNER_MODULE *pTuner; DVBT_DEMOD_MODULE *pDemod; TDA18272_EXTRA_MODULE *pTunerExtra; s32 TunerStandardBandwidthMode; u64 IfFreqHz; // Get tuner module and demod module. pTuner = pNim->pTuner; pDemod = pNim->pDemod; // Get tuner extra module. pTunerExtra = &(pTuner->Extra.Tda18272); // Enable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS) goto error_status_set_registers; // Determine TunerBandwidthMode according to bandwidth mode. switch(BandwidthMode) { default: case DVBT_BANDWIDTH_6MHZ: TunerStandardBandwidthMode = TDA18272_STANDARD_BANDWIDTH_DVBT_6MHZ; break; case DVBT_BANDWIDTH_7MHZ: TunerStandardBandwidthMode = TDA18272_STANDARD_BANDWIDTH_DVBT_7MHZ; break; case DVBT_BANDWIDTH_8MHZ: TunerStandardBandwidthMode = TDA18272_STANDARD_BANDWIDTH_DVBT_8MHZ; break; } // Set tuner standard and bandwidth mode with TunerStandardBandwidthMode. if(pTunerExtra->SetStandardBandwidthMode(pTuner, TunerStandardBandwidthMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set tuner RF frequency in Hz. // Note: Must run SetRfFreqHz() after SetStandardBandwidthMode(), because SetRfFreqHz() needs some // SetStandardBandwidthMode() information. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Get tuner IF frequency in Hz. // Note: 1. Must run GetIfFreqHz() after SetRfFreqHz(), because GetIfFreqHz() needs some SetRfFreqHz() information. // 2. TDA18272 tuner uses dynamic IF frequency. if(pTunerExtra->GetIfFreqHz(pTuner, &IfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Disable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x0) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set demod IF frequency according to IfFreqHz. // Note: TDA18272 tuner uses dynamic IF frequency. if(pDemod->SetIfFreqHz(pDemod, IfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod bandwidth mode. if(pDemod->SetBandwidthMode(pDemod, BandwidthMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod particular registers. if(pDemod->ResetFunction(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; return FUNCTION_SUCCESS; error_status_execute_function: error_status_set_registers: return FUNCTION_ERROR; }
/** @see DVBT_NIM_FP_SET_PARAMETERS */ int rtl2832_mt2266_SetParameters( DVBT_NIM_MODULE *pNim, unsigned long RfFreqHz, int BandwidthMode ) { TUNER_MODULE *pTuner; DVBT_DEMOD_MODULE *pDemod; MT2266_EXTRA_MODULE *pMt2266Extra; Handle_t Mt2266Handle; unsigned long BandwidthHz; RTL2832_MT2266_EXTRA_MODULE *pRtl2832Mt2266Extra; UData_t Status; // Get tuner module and demod module. pTuner = pNim->pTuner; pDemod = pNim->pDemod; // Get tuner extra module. pMt2266Extra = (MT2266_EXTRA_MODULE *)pTuner->pExtra; // Get tuner handle. Mt2266Handle = pMt2266Extra->DeviceHandle; // Get NIM extra module. pRtl2832Mt2266Extra = (RTL2832_MT2266_EXTRA_MODULE *)pNim->pExtra; // Enable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set tuner RF frequency in Hz. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Determine BandwidthHz according to bandwidth mode. switch(BandwidthMode) { default: case DVBT_BANDWIDTH_6MHZ: BandwidthHz = MT2266_BANDWIDTH_6MHZ; break; case DVBT_BANDWIDTH_7MHZ: BandwidthHz = MT2266_BANDWIDTH_7MHZ; break; case DVBT_BANDWIDTH_8MHZ: BandwidthHz = MT2266_BANDWIDTH_8MHZ; break; } // Set tuner bandwidth in Hz with BandwidthHz. if(pMt2266Extra->SetBandwidthHz(pTuner, BandwidthHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Disable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x0) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set demod bandwidth mode. if(pDemod->SetBandwidthMode(pDemod, BandwidthMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod particular registers. if(pDemod->ResetFunction(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; // Enable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS) goto error_status_set_registers; // Reset MT2266 update procedure. Status = demod_pdcontrol_reset(pDemod, Mt2266Handle, &pRtl2832Mt2266Extra->AgcCurrentState); if(MT_IS_ERROR(Status)) goto error_status_execute_function; // Disable demod DVBT_IIC_REPEAT. if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x0) != FUNCTION_SUCCESS) goto error_status_set_registers; return FUNCTION_SUCCESS; error_status_execute_function: error_status_set_registers: return FUNCTION_ERROR; }
/** @see QAM_NIM_FP_SET_PARAMETERS */ int rtl2836b_dvbc_va1t1ed6093_SetParameters( QAM_NIM_MODULE *pNim, unsigned long RfFreqHz, int QamMode, unsigned long SymbolRateHz, int AlphaMode ) { QAM_DEMOD_MODULE *pDemod; TUNER_MODULE *pTuner; // Get demod module and tuner module. pDemod = pNim->pDemod; pTuner = pNim->pTuner; // Enable demod QAM_I2CT_EN_CTRL. if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, QAM_I2CT_EN_CTRL, 0x1) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set tuner RF frequency in Hz. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Disable demod QAM_I2CT_EN_CTRL. if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, QAM_I2CT_EN_CTRL, 0x0) != FUNCTION_SUCCESS) goto error_status_set_registers; // Set demod QAM mode. if(pDemod->SetQamMode(pDemod, QamMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod symbol rate in Hz. if(pDemod->SetSymbolRateHz(pDemod, SymbolRateHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod alpha mode. if(pDemod->SetAlphaMode(pDemod, AlphaMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod QAM_AAGC_TARGET and QAM_VTOP according to QAM mode and enhancement mode. switch(QamMode) { default: case QAM_QAM_4: case QAM_QAM_16: case QAM_QAM_32: case QAM_QAM_64: switch(pNim->EnhancementMode) { case QAM_DEMOD_EN_NONE: if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, QAM_AAGC_TARGET, 0x6b) != FUNCTION_SUCCESS) goto error_status_execute_function; break; default: case QAM_DEMOD_EN_AM_HUM: if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, QAM_AAGC_TARGET, 0x64) != FUNCTION_SUCCESS) goto error_status_execute_function; break; } break; case QAM_QAM_128: case QAM_QAM_256: case QAM_QAM_512: case QAM_QAM_1024: if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, QAM_AAGC_TARGET, 0x6b) != FUNCTION_SUCCESS) goto error_status_execute_function; break; } // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; return FUNCTION_SUCCESS; error_status_set_registers: error_status_execute_function: return FUNCTION_ERROR; }
/** @see QAM_NIM_FP_SET_PARAMETERS */ s32 rtl2840_max3543_SetParameters( QAM_NIM_MODULE *pNim, u64 RfFreqHz, s32 QamMode, u64 SymbolRateHz, s32 AlphaMode ) { QAM_DEMOD_MODULE *pDemod; TUNER_MODULE *pTuner; // Get demod module and tuner module. pDemod = pNim->pDemod; pTuner = pNim->pTuner; // Set tuner RF frequency in Hz. if(pTuner->SetRfFreqHz(pTuner, RfFreqHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod QAM mode. if(pDemod->SetQamMode(pDemod, QamMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod symbol rate in Hz. if(pDemod->SetSymbolRateHz(pDemod, SymbolRateHz) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod alpha mode. if(pDemod->SetAlphaMode(pDemod, AlphaMode) != FUNCTION_SUCCESS) goto error_status_execute_function; // Set demod QAM_AAGC_TARGET and QAM_VTOP according to QAM mode and enhancement mode. switch(QamMode) { default: case QAM_QAM_4: case QAM_QAM_16: case QAM_QAM_32: case QAM_QAM_64: if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, QAM_VTOP, 0x3f) != FUNCTION_SUCCESS) goto error_status_execute_function; switch(pNim->EnhancementMode) { case QAM_DEMOD_EN_NONE: if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, QAM_AAGC_TARGET, 0x6b) != FUNCTION_SUCCESS) goto error_status_execute_function; break; default: case QAM_DEMOD_EN_AM_HUM: if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, QAM_AAGC_TARGET, 0x64) != FUNCTION_SUCCESS) goto error_status_execute_function; break; } break; case QAM_QAM_128: case QAM_QAM_256: case QAM_QAM_512: case QAM_QAM_1024: if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, QAM_VTOP, 0x38) != FUNCTION_SUCCESS) goto error_status_execute_function; if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, QAM_AAGC_TARGET, 0x6b) != FUNCTION_SUCCESS) goto error_status_execute_function; break; } // Reset demod by software reset. if(pDemod->SoftwareReset(pDemod) != FUNCTION_SUCCESS) goto error_status_execute_function; return FUNCTION_SUCCESS; error_status_execute_function: return FUNCTION_ERROR; }