本文整理汇总了C++中TUNER_MODULE类的典型用法代码示例。如果您正苦于以下问题:C++ TUNER_MODULE类的具体用法?C++ TUNER_MODULE怎么用?C++ TUNER_MODULE使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TUNER_MODULE类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: dtmb_nim_default_SetParameters
/**
@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;
}
开发者ID:ldy972,项目名称:Drone,代码行数:39,代码来源:dtmb_nim_base.c
示例2: dvbt_nim_default_GetParameters
/**
@see DVBT_NIM_FP_GET_PARAMETERS
*/
s32
dvbt_nim_default_GetParameters(
DVBT_NIM_MODULE *pNim,
u64 *pRfFreqHz,
s32 *pBandwidthMode
)
{
TUNER_MODULE *pTuner;
DVBT_DEMOD_MODULE *pDemod;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Get tuner RF frequency in Hz.
if(pTuner->GetRfFreqHz(pTuner, pRfFreqHz) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Get demod bandwidth mode.
if(pDemod->GetBandwidthMode(pDemod, pBandwidthMode) != FUNCTION_SUCCESS)
goto error_status_execute_function;
return FUNCTION_SUCCESS;
error_status_execute_function:
return FUNCTION_ERROR;
}
开发者ID:ldy972,项目名称:Drone,代码行数:36,代码来源:dvbt_nim_base.c
示例3: qam_nim_default_SetParameters
/**
@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;
}
开发者ID:ambrosa,项目名称:DVB-Realtek-RTL2832U-2.2.2-10_tuner,代码行数:54,代码来源:qam_nim_base.c
示例4: rtl2836_mxl5007t_SetParameters
/**
@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;
}
开发者ID:ldy972,项目名称:Drone,代码行数:51,代码来源:nim_rtl2836_mxl5007t.c
示例5: MxL_I2C_Read
//UINT32 MxL_I2C_Read(UINT8 DeviceAddr, UINT8 Addr, UINT8* mData)
UINT32 MxL_I2C_Read(MxL5007_TunerConfigS* myTuner, UINT8 Addr, UINT8* mData)
{
TUNER_MODULE *pTuner;
I2C_BRIDGE_MODULE *pI2cBridge;
unsigned char DeviceAddr;
unsigned char Buffer[LEN_2_BYTE];
// Get tuner module and I2C bridge.
pTuner = myTuner->pTuner;
pI2cBridge = pTuner->pI2cBridge;
// Get tuner device address.
pTuner->GetDeviceAddr(pTuner, &DeviceAddr);
// Set tuner register reading address.
// Note: The I2C format of tuner register reading address setting is as follows:
// start_bit + (DeviceAddr | writing_bit) + 0xfb + RegReadingAddr + stop_bit
Buffer[0] = (unsigned char)MXL5007T_I2C_READING_CONST;
Buffer[1] = (unsigned char)Addr;
if(pI2cBridge->ForwardI2cWritingCmd(pI2cBridge, DeviceAddr, Buffer, LEN_2_BYTE) != FUNCTION_SUCCESS)
goto error_status_set_tuner_register_reading_address;
// Get tuner register bytes.
// Note: The I2C format of tuner register byte getting is as follows:
// start_bit + (DeviceAddr | reading_bit) + reading_byte + stop_bit
if(pI2cBridge->ForwardI2cReadingCmd(pI2cBridge, DeviceAddr, Buffer, LEN_1_BYTE) != FUNCTION_SUCCESS)
goto error_status_get_tuner_registers;
*mData = (UINT8)Buffer[0];
return MxL_OK;
error_status_get_tuner_registers:
error_status_set_tuner_register_reading_address:
return MxL_ERR_OTHERS;
}
开发者ID:BalintBanyasz,项目名称:DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0,代码行数:42,代码来源:tuner_mxl5007t.c
示例6: qam_nim_default_GetParameters
/**
@see QAM_NIM_FP_GET_PARAMETERS
*/
int
qam_nim_default_GetParameters(
QAM_NIM_MODULE *pNim,
unsigned long *pRfFreqHz,
int *pQamMode,
unsigned long *pSymbolRateHz,
int *pAlphaMode
)
{
TUNER_MODULE *pTuner;
QAM_DEMOD_MODULE *pDemod;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Get tuner RF frequency in Hz.
if(pTuner->GetRfFreqHz(pTuner, pRfFreqHz) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Get demod QAM mode.
if(pDemod->GetQamMode(pDemod, pQamMode) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Get demod symbol rate in Hz.
if(pDemod->GetSymbolRateHz(pDemod, pSymbolRateHz) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Get demod alpha mode.
if(pDemod->GetAlphaMode(pDemod, pAlphaMode) != FUNCTION_SUCCESS)
goto error_status_execute_function;
return FUNCTION_SUCCESS;
error_status_execute_function:
return FUNCTION_ERROR;
}
开发者ID:ambrosa,项目名称:DVB-Realtek-RTL2832U-2.2.2-10_tuner,代码行数:46,代码来源:qam_nim_base.c
示例7: dtmb_nim_default_GetParameters
/**
@see DTMB_NIM_FP_GET_PARAMETERS
*/
s32
dtmb_nim_default_GetParameters(
DTMB_NIM_MODULE *pNim,
u64 *pRfFreqHz
)
{
TUNER_MODULE *pTuner;
// Get tuner module.
pTuner = pNim->pTuner;
// Get tuner RF frequency in Hz.
if(pTuner->GetRfFreqHz(pTuner, pRfFreqHz) != FUNCTION_SUCCESS)
goto error_status_execute_function;
return FUNCTION_SUCCESS;
error_status_execute_function:
return FUNCTION_ERROR;
}
开发者ID:ldy972,项目名称:Drone,代码行数:29,代码来源:dtmb_nim_base.c
示例8: rtl2836b_dtmb_va1e1ed2403_Initialize
/**
@see DTMB_NIM_FP_INITIALIZE
*/
int
rtl2836b_dtmb_va1e1ed2403_Initialize(
DTMB_NIM_MODULE *pNim
)
{
typedef struct
{
int RegBitName;
unsigned long Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2836B_DTMB_VA1E1ED2403_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{DTMB_AGC_DRIVE_LV, 0x0 },
{DTMB_Z_AGC, 0x1 },
{DTMB_EN_PGA_MODE, 0x0 },
{DTMB_TARGET_VAL, 0x38 },
{DTMB_AAGC_LOOPGAIN1, 0x15 },
{DTMB_INTEGRAL_CNT_LEN, 0xc },
{DTMB_AAGC_LOCK_PGA_HIT_LEN, 0x1 },
{DTMB_THD_LOCK_UP, 0x205 },
{DTMB_THD_LOCK_DW, 0x1fb },
{DTMB_THD_UP1, 0x205 },
{DTMB_THD_DW1, 0x1fb },
{DTMB_THD_UP2, 0x86 },
{DTMB_THD_DW2, 0x7a },
{DTMB_GAIN_PULSE_SPACE_LEN, 0x1 },
{DTMB_GAIN_PULSE_HOLD_LEN, 0x1 },
{DTMB_GAIN_STEP_SUM_UP_THD, 0xb },
{DTMB_GAIN_STEP_SUM_DW_THD, 0x5 },
};
TUNER_MODULE *pTuner;
DTMB_DEMOD_MODULE *pDemod;
int i;
int RegBitName;
unsigned long Value;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Enable demod DTMB_I2CT_EN_CTRL.
if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, DTMB_I2CT_EN_CTRL, 0x1) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Disable demod DTMB_I2CT_EN_CTRL.
if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, DTMB_I2CT_EN_CTRL, 0x0) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency with 36 MHz.
if(pDemod->SetIfFreqHz(pDemod, IF_FREQ_36000000HZ) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with SPECTRUM_NORMAL.
if(pDemod->SetSpectrumMode(pDemod, SPECTRUM_NORMAL) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod registers.
for(i = 0; i < RTL2836B_DTMB_VA1E1ED2403_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
return FUNCTION_SUCCESS;
error_status_execute_function:
error_status_set_registers:
//.........这里部分代码省略.........
开发者ID:mrtos,项目名称:gk6105s-id,代码行数:101,代码来源:nim_rtl2836b_dtmb_va1e1ed2403.c
示例9: rtl2836_mxl5007t_Initialize
/**
@see DTMB_NIM_FP_INITIALIZE
*/
s32
rtl2836_mxl5007t_Initialize(
DTMB_NIM_MODULE *pNim
)
{
typedef struct
{
s32 RegBitName;
u64 Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2836_MXL5007T_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{DTMB_TARGET_VAL, 0x38 },
};
TUNER_MODULE *pTuner;
DTMB_DEMOD_MODULE *pDemod;
MXL5007T_EXTRA_MODULE *pTunerExtra;
s32 i;
s32 RegBitName;
u64 Value;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Get tuner extra module.
pTunerExtra = &(pTuner->Extra.Mxl5007t);
// Enable demod DTMB_I2CT_EN_CTRL.
if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, DTMB_I2CT_EN_CTRL, 0x1) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set tuner bandwidth mode with 8 MHz.
if(pTunerExtra->SetBandwidthMode(pTuner, MXL5007T_BANDWIDTH_8000000HZ) != 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;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency with NIM default.
if(pDemod->SetIfFreqHz(pDemod, RTL2836_MXL5007T_IF_FREQ_HZ_DEFAULT) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with NIM default.
if(pDemod->SetSpectrumMode(pDemod, RTL2836_MXL5007T_SPECTRUM_MODE_DEFAULT) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod registers.
for(i = 0; i < RTL2836_MXL5007T_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
return FUNCTION_SUCCESS;
error_status_execute_function:
error_status_set_registers:
return FUNCTION_ERROR;
}
开发者ID:ldy972,项目名称:Drone,代码行数:95,代码来源:nim_rtl2836_mxl5007t.c
示例10: rtl2832_max3543_Initialize
/**
@see DVBT_NIM_FP_INITIALIZE
*/
int
rtl2832_max3543_Initialize(
DVBT_NIM_MODULE *pNim
)
{
typedef struct
{
int RegBitName;
unsigned long Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2832_MAX3543_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{DVBT_DAGC_TRG_VAL, 0x39 },
{DVBT_AGC_TARG_VAL_0, 0x0 },
{DVBT_AGC_TARG_VAL_8_1, 0x4b },
{DVBT_AAGC_LOOP_GAIN, 0x16 },
{DVBT_LOOP_GAIN2_3_0, 0x6 },
{DVBT_LOOP_GAIN2_4, 0x1 },
{DVBT_LOOP_GAIN3, 0x16 },
{DVBT_VTOP1, 0x35 },
{DVBT_VTOP2, 0x21 },
{DVBT_VTOP3, 0x21 },
{DVBT_KRF1, 0x0 },
{DVBT_KRF2, 0x40 },
{DVBT_KRF3, 0x10 },
{DVBT_KRF4, 0x10 },
{DVBT_IF_AGC_MIN, 0x80 },
{DVBT_IF_AGC_MAX, 0x7f },
{DVBT_RF_AGC_MIN, 0x80 },
{DVBT_RF_AGC_MAX, 0x7f },
{DVBT_POLAR_RF_AGC, 0x0 },
{DVBT_POLAR_IF_AGC, 0x0 },
{DVBT_AD7_SETTING, 0xe9d4 },
{DVBT_AD_EN_REG1, 0x0 },
{DVBT_CKOUT_PWR_PID, 0x0 },
};
TUNER_MODULE *pTuner;
DVBT_DEMOD_MODULE *pDemod;
int i;
int RegBitName;
unsigned long Value;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Enable demod DVBT_IIC_REPEAT.
if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != 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;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency with NIM default.
if(pDemod->SetIfFreqHz(pDemod, RTL2832_MAX3543_IF_FREQ_HZ_DEFAULT) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with NIM default.
if(pDemod->SetSpectrumMode(pDemod, RTL2832_MAX3543_SPECTRUM_MODE_DEFAULT) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod registers.
for(i = 0; i < RTL2832_MAX3543_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->SetRegBitsWithPage(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
//.........这里部分代码省略.........
开发者ID:ambrosa,项目名称:DVB-Realtek-RTL2832U-2.2.2-10_tuner,代码行数:101,代码来源:nim_rtl2832_max3543.c
示例11: rtl2840_max3543_Initialize
/**
@see QAM_NIM_FP_INITIALIZE
*/
s32
rtl2840_max3543_Initialize(
QAM_NIM_MODULE *pNim
)
{
typedef struct
{
s32 RegBitName;
u64 Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2840_MAX3543_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{QAM_OPT_RF_AAGC_DRIVE, 0x1 },
{QAM_OPT_IF_AAGC_DRIVE, 0x1 },
{QAM_OPT_RF_AAGC_OEN, 0x1 },
{QAM_OPT_IF_AAGC_OEN, 0x1 },
{QAM_RF_AAGC_MAX, 0xff },
{QAM_RF_AAGC_MIN, 0x0 },
{QAM_IF_AAGC_MAX, 0xff },
{QAM_IF_AAGC_MIN, 0x0 },
{QAM_AAGC_MODE_SEL, 0x0 },
};
QAM_DEMOD_MODULE *pDemod;
TUNER_MODULE *pTuner;
s32 i;
s32 RegBitName;
u64 Value;
// Get demod module and tuner module.
pDemod = pNim->pDemod;
pTuner = pNim->pTuner;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency in Hz with NIM default.
if(pDemod->SetIfFreqHz(pDemod, RTL2840_MAX3543_IF_FREQ_HZ_DEFAULT) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with NIM default.
if(pDemod->SetSpectrumMode(pDemod, RTL2840_MAX3543_SPECTRUM_MODE_DEFAULT) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod AAGC registers.
// Note: SetParameters() will set QAM_AAGC_TARGET and QAM_VTOP according to parameters.
for(i = 0; i < RTL2840_MAX3543_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
return FUNCTION_SUCCESS;
error_status_set_registers:
error_status_execute_function:
return FUNCTION_ERROR;
}
开发者ID:ldy972,项目名称:Drone,代码行数:84,代码来源:nim_rtl2840_max3543.c
示例12: rtl2840_max3543_SetParameters
/**
@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;
}
开发者ID:ldy972,项目名称:Drone,代码行数:98,代码来源:nim_rtl2840_max3543.c
示例13: rtl2840_mt2063_Initialize
/**
@see QAM_NIM_FP_INITIALIZE
*/
int
rtl2840_mt2063_Initialize(
QAM_NIM_MODULE *pNim
)
{
typedef struct
{
int RegBitName;
unsigned long Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2840_MT2063_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{QAM_OPT_RF_AAGC_DRIVE, 0x1 },
{QAM_OPT_IF_AAGC_DRIVE, 0x1 },
{QAM_OPT_RF_AAGC_OEN, 0x1 },
{QAM_OPT_IF_AAGC_OEN, 0x1 },
{QAM_RF_AAGC_MAX, 0x80 },
{QAM_RF_AAGC_MIN, 0x80 },
{QAM_IF_AAGC_MAX, 0xff },
{QAM_IF_AAGC_MIN, 0x0 },
{QAM_AAGC_MODE_SEL, 0x0 },
};
TUNER_MODULE *pTuner;
QAM_DEMOD_MODULE *pDemod;
MT2063_EXTRA_MODULE *pTunerExtra;
RTL2840_MT2063_EXTRA_MODULE *pNimExtra;
int i;
int RegBitName;
unsigned long Value;
// Get modules.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
pTunerExtra = &(pTuner->Extra.Mt2063);
pNimExtra = &(pNim->Extra.Rtl2840Mt2063);
// Initialize tuner.
if(pTuner->Initialize(pTuner) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set tuner IF frequency in Hz.
if(pTunerExtra->SetIfFreqHz(pTuner, pNimExtra->IfFreqHz) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency in Hz.
if(pDemod->SetIfFreqHz(pDemod, pNimExtra->IfFreqHz) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with SPECTRUM_INVERSE.
if(pDemod->SetSpectrumMode(pDemod, SPECTRUM_INVERSE) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod AAGC registers.
// Note: SetParameters() will set QAM_AAGC_TARGET and QAM_VTOP according to parameters.
for(i = 0; i < RTL2840_MT2063_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->RegAccess.Addr8Bit.SetRegBitsWithPage(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
return FUNCTION_SUCCESS;
error_status_set_registers:
error_status_execute_function:
return FUNCTION_ERROR;
}
开发者ID:ambrosa,项目名称:DVB-Realtek-RTL2832U-2.2.2-10_tuner,代码行数:92,代码来源:nim_rtl2840_mt2063.c
示例14: rtl2832_fc2580_Initialize
/**
@see DVBT_NIM_FP_INITIALIZE
*/
int
rtl2832_fc2580_Initialize(
DVBT_NIM_MODULE *pNim
)
{
typedef struct
{
int RegBitName;
unsigned long Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2832_FC2580_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{DVBT_DAGC_TRG_VAL, 0x39 },
{DVBT_AGC_TARG_VAL_0, 0x0 },
{DVBT_AGC_TARG_VAL_8_1, 0x5a },
{DVBT_AAGC_LOOP_GAIN, 0x16 },
{DVBT_LOOP_GAIN2_3_0, 0x6 },
{DVBT_LOOP_GAIN2_4, 0x1 },
{DVBT_LOOP_GAIN3, 0x16 },
{DVBT_VTOP1, 0x35 },
{DVBT_VTOP2, 0x21 },
{DVBT_VTOP3, 0x21 },
{DVBT_KRF1, 0x0 },
{DVBT_KRF2, 0x40 },
{DVBT_KRF3, 0x10 },
{DVBT_KRF4, 0x10 },
{DVBT_IF_AGC_MIN, 0x80 },
{DVBT_IF_AGC_MAX, 0x7f },
{DVBT_RF_AGC_MIN, 0x9c },
{DVBT_RF_AGC_MAX, 0x7f },
{DVBT_POLAR_RF_AGC, 0x0 },
{DVBT_POLAR_IF_AGC, 0x0 },
{DVBT_AD7_SETTING, 0xe9f4 },
};
TUNER_MODULE *pTuner;
DVBT_DEMOD_MODULE *pDemod;
int i;
int RegBitName;
unsigned long Value;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Enable demod DVBT_IIC_REPEAT.
if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != 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;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency with 0 Hz.
if(pDemod->SetIfFreqHz(pDemod, IF_FREQ_0HZ) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with SPECTRUM_NORMAL.
if(pDemod->SetSpectrumMode(pDemod, SPECTRUM_NORMAL) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod registers.
for(i = 0; i < RTL2832_FC2580_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->SetRegBitsWithPage(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
// Set TS interface according to TS interface mode.
//.........这里部分代码省略.........
开发者ID:OpenHMR,项目名称:Open-HMR600,代码行数:101,代码来源:nim_rtl2832_fc2580.c
示例15: rtl2832_tda18272_Initialize
/**
* @see DVBT_NIM_FP_INITIALIZE
*/
s32 rtl2832_tda18272_Initialize(DVBT_NIM_MODULE *pNim)
{
typedef struct
{
s32 RegBitName;
u64 Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2832_TDA18272_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{DVBT_DAGC_TRG_VAL, 0x39 },
{DVBT_AGC_TARG_VAL_0, 0x0 },
{DVBT_AGC_TARG_VAL_8_1, 0x40 },
{DVBT_AAGC_LOOP_GAIN, 0x16 },
{DVBT_LOOP_GAIN2_3_0, 0x8 },
{DVBT_LOOP_GAIN2_4, 0x1 },
{DVBT_LOOP_GAIN3, 0x18 },
{DVBT_VTOP1, 0x35 },
{DVBT_VTOP2, 0x21 },
{DVBT_VTOP3, 0x21 },
{DVBT_KRF1, 0x0 },
{DVBT_KRF2, 0x40 },
{DVBT_KRF3, 0x10 },
{DVBT_KRF4, 0x10 },
{DVBT_IF_AGC_MIN, 0x80 },
{DVBT_IF_AGC_MAX, 0x7f },
{DVBT_RF_AGC_MIN, 0x80 },
{DVBT_RF_AGC_MAX, 0x7f },
{DVBT_POLAR_RF_AGC, 0x0 },
{DVBT_POLAR_IF_AGC, 0x0 },
{DVBT_AD7_SETTING, 0xe9f4 },
};
TUNER_MODULE *pTuner;
DVBT_DEMOD_MODULE *pDemod;
s32 i;
s32 RegBitName;
u64 Value;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Enable demod DVBT_IIC_REPEAT.
if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != 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;
// Initialize demod.
// Note: TDA18272 tuner uses dynamic IF frequency, so we will set demod IF frequency in SetParameters().
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with SPECTRUM_INVERSE.
if(pDemod->SetSpectrumMode(pDemod, SPECTRUM_INVERSE) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod registers.
for(i = 0; i < RTL2832_TDA18272_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->SetRegBitsWithPage(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
return FUNCTION_SUCCESS;
error_status_execute_function:
error_status_set_registers:
return FUNCTION_ERROR;
}
开发者ID:ldy972,项目名称:Drone,代码行数:98,代码来源:nim_rtl2832_tda18272.c
示例16: rtl2832_fc0013_Initialize
/**
@see DVBT_NIM_FP_INITIALIZE
*/
int
rtl2832_fc0013_Initialize(
DVBT_NIM_MODULE *pNim
)
{
typedef struct
{
int RegBitName;
unsigned long Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2832_FC0013_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{DVBT_DAGC_TRG_VAL, 0x5a },
{DVBT_AGC_TARG_VAL_0, 0x0 },
{DVBT_AGC_TARG_VAL_8_1, 0x5a },
{DVBT_AAGC_LOOP_GAIN, 0x16 },
{DVBT_LOOP_GAIN2_3_0, 0x6 },
{DVBT_LOOP_GAIN2_4, 0x1 },
{DVBT_LOOP_GAIN3, 0x16 },
{DVBT_VTOP1, 0x35 },
{DVBT_VTOP2, 0x21 },
{DVBT_VTOP3, 0x21 },
{DVBT_KRF1, 0x0 },
{DVBT_KRF2, 0x40 },
{DVBT_KRF3, 0x10 },
{DVBT_KRF4, 0x10 },
{DVBT_IF_AGC_MIN, 0x80 },
{DVBT_IF_AGC_MAX, 0x7f },
{DVBT_RF_AGC_MIN, 0x80 },
{DVBT_RF_AGC_MAX, 0x7f },
{DVBT_POLAR_RF_AGC, 0x0 },
{DVBT_POLAR_IF_AGC, 0x0 },
{DVBT_AD7_SETTING, 0xe9bf },
{DVBT_EN_GI_PGA, 0x0 },
{DVBT_THD_LOCK_UP, 0x0 },
{DVBT_THD_LOCK_DW, 0x0 },
{DVBT_THD_UP1, 0x11 },
{DVBT_THD_DW1, 0xef },
{DVBT_INTER_CNT_LEN, 0xc },
{DVBT_GI_PGA_STATE, 0x0 },
{DVBT_EN_AGC_PGA, 0x1 },
// {DVBT_REG_GPE, 0x1 },
// {DVBT_REG_GPO, 0x0 },
// {DVBT_REG_MONSEL, 0x0 },
// {DVBT_REG_MON, 0x3 },
// {DVBT_REG_4MSEL, 0x0 },
};
TUNER_MODULE *pTuner;
DVBT_DEMOD_MODULE *pDemod;
int i;
int RegBitName;
unsigned long Value;
// Get tuner module and demod module.
pTuner = pNim->pTuner;
pDemod = pNim->pDemod;
// Enable demod DVBT_IIC_REPEAT.
if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x1) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set FC0013 up-dowm AGC.
//(0xFE for master of dual).
//(0xFC for slave of dual, and for 2832 mini dongle).
if(fc0013_SetRegMaskBits(pTuner, 0x0c, 7, 0, 0xFC) != FC0013_I2C_SUCCESS)
goto error_status_set_tuner_registers;
// Disable demod DVBT_IIC_REPEAT.
if(pDemod->SetRegBitsWithPage(pDemod, DVBT_IIC_REPEAT, 0x0) != FUNCTION_SUCCESS)
goto error_status_set_registers;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency with 0 Hz.
if(pDemod->SetIfFreqHz(pDemod, IF_FREQ_0HZ) != FUNCTION_SUCCESS)
goto error_status_execute_function;
//.........这里部分代码省略.........
开发者ID:BalintBanyasz,项目名称:DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0,代码行数:101,代码来源:nim_rtl2832_fc0013.c
示例17: MxL_I2C_Write
//UINT32 MxL_I2C_Write(UINT8 DeviceAddr, UINT8* pArray, UINT32 count)
UINT32 MxL_I2C_Write(MxL5007_TunerConfigS* myTuner, UINT8* pArray, UINT32 count)
{
TUNER_MODULE *pTuner;
BASE_INTERFACE_MODULE *pBaseInterface;
I2C_BRIDGE_MODULE *pI2cBridge;
unsigned char DeviceAddr;
unsigned long WritingByteNumMax;
unsigned long i;
unsigned char Buffer[I2C_BUFFER_LEN];
unsigned long WritingIndex;
unsigned char *pData;
unsigned long DataLen;
// Get tuner module, base interface, and I2C bridge.
pTuner = myTuner->pTuner;
pBaseInterface = pTuner->pBaseInterface;
pI2cBridge = pTuner->pI2cBridge;
// Get tuner device address.
pTuner->GetDeviceAddr(pTuner, &DeviceAddr);
// Get writing byte and byte number.
pData = (unsigned char *)pArray;
DataLen = (unsigned long)count;
// Calculate MxL5007T maximum writing byte number.
// Note: MxL5007T maximum writing byte number must be a multiple of 2.
WritingByteNumMax = pBaseInterface->I2cWritingByteNumMax;
WritingByteNumMax = ((WritingByteNumMax % 2) == 0) ? WritingByteNumMax : (WritingByteNumMax - 1);
// Set register bytes.
// Note: The 2 kind of I2C formats of MxL5007T is described as follows:
// 1. start_bit + (device_addr | writing_bit) + (register_addr + writing_byte) * n + stop_bit
// ...
// start_bit + (device_addr | writing_bit) + (register_addr + writing_byte) * m + stop_bit
// 2. start_bit + (device_addr | writing_bit) + 0xff + stop_bit
for(i = 0, WritingIndex = 0; i < DataLen; i++, WritingIndex++)
{
// Put data into buffer.
Buffer[WritingIndex] = pData[i];
// If writing buffer is full or put data into buffer completely, send the I2C writing command with buffer.
if( (WritingIndex == (WritingByteNumMax - 1)) || (i == (DataLen - 1)) )
{
if(pI2cBridge->ForwardI2cWritingCmd(pI2cBridge, DeviceAddr, Buffer, (WritingIndex + LEN_1_BYTE)) != FUNCTION_SUCCESS)
goto error_status_set_tuner_registers;
WritingIndex = -1;
}
}
return MxL_OK;
error_status_set_tuner_registers:
return MxL_ERR_OTHERS;
}
开发者ID:BalintBanyasz,项目名称:DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0,代码行数:64,代码来源:tuner_mxl5007t.c
示例18: rtl2836b_dvbc_va1t1ed6093_SetParameters
/**
@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:
//.........这里部分代码省略.........
开发者ID:mrtos,项目名称:gk6105s-id,代码行数:101,代码来源:nim_rtl2836b_dvbc_va1t1ed6093.c
示例19: rtl2836b_dvbc_va1t1ed6093_Initialize
/**
@see QAM_NIM_FP_INITIALIZE
*/
int
rtl2836b_dvbc_va1t1ed6093_Initialize(
QAM_NIM_MODULE *pNim
)
{
typedef struct
{
int RegBitName;
unsigned long Value;
}
REG_VALUE_ENTRY;
static const REG_VALUE_ENTRY AdditionalInitRegValueTable[RTL2836B_DVBC_VA1T1ED6093_ADDITIONAL_INIT_REG_TABLE_LEN] =
{
// RegBitName, Value
{QAM_AGC_DRIVE_LV, 0x0 },
{QAM_OPT_RF_AAGC_DRIVE, 0x0 },
{QAM_OPT_IF_AAGC_DRIVE, 0x0 },
{QAM_OPT_RF_AAGC_OE, 0x0 },
{QAM_OPT_IF_AAGC_OE, 0x1 },
{QAM_PAR_RF_SD_IB, 0x1 },
{QAM_PAR_IF_SD_IB, 0x1 },
{QAM_RF_AAGC_MAX, 0x80 },
{QAM_RF_AAGC_MIN, 0x80 },
{QAM_IF_AAGC_MAX, 0xff },
{QAM_IF_AAGC_MIN, 0x0 },
{QAM_VTOP, 0x80 },
{QAM_KRF_MSB, 0x1 },
{QAM_KRF_LSB, 0x1 },
{QAM_AAGC_MODE_SEL, 0x0 },
};
QAM_DEMOD_MODULE *pDemod;
TUNER_MODULE *pTuner;
int i;
int RegBitName;
unsigned long Value;
// 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;
// Initialize tuner.
if(pTuner->Initialize(pTuner) != 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;
// Initialize demod.
if(pDemod->Initialize(pDemod) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod IF frequency with 36 MHz.
if(pDemod->SetIfFreqHz(pDemod, IF_FREQ_36000000HZ) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod spectrum mode with SPECTRUM_NORMAL.
// Note: RTL2836B DVB-C demod hardware will detect spectrum mode automatically,
// even if one uses SetSpectrumMode() to set spectrum mode.
if(pDemod->SetSpectrumMode(pDemod, SPECTRUM_NORMAL) != FUNCTION_SUCCESS)
goto error_status_execute_function;
// Set demod AAGC registers.
// Note: SetParameters() will set QAM_AAGC_TARGET and QAM_VTOP according to parameters.
for(i = 0; i < RTL2836B_DVBC_VA1T1ED6093_ADDITIONAL_INIT_REG_TABLE_LEN; i++)
{
// Get register bit name and its value.
RegBitName = AdditionalInitRegValueTable[i].RegBitName;
Value = AdditionalInitRegValueTable[i].Value;
// Set demod registers
if(pDemod->RegAccess.Addr16Bit.SetRegBits(pDemod, RegBitName, Value) != FUNCTION_SUCCESS)
goto error_status_set_registers;
}
return FUNCTION_SUCCESS;
error_status_set_registers:
error_status_execute_function:
return FUNCTION_ERROR;
//.........这里部分代码省略.........
开发者ID:mrtos,项目名称:gk6105s-id,代码行数:101,代码来源:nim_rtl2836b_dvbc_va1t1ed6093.c
示例20: rtl2832_tda18272_SetParameters
/**
@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_STANDAR
|
请发表评论