summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2008-05-01 05:45:44 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-05-14 02:56:37 -0300
commit3935c25484bc632b12c447e19c4eacbf5de5f7ae (patch)
treefbc54f9a5598037b05650ca50b96fefaaee9bc43 /drivers/media
parenta8214d48e6d41f3a16c1023ca4f30bbd140ba756 (diff)
V4L/DVB (7866): mxl5005s: Cleanup #3
Cleanup #3 Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/common/tuners/mxl5005s.c5527
-rw-r--r--drivers/media/common/tuners/mxl5005s.h165
2 files changed, 2677 insertions, 3015 deletions
diff --git a/drivers/media/common/tuners/mxl5005s.c b/drivers/media/common/tuners/mxl5005s.c
index 2af14de737e9..d8885484cfbd 100644
--- a/drivers/media/common/tuners/mxl5005s.c
+++ b/drivers/media/common/tuners/mxl5005s.c
@@ -24,164 +24,61 @@
#include "mxl5005s.h"
-
-void BuildMxl5005sModule(
- TUNER_MODULE **ppTuner,
- TUNER_MODULE *pTunerModuleMemory,
- MXL5005S_EXTRA_MODULE *pMxl5005sExtraModuleMemory,
- BASE_INTERFACE_MODULE *pBaseInterfaceModuleMemory,
- I2C_BRIDGE_MODULE *pI2cBridgeModuleMemory,
- unsigned char DeviceAddr,
- int StandardMode
- )
-{
- MXL5005S_EXTRA_MODULE *pExtra;
-
- int MxlModMode;
- int MxlIfMode;
- unsigned long MxlBandwitdh;
- unsigned long MxlIfFreqHz;
- unsigned long MxlCrystalFreqHz;
- int MxlAgcMode;
- unsigned short MxlTop;
- unsigned short MxlIfOutputLoad;
- int MxlClockOut;
- int MxlDivOut;
- int MxlCapSel;
- int MxlRssiOnOff;
- unsigned char MxlStandard;
- unsigned char MxlTfType;
-
-
-
- // Set tuner module pointer, tuner extra module pointer, and I2C bridge module pointer.
- *ppTuner = pTunerModuleMemory;
- (*ppTuner)->pExtra = pMxl5005sExtraModuleMemory;
- (*ppTuner)->pBaseInterface = pBaseInterfaceModuleMemory;
- (*ppTuner)->pI2cBridge = pI2cBridgeModuleMemory;
-
- // Get tuner extra module pointer.
- pExtra = (MXL5005S_EXTRA_MODULE *)(*ppTuner)->pExtra;
-
-
- // Set I2C bridge tuner arguments.
- mxl5005s_SetI2cBridgeModuleTunerArg(*ppTuner);
-
-
- // Set tuner module manipulating function pointers.
- (*ppTuner)->SetDeviceAddr = mxl5005s_SetDeviceAddr;
-
- (*ppTuner)->GetTunerType = mxl5005s_GetTunerType;
- (*ppTuner)->GetDeviceAddr = mxl5005s_GetDeviceAddr;
-
- (*ppTuner)->Initialize = mxl5005s_Initialize;
- (*ppTuner)->SetRfFreqHz = mxl5005s_SetRfFreqHz;
- (*ppTuner)->GetRfFreqHz = mxl5005s_GetRfFreqHz;
-
-
- // Set tuner extra module manipulating function pointers.
- pExtra->SetRegsWithTable = mxl5005s_SetRegsWithTable;
- pExtra->SetRegMaskBits = mxl5005s_SetRegMaskBits;
- pExtra->SetSpectrumMode = mxl5005s_SetSpectrumMode;
- pExtra->SetBandwidthHz = mxl5005s_SetBandwidthHz;
-
-
- // Initialize tuner parameter setting status.
- (*ppTuner)->IsDeviceAddrSet = NO;
- (*ppTuner)->IsRfFreqHzSet = NO;
-
-
- // Set MxL5005S parameters.
- MxlModMode = MXL_DIGITAL_MODE;
- MxlIfMode = MXL_ZERO_IF;
- MxlBandwitdh = MXL5005S_BANDWIDTH_8MHZ;
- MxlIfFreqHz = IF_FREQ_4570000HZ;
- MxlCrystalFreqHz = CRYSTAL_FREQ_16000000HZ;
- MxlAgcMode = MXL_SINGLE_AGC;
- MxlTop = MXL5005S_TOP_25P2;
- MxlIfOutputLoad = MXL5005S_IF_OUTPUT_LOAD_200_OHM;
- MxlClockOut = MXL_CLOCK_OUT_DISABLE;
- MxlDivOut = MXL_DIV_OUT_4;
- MxlCapSel = MXL_CAP_SEL_ENABLE;
- MxlRssiOnOff = MXL_RSSI_ENABLE;
- MxlTfType = MXL_TF_C_H;
-
-
- // Set MxL5005S parameters according to standard mode
- switch(StandardMode)
- {
- default:
- case MXL5005S_STANDARD_DVBT: MxlStandard = MXL_DVBT; break;
- case MXL5005S_STANDARD_ATSC: MxlStandard = MXL_ATSC; break;
- }
-
-
- // Set MxL5005S extra module.
- pExtra->AgcMasterByte = (MxlAgcMode == MXL_DUAL_AGC) ? 0x4 : 0x0;
-
- MXL5005_TunerConfig(&pExtra->MxlDefinedTunerStructure, (unsigned char)MxlModMode, (unsigned char)MxlIfMode,
- MxlBandwitdh, MxlIfFreqHz, MxlCrystalFreqHz, (unsigned char)MxlAgcMode, MxlTop, MxlIfOutputLoad,
- (unsigned char)MxlClockOut, (unsigned char)MxlDivOut, (unsigned char)MxlCapSel, (unsigned char)MxlRssiOnOff,
- MxlStandard, MxlTfType);
-
-
-
- // Note: Need to set all module arguments before using module functions.
-
-
- // Set tuner type.
- (*ppTuner)->TunerType = TUNER_TYPE_MXL5005S;
-
- // Set tuner I2C device address.
- (*ppTuner)->SetDeviceAddr(*ppTuner, DeviceAddr);
-
-
- return;
-}
-
-void mxl5005s_SetDeviceAddr(
- TUNER_MODULE *pTuner,
- unsigned char DeviceAddr
- )
-{
- // Set tuner I2C device address.
- pTuner->DeviceAddr = DeviceAddr;
- pTuner->IsDeviceAddrSet = YES;
-
-
- return;
-}
-
-void mxl5005s_GetTunerType(
- TUNER_MODULE *pTuner,
- int *pTunerType
- )
-{
- // Get tuner type from tuner module.
- *pTunerType = pTuner->TunerType;
-
-
- return;
-}
-
-int mxl5005s_GetDeviceAddr(
- TUNER_MODULE *pTuner,
- unsigned char *pDeviceAddr
- )
+/* MXL5005 Tuner Control Struct */
+typedef struct _TunerControl_struct {
+ u16 Ctrl_Num; /* Control Number */
+ u16 size; /* Number of bits to represent Value */
+ u16 addr[25]; /* Array of Tuner Register Address for each bit position */
+ u16 bit[25]; /* Array of bit position in Register Address for each bit position */
+ u16 val[25]; /* Binary representation of Value */
+} TunerControl_struct;
+
+/* MXL5005 Tuner Struct */
+struct mxl5005s_state
{
- // Get tuner I2C device address from tuner module.
- if(pTuner->IsDeviceAddrSet != YES)
- goto error_status_get_tuner_i2c_device_addr;
-
- *pDeviceAddr = pTuner->DeviceAddr;
-
-
- return FUNCTION_SUCCESS;
+ u8 Mode; /* 0: Analog Mode ; 1: Digital Mode */
+ u8 IF_Mode; /* for Analog Mode, 0: zero IF; 1: low IF */
+ u32 Chan_Bandwidth; /* filter channel bandwidth (6, 7, 8) */
+ u32 IF_OUT; /* Desired IF Out Frequency */
+ u16 IF_OUT_LOAD; /* IF Out Load Resistor (200/300 Ohms) */
+ u32 RF_IN; /* RF Input Frequency */
+ u32 Fxtal; /* XTAL Frequency */
+ u8 AGC_Mode; /* AGC Mode 0: Dual AGC; 1: Single AGC */
+ u16 TOP; /* Value: take over point */
+ u8 CLOCK_OUT; /* 0: turn off clock out; 1: turn on clock out */
+ u8 DIV_OUT; /* 4MHz or 16MHz */
+ u8 CAPSELECT; /* 0: disable On-Chip pulling cap; 1: enable */
+ u8 EN_RSSI; /* 0: disable RSSI; 1: enable RSSI */
+ u8 Mod_Type; /* Modulation Type; */
+ /* 0 - Default; 1 - DVB-T; 2 - ATSC; 3 - QAM; 4 - Analog Cable */
+ u8 TF_Type; /* Tracking Filter Type */
+ /* 0 - Default; 1 - Off; 2 - Type C; 3 - Type C-H */
+
+ /* Calculated Settings */
+ u32 RF_LO; /* Synth RF LO Frequency */
+ u32 IF_LO; /* Synth IF LO Frequency */
+ u32 TG_LO; /* Synth TG_LO Frequency */
+
+ /* Pointers to ControlName Arrays */
+ u16 Init_Ctrl_Num; /* Number of INIT Control Names */
+ TunerControl_struct
+ Init_Ctrl[INITCTRL_NUM]; /* INIT Control Names Array Pointer */
+
+ u16 CH_Ctrl_Num; /* Number of CH Control Names */
+ TunerControl_struct
+ CH_Ctrl[CHCTRL_NUM]; /* CH Control Name Array Pointer */
+
+ u16 MXL_Ctrl_Num; /* Number of MXL Control Names */
+ TunerControl_struct
+ MXL_Ctrl[MXLCTRL_NUM]; /* MXL Control Name Array Pointer */
+
+ /* Pointer to Tuner Register Array */
+ u16 TunerRegs_Num; /* Number of Tuner Registers */
+ TunerReg_struct
+ TunerRegs[TUNER_REGS_NUM]; /* Tuner Register Array Pointer */
+};
-error_status_get_tuner_i2c_device_addr:
- return FUNCTION_ERROR;
-}
int mxl5005s_Initialize(
struct dvb_usb_device* dib,
@@ -310,24 +207,19 @@ error_status_set_tuner_registers:
return FUNCTION_ERROR;
}
-int mxl5005s_GetRfFreqHz(
- struct dvb_usb_device* dib,
- TUNER_MODULE *pTuner,
- unsigned long *pRfFreqHz
- )
+// DONE
+int mxl5005s_GetRfFreqHz(struct dvb_frontend *fe, unsigned long *pRfFreqHz)
{
- // Get tuner RF frequency in Hz from tuner module.
- if(pTuner->IsRfFreqHzSet != YES)
- goto error_status_get_tuner_rf_frequency;
-
- *pRfFreqHz = pTuner->RfFreqHz;
-
-
- return FUNCTION_SUCCESS;
+ struct mxl5005s_state *state = fe->demodulator_priv;
+ int ret = -1;
+ /* Get tuner RF frequency in Hz from tuner module. */
+ if(state->IsRfFreqHzSet == YES) {
+ *pRfFreqHz = state->RfFreqHz;
+ ret = 0;
+ }
-error_status_get_tuner_rf_frequency:
- return FUNCTION_ERROR;
+ return -1;
}
int mxl5005s_SetRegsWithTable(
@@ -394,14 +286,13 @@ error_status_set_tuner_registers:
return FUNCTION_ERROR;
}
-int mxl5005s_SetRegsWithTable(
- struct dvb_usb_device* dib,
- TUNER_MODULE *pTuner,
+int mxl5005s_SetRegsWithTable(struct dvb_frontend *fe,
unsigned char *pAddrTable,
unsigned char *pByteTable,
int TableLen
)
{
+ struct mxl5005s_state *state = fe->demodulator_priv;
int i;
u8 end_two_bytes_buf[]={ 0 , 0 };
u8 tuner_addr=0x00;
@@ -423,31 +314,21 @@ int mxl5005s_SetRegsWithTable(
return FUNCTION_SUCCESS;
}
-int mxl5005s_SetRegMaskBits(
- struct dvb_usb_device* dib,
- TUNER_MODULE *pTuner,
+int mxl5005s_SetRegMaskBits(struct dvb_frontend *fe,
unsigned char RegAddr,
unsigned char Msb,
unsigned char Lsb,
const unsigned char WritingValue
)
{
- MXL5005S_EXTRA_MODULE *pExtra;
-
+ struct mxl5005s_state *state = fe->demodulator_priv;
int i;
unsigned char Mask;
unsigned char Shift;
-
unsigned char RegByte;
-
-
- // Get tuner extra module.
- pExtra = (MXL5005S_EXTRA_MODULE *)pTuner->pExtra;
-
-
- // Generate mask and shift according to MSB and LSB.
+ /* Generate mask and shift according to MSB and LSB. */
Mask = 0;
for(i = Lsb; i < (unsigned char)(Msb + 1); i++)
Mask |= 0x1 << i;
@@ -455,20 +336,17 @@ int mxl5005s_SetRegMaskBits(
Shift = Lsb;
- // Get tuner register byte according to register adddress.
+ /* Get tuner register byte according to register adddress. */
MXL_RegRead(&pExtra->MxlDefinedTunerStructure, RegAddr, &RegByte);
-
- // Reserve register byte unmask bit with mask and inlay writing value into it.
+ /* Reserve register byte unmask bit with mask and inlay writing value into it. */
RegByte &= ~Mask;
RegByte |= (WritingValue << Shift) & Mask;
-
- // Update tuner register byte table.
+ /* Update tuner register byte table. */
MXL_RegWrite(&pExtra->MxlDefinedTunerStructure, RegAddr, RegByte);
-
- // Write tuner register byte with writing byte.
+ /* Write tuner register byte with writing byte. */
if(pExtra->SetRegsWithTable( dib, pTuner, &RegAddr, &RegByte, LEN_1_BYTE) != FUNCTION_SUCCESS)
goto error_status_set_tuner_registers;
@@ -480,1350 +358,1321 @@ error_status_set_tuner_registers:
return FUNCTION_ERROR;
}
-int mxl5005s_SetSpectrumMode(
- struct dvb_usb_device* dib,
- TUNER_MODULE *pTuner,
- int SpectrumMode
- )
+// DONE
+int mxl5005s_SetSpectrumMode(struct dvb_frontend *fe, int SpectrumMode)
{
+ struct mxl5005s_state *state = fe->demodulator_priv;
static const unsigned char BbIqswapTable[SPECTRUM_MODE_NUM] =
{
- // BB_IQSWAP
- 0, // Normal spectrum
- 1, // Inverse spectrum
+ /* BB_IQSWAP */
+ 0, /* Normal spectrum */
+ 1, /* Inverse spectrum */
};
-
- MXL5005S_EXTRA_MODULE *pExtra;
-
-
-
- // Get tuner extra module.
- pExtra = (MXL5005S_EXTRA_MODULE *)pTuner->pExtra;
-
-
- // Set BB_IQSWAP according to BB_IQSWAP table and spectrum mode.
- if(pExtra->SetRegMaskBits(dib,pTuner, MXL5005S_BB_IQSWAP_ADDR, MXL5005S_BB_IQSWAP_MSB,
- MXL5005S_BB_IQSWAP_LSB, BbIqswapTable[SpectrumMode]) != FUNCTION_SUCCESS)
- goto error_status_set_tuner_registers;
-
+ /* Set BB_IQSWAP according to BB_IQSWAP table and spectrum mode. */
+ mxl5005s_SetRegMaskBits(fe,
+ MXL5005S_BB_IQSWAP_ADDR,
+ MXL5005S_BB_IQSWAP_MSB,
+ MXL5005S_BB_IQSWAP_LSB,
+ BbIqswapTable[SpectrumMode]);
return FUNCTION_SUCCESS;
-
-
-error_status_set_tuner_registers:
- return FUNCTION_ERROR;
}
-int mxl5005s_SetBandwidthHz(
- struct dvb_usb_device* dib,
- TUNER_MODULE *pTuner,
- unsigned long BandwidthHz
- )
+// DONE
+int mxl5005s_SetBandwidthHz(struct dvb_frontend *fe, unsigned long BandwidthHz)
{
- MXL5005S_EXTRA_MODULE *pExtra;
+ struct mxl5005s_state *state = fe->demodulator_priv;
unsigned char BbDlpfBandsel;
-
-
- // Get tuner extra module.
- pExtra = (MXL5005S_EXTRA_MODULE *)pTuner->pExtra;
-
-
- // Set BB_DLPF_BANDSEL according to bandwidth.
+ /* Set BB_DLPF_BANDSEL according to bandwidth. */
switch(BandwidthHz)
{
default:
- case MXL5005S_BANDWIDTH_6MHZ: BbDlpfBandsel = 3; break;
- case MXL5005S_BANDWIDTH_7MHZ: BbDlpfBandsel = 2; break;
- case MXL5005S_BANDWIDTH_8MHZ: BbDlpfBandsel = 0; break;
+ case MXL5005S_BANDWIDTH_6MHZ:
+ BbDlpfBandsel = 3;
+ break;
+ case MXL5005S_BANDWIDTH_7MHZ:
+ BbDlpfBandsel = 2;
+ break;
+ case MXL5005S_BANDWIDTH_8MHZ:
+ BbDlpfBandsel = 0;
+ break;
}
if(pExtra->SetRegMaskBits(dib,pTuner, MXL5005S_BB_DLPF_BANDSEL_ADDR, MXL5005S_BB_DLPF_BANDSEL_MSB,
- MXL5005S_BB_DLPF_BANDSEL_LSB, BbDlpfBandsel) != FUNCTION_SUCCESS)
+ MXL5005S_BB_DLPF_BANDSEL_LSB, BbDlpfBandsel) != 0)
goto error_status_set_tuner_registers;
- return FUNCTION_SUCCESS;
+ return 0;
error_status_set_tuner_registers:
- return FUNCTION_ERROR;
-}
-
-void mxl5005s_SetI2cBridgeModuleTunerArg(TUNER_MODULE *pTuner)
-{
- I2C_BRIDGE_MODULE *pI2cBridge;
-
-
-
- // Get I2C bridge module.
- pI2cBridge = pTuner->pI2cBridge;
-
- // Set I2C bridge module tuner arguments.
- pI2cBridge->pTunerDeviceAddr = &pTuner->DeviceAddr;
-
-
- return;
+ return -1;
}
// The following context is source code provided by MaxLinear.
// MaxLinear source code - MXL5005_Initialize.cpp
-u16 MXL5005_RegisterInit(Tuner_struct *Tuner)
+// DONE
+u16 MXL5005_RegisterInit(struct dvb_frontend *fe)
{
- Tuner->TunerRegs_Num = TUNER_REGS_NUM ;
-// Tuner->TunerRegs = (TunerReg_struct *) calloc( TUNER_REGS_NUM, sizeof(TunerReg_struct) ) ;
+ struct mxl5005s_state *state = fe->demodulator_priv;
+ state->TunerRegs_Num = TUNER_REGS_NUM ;
+// state->TunerRegs = (TunerReg_struct *) calloc( TUNER_REGS_NUM, sizeof(TunerReg_struct) ) ;
- Tuner->TunerRegs[0].Reg_Num = 9 ;
- Tuner->TunerRegs[0].Reg_Val = 0x40 ;
+ state->TunerRegs[0].Reg_Num = 9 ;
+ state->TunerRegs[0].Reg_Val = 0x40 ;
- Tuner->TunerRegs[1].Reg_Num = 11 ;
- Tuner->TunerRegs[1].Reg_Val = 0x19 ;
+ state->TunerRegs[1].Reg_Num = 11 ;
+ state->TunerRegs[1].Reg_Val = 0x19 ;
- Tuner->TunerRegs[2].Reg_Num = 12 ;
- Tuner->TunerRegs[2].Reg_Val = 0x60 ;
+ state->TunerRegs[2].Reg_Num = 12 ;
+ state->TunerRegs[2].Reg_Val = 0x60 ;
- Tuner->TunerRegs[3].Reg_Num = 13 ;
- Tuner->TunerRegs[3].Reg_Val = 0x00 ;
+ state->TunerRegs[3].Reg_Num = 13 ;
+ state->TunerRegs[3].Reg_Val = 0x00 ;
- Tuner->TunerRegs[4].Reg_Num = 14 ;
- Tuner->TunerRegs[4].Reg_Val = 0x00 ;
+ state->TunerRegs[4].Reg_Num = 14 ;
+ state->TunerRegs[4].Reg_Val = 0x00 ;
- Tuner->TunerRegs[5].Reg_Num = 15 ;
- Tuner->TunerRegs[5].Reg_Val = 0xC0 ;
+ state->TunerRegs[5].Reg_Num = 15 ;
+ state->TunerRegs[5].Reg_Val = 0xC0 ;
- Tuner->TunerRegs[6].Reg_Num = 16 ;
- Tuner->TunerRegs[6].Reg_Val = 0x00 ;
+ state->TunerRegs[6].Reg_Num = 16 ;
+ state->TunerRegs[6].Reg_Val = 0x00 ;
- Tuner->TunerRegs[7].Reg_Num = 17 ;
- Tuner->TunerRegs[7].Reg_Val = 0x00 ;
+ state->TunerRegs[7].Reg_Num = 17 ;
+ state->TunerRegs[7].Reg_Val = 0x00 ;
- Tuner->TunerRegs[8].Reg_Num = 18 ;
- Tuner->TunerRegs[8].Reg_Val = 0x00 ;
+ state->TunerRegs[8].Reg_Num = 18 ;
+ state->TunerRegs[8].Reg_Val = 0x00 ;
- Tuner->TunerRegs[9].Reg_Num = 19 ;
- Tuner->TunerRegs[9].Reg_Val = 0x34 ;
+ state->TunerRegs[9].Reg_Num = 19 ;
+ state->TunerRegs[9].Reg_Val = 0x34 ;
- Tuner->TunerRegs[10].Reg_Num = 21 ;
- Tuner->TunerRegs[10].Reg_Val = 0x00 ;
+ state->TunerRegs[10].Reg_Num = 21 ;
+ state->TunerRegs[10].Reg_Val = 0x00 ;
- Tuner->TunerRegs[11].Reg_Num = 22 ;
- Tuner->TunerRegs[11].Reg_Val = 0x6B ;
+ state->TunerRegs[11].Reg_Num = 22 ;
+ state->TunerRegs[11].Reg_Val = 0x6B ;
- Tuner->TunerRegs[12].Reg_Num = 23 ;
- Tuner->TunerRegs[12].Reg_Val = 0x35 ;
+ state->TunerRegs[12].Reg_Num = 23 ;
+ state->TunerRegs[12].Reg_Val = 0x35 ;
- Tuner->TunerRegs[13].Reg_Num = 24 ;
- Tuner->TunerRegs[13].Reg_Val = 0x70 ;
+ state->TunerRegs[13].Reg_Num = 24 ;
+ state->TunerRegs[13].Reg_Val = 0x70 ;
- Tuner->TunerRegs[14].Reg_Num = 25 ;
- Tuner->TunerRegs[14].Reg_Val = 0x3E ;
+ state->TunerRegs[14].Reg_Num = 25 ;
+ state->TunerRegs[14].Reg_Val = 0x3E ;
- Tuner->TunerRegs[15].Reg_Num = 26 ;
- Tuner->TunerRegs[15].Reg_Val = 0x82 ;
+ state->TunerRegs[15].Reg_Num = 26 ;
+ state->TunerRegs[15].Reg_Val = 0x82 ;
- Tuner->TunerRegs[16].Reg_Num = 31 ;
- Tuner->TunerRegs[16].Reg_Val = 0x00 ;
+ state->TunerRegs[16].Reg_Num = 31 ;
+ state->TunerRegs[16].Reg_Val = 0x00 ;
- Tuner->TunerRegs[17].Reg_Num = 32 ;
- Tuner->TunerRegs[17].Reg_Val = 0x40 ;
+ state->TunerRegs[17].Reg_Num = 32 ;
+ state->TunerRegs[17].Reg_Val = 0x40 ;
- Tuner->TunerRegs[18].Reg_Num = 33 ;
- Tuner->TunerRegs[18].Reg_Val = 0x53 ;
+ state->TunerRegs[18].Reg_Num = 33 ;
+ state->TunerRegs[18].Reg_Val = 0x53 ;
- Tuner->TunerRegs[19].Reg_Num = 34 ;
- Tuner->TunerRegs[19].Reg_Val = 0x81 ;
+ state->TunerRegs[19].Reg_Num = 34 ;
+ state->TunerRegs[19].Reg_Val = 0x81 ;
- Tuner->TunerRegs[20].Reg_Num = 35 ;
- Tuner->TunerRegs[20].Reg_Val = 0xC9 ;
+ state->TunerRegs[20].Reg_Num = 35 ;
+ state->TunerRegs[20].Reg_Val = 0xC9 ;
- Tuner->TunerRegs[21].Reg_Num = 36 ;
- Tuner->TunerRegs[21].Reg_Val = 0x01 ;
+ state->TunerRegs[21].Reg_Num = 36 ;
+ state->TunerRegs[21].Reg_Val = 0x01 ;
- Tuner->TunerRegs[22].Reg_Num = 37 ;
- Tuner->TunerRegs[22].Reg_Val = 0x00 ;
+ state->TunerRegs[22].Reg_Num = 37 ;
+ state->TunerRegs[22].Reg_Val = 0x00 ;
- Tuner->TunerRegs[23].Reg_Num = 41 ;
- Tuner->TunerRegs[23].Reg_Val = 0x00 ;
+ state->TunerRegs[23].Reg_Num = 41 ;
+ state->TunerRegs[23].Reg_Val = 0x00 ;
- Tuner->TunerRegs[24].Reg_Num = 42 ;
- Tuner->TunerRegs[24].Reg_Val = 0xF8 ;
+ state->TunerRegs[24].Reg_Num = 42 ;
+ state->TunerRegs[24].Reg_Val = 0xF8 ;
- Tuner->TunerRegs[25].Reg_Num = 43 ;
- Tuner->TunerRegs[25].Reg_Val = 0x43 ;
+ state->TunerRegs[25].Reg_Num = 43 ;
+ state->TunerRegs[25].Reg_Val = 0x43 ;
- Tuner->TunerRegs[26].Reg_Num = 44 ;
- Tuner->TunerRegs[26].Reg_Val = 0x20 ;
+ state->TunerRegs[26].Reg_Num = 44 ;
+ state->TunerRegs[26].Reg_Val = 0x20 ;
- Tuner->TunerRegs[27].Reg_Num = 45 ;
- Tuner->TunerRegs[27].Reg_Val = 0x80 ;
+ state->TunerRegs[27].Reg_Num = 45 ;
+ state->TunerRegs[27].Reg_Val = 0x80 ;
- Tuner->TunerRegs[28].Reg_Num = 46 ;
- Tuner->TunerRegs[28].Reg_Val = 0x88 ;
+ state->TunerRegs[28].Reg_Num = 46 ;
+ state->TunerRegs[28].Reg_Val = 0x88 ;
- Tuner->TunerRegs[29].Reg_Num = 47 ;
- Tuner->TunerRegs[29].Reg_Val = 0x86 ;
+ state->TunerRegs[29].Reg_Num = 47 ;
+ state->TunerRegs[29].Reg_Val = 0x86 ;
- Tuner->TunerRegs[30].Reg_Num = 48 ;
- Tuner->TunerRegs[30].Reg_Val = 0x00 ;
+ state->TunerRegs[30].Reg_Num = 48 ;
+ state->TunerRegs[30].Reg_Val = 0x00 ;
- Tuner->TunerRegs[31].Reg_Num = 49 ;
- Tuner->TunerRegs[31].Reg_Val = 0x00 ;
+ state->TunerRegs[31].Reg_Num = 49 ;
+ state->TunerRegs[31].Reg_Val = 0x00 ;
- Tuner->TunerRegs[32].Reg_Num = 53 ;
- Tuner->TunerRegs[32].Reg_Val = 0x94 ;
+ state->TunerRegs[32].Reg_Num = 53 ;
+ state->TunerRegs[32].Reg_Val = 0x94 ;
- Tuner->TunerRegs[33].Reg_Num = 54 ;
- Tuner->TunerRegs[33].Reg_Val = 0xFA ;
+ state->TunerRegs[33].Reg_Num = 54 ;
+ state->TunerRegs[33].Reg_Val = 0xFA ;
- Tuner->TunerRegs[34].Reg_Num = 55 ;
- Tuner->TunerRegs[34].Reg_Val = 0x92 ;
+ state->TunerRegs[34].Reg_Num = 55 ;
+ state->TunerRegs[34].Reg_Val = 0x92 ;
- Tuner->TunerRegs[35].Reg_Num = 56 ;
- Tuner->TunerRegs[35].Reg_Val = 0x80 ;
+ state->TunerRegs[35].Reg_Num = 56 ;
+ state->TunerRegs[35].Reg_Val = 0x80 ;
- Tuner->TunerRegs[36].Reg_Num = 57 ;
- Tuner->TunerRegs[36].Reg_Val = 0x41 ;
+ state->TunerRegs[36].Reg_Num = 57 ;
+ state->TunerRegs[36].Reg_Val = 0x41 ;
- Tuner->TunerRegs[37].Reg_Num = 58 ;
- Tuner->TunerRegs[37].Reg_Val = 0xDB ;
+ state->TunerRegs[37].Reg_Num = 58 ;
+ state->TunerRegs[37].Reg_Val = 0xDB ;
- Tuner->TunerRegs[38].Reg_Num = 59 ;
- Tuner->TunerRegs[38].Reg_Val = 0x00 ;
+ state->TunerRegs[38].Reg_Num = 59 ;
+ state->TunerRegs[38].Reg_Val = 0x00 ;
- Tuner->TunerRegs[39].Reg_Num = 60 ;
- Tuner->TunerRegs[39].Reg_Val = 0x00 ;
+ state->TunerRegs[39].Reg_Num = 60 ;
+ state->TunerRegs[39].Reg_Val = 0x00 ;
- Tuner->TunerRegs[40].Reg_Num = 61 ;
- Tuner->TunerRegs[40].Reg_Val = 0x00 ;
+ state->TunerRegs[40].Reg_Num = 61 ;
+ state->TunerRegs[40].Reg_Val = 0x00 ;
- Tuner->TunerRegs[41].Reg_Num = 62 ;
- Tuner->TunerRegs[41].Reg_Val = 0x00 ;
+ state->TunerRegs[41].Reg_Num = 62 ;
+ state->TunerRegs[41].Reg_Val = 0x00 ;
- Tuner->TunerRegs[42].Reg_Num = 65 ;
- Tuner->TunerRegs[42].Reg_Val = 0xF8 ;
+ state->TunerRegs[42].Reg_Num = 65 ;
+ state->TunerRegs[42].Reg_Val = 0xF8 ;
- Tuner->TunerRegs[43].Reg_Num = 66 ;
- Tuner->TunerRegs[43].Reg_Val = 0xE4 ;
+ state->TunerRegs[43].Reg_Num = 66 ;
+ state->TunerRegs[43].Reg_Val = 0xE4 ;
- Tuner->TunerRegs[44].Reg_Num = 67 ;
- Tuner->TunerRegs[44].Reg_Val = 0x90 ;
+ state->TunerRegs[44].Reg_Num = 67 ;
+ state->TunerRegs[44].Reg_Val = 0x90 ;
- Tuner->TunerRegs[45].Reg_Num = 68 ;
- Tuner->TunerRegs[45].Reg_Val = 0xC0 ;
+ state->TunerRegs[45].Reg_Num = 68 ;
+ state->TunerRegs[45].Reg_Val = 0xC0 ;
- Tuner->TunerRegs[46].Reg_Num = 69 ;
- Tuner->TunerRegs[46].Reg_Val = 0x01 ;
+ state->TunerRegs[46].Reg_Num = 69 ;
+ state->TunerRegs[46].Reg_Val = 0x01 ;
- Tuner->TunerRegs[47].Reg_Num = 70 ;
- Tuner->TunerRegs[47].Reg_Val = 0x50 ;
+ state->TunerRegs[47].Reg_Num = 70 ;
+ state->TunerRegs[47].Reg_Val = 0x50 ;
- Tuner->TunerRegs[48].Reg_Num = 71 ;
- Tuner->TunerRegs[48].Reg_Val = 0x06 ;
+ state->TunerRegs[48].Reg_Num = 71 ;
+ state->TunerRegs[48].Reg_Val = 0x06 ;
- Tuner->TunerRegs[49].Reg_Num = 72 ;
- Tuner->TunerRegs[49].Reg_Val = 0x00 ;
+ state->TunerRegs[49].Reg_Num = 72 ;
+ state->TunerRegs[49].Reg_Val = 0x00 ;
- Tuner->TunerRegs[50].Reg_Num = 73 ;
- Tuner->TunerRegs[50].Reg_Val = 0x20 ;
+ state->TunerRegs[50].Reg_Num = 73 ;
+ state->TunerRegs[50].Reg_Val = 0x20 ;
- Tuner->TunerRegs[51].Reg_Num = 76 ;
- Tuner->TunerRegs[51].Reg_Val = 0xBB ;
+ state->TunerRegs[51].Reg_Num = 76 ;
+ state->TunerRegs[51].Reg_Val = 0xBB ;
- Tuner->TunerRegs[52].Reg_Num = 77 ;
- Tuner->TunerRegs[52].Reg_Val = 0x13 ;
+ state->TunerRegs[52].Reg_Num = 77 ;
+ state->TunerRegs[52].Reg_Val = 0x13 ;
- Tuner->TunerRegs[53].Reg_Num = 81 ;
- Tuner->TunerRegs[53].Reg_Val = 0x04 ;
+ state->TunerRegs[53].Reg_Num = 81 ;
+ state->TunerRegs[53].Reg_Val = 0x04 ;
- Tuner->TunerRegs[54].Reg_Num = 82 ;
- Tuner->TunerRegs[54].Reg_Val = 0x75 ;
+ state->TunerRegs[54].Reg_Num = 82 ;
+ state->TunerRegs[54].Reg_Val = 0x75 ;
- Tuner->TunerRegs[55].Reg_Num = 83 ;
- Tuner->TunerRegs[55].Reg_Val = 0x00 ;
+ state->TunerRegs[55].Reg_Num = 83 ;
+ state->TunerRegs[55].Reg_Val = 0x00 ;
- Tuner->TunerRegs[56].Reg_Num = 84 ;
- Tuner->TunerRegs[56].Reg_Val = 0x00 ;
+ state->TunerRegs[56].Reg_Num = 84 ;
+ state->TunerRegs[56].Reg_Val = 0x00 ;
- Tuner->TunerRegs[57].Reg_Num = 85 ;
- Tuner->TunerRegs[57].Reg_Val = 0x00 ;
+ state->TunerRegs[57].Reg_Num = 85 ;
+ state->TunerRegs[57].Reg_Val = 0x00 ;
- Tuner->TunerRegs[58].Reg_Num = 91 ;
- Tuner->TunerRegs[58].Reg_Val = 0x70 ;
+ state->TunerRegs[58].Reg_Num = 91 ;
+ state->TunerRegs[58].Reg_Val = 0x70 ;
- Tuner->TunerRegs[59].Reg_Num = 92 ;
- Tuner->TunerRegs[59].Reg_Val = 0x00 ;
+ state->TunerRegs[59].Reg_Num = 92 ;
+ state->TunerRegs[59].Reg_Val = 0x00 ;
- Tuner->TunerRegs[60].Reg_Num = 93 ;
- Tuner->TunerRegs[60].Reg_Val = 0x00 ;
+ state->TunerRegs[60].Reg_Num = 93 ;
+ state->TunerRegs[60].Reg_Val = 0x00 ;
- Tuner->TunerRegs[61].Reg_Num = 94 ;
- Tuner->TunerRegs[61].Reg_Val = 0x00 ;
+ state->TunerRegs[61].Reg_Num = 94 ;
+ state->TunerRegs[61].Reg_Val = 0x00 ;
- Tuner->TunerRegs[62].Reg_Num = 95 ;
- Tuner->TunerRegs[62].Reg_Val = 0x0C ;
+ state->TunerRegs[62].Reg_Num = 95 ;
+ state->TunerRegs[62].Reg_Val = 0x0C ;
- Tuner->TunerRegs[63].Reg_Num = 96 ;
- Tuner->TunerRegs[63].Reg_Val = 0x00 ;
+ state->TunerRegs[63].Reg_Num = 96 ;
+ state->TunerRegs[63].Reg_Val = 0x00 ;
- Tuner->TunerRegs[64].Reg_Num = 97 ;
- Tuner->TunerRegs[64].Reg_Val = 0x00 ;
+ state->TunerRegs[64].Reg_Num = 97 ;
+ state->TunerRegs[64].Reg_Val = 0x00 ;
- Tuner->TunerRegs[65].Reg_Num = 98 ;
- Tuner->TunerRegs[65].Reg_Val = 0xE2 ;
+ state->TunerRegs[65].Reg_Num = 98 ;
+ state->TunerRegs[65].Reg_Val = 0xE2 ;
- Tuner->TunerRegs[66].Reg_Num = 99 ;
- Tuner->TunerRegs[66].Reg_Val = 0x00 ;
+ state->TunerRegs[66].Reg_Num = 99 ;
+ state->TunerRegs[66].Reg_Val = 0x00 ;
- Tuner->TunerRegs[67].Reg_Num = 100 ;
- Tuner->TunerRegs[67].Reg_Val = 0x00 ;
+ state->TunerRegs[67].Reg_Num = 100 ;
+ state->TunerRegs[67].Reg_Val = 0x00 ;
- Tuner->TunerRegs[68].Reg_Num = 101 ;
- Tuner->TunerRegs[68].Reg_Val = 0x12 ;
+ state->TunerRegs[68].Reg_Num = 101 ;
+ state->TunerRegs[68].Reg_Val = 0x12 ;
- Tuner->TunerRegs[69].Reg_Num = 102 ;
- Tuner->TunerRegs[69].Reg_Val = 0x80 ;
+ state->TunerRegs[69].Reg_Num = 102 ;
+ state->TunerRegs[69].Reg_Val = 0x80 ;
- Tuner->TunerRegs[70].Reg_Num = 103 ;
- Tuner->TunerRegs[70].Reg_Val = 0x32 ;
+ state->TunerRegs[70].Reg_Num = 103 ;
+ state->TunerRegs[70].Reg_Val = 0x32 ;
- Tuner->TunerRegs[71].Reg_Num = 104 ;
- Tuner->TunerRegs[71].Reg_Val = 0xB4 ;
+ state->TunerRegs[71].Reg_Num = 104 ;
+ state->TunerRegs[71].Reg_Val = 0xB4 ;
- Tuner->TunerRegs[72].Reg_Num = 105 ;
- Tuner->TunerRegs[72].Reg_Val = 0x60 ;
+ state->TunerRegs[72].Reg_Num = 105 ;
+ state->TunerRegs[72].Reg_Val = 0x60 ;
- Tuner->TunerRegs[73].Reg_Num = 106 ;
- Tuner->TunerRegs[73].Reg_Val = 0x83 ;
+ state->TunerRegs[73].Reg_Num = 106 ;
+ state->TunerRegs[73].Reg_Val = 0x83 ;
- Tuner->TunerRegs[74].Reg_Num = 107 ;
- Tuner->TunerRegs[74].Reg_Val = 0x84 ;
+ state->TunerRegs[74].Reg_Num = 107 ;
+ state->TunerRegs[74].Reg_Val = 0x84 ;
- Tuner->TunerRegs[75].Reg_Num = 108 ;
- Tuner->TunerRegs[75].Reg_Val = 0x9C ;
+ state->TunerRegs[75].Reg_Num = 108 ;
+ state->TunerRegs[75].Reg_Val = 0x9C ;
- Tuner->TunerRegs[76].Reg_Num = 109 ;
- Tuner->TunerRegs[76].Reg_Val = 0x02 ;
+ state->TunerRegs[76].Reg_Num = 109 ;
+ state->TunerRegs[76].Reg_Val = 0x02 ;
- Tuner->TunerRegs[77].Reg_Num = 110 ;
- Tuner->TunerRegs[77].Reg_Val = 0x81 ;
+ state->TunerRegs[77].Reg_Num = 110 ;
+ state->TunerRegs[77].Reg_Val = 0x81 ;
- Tuner->TunerRegs[78].Reg_Num = 111 ;
- Tuner->TunerRegs[78].Reg_Val = 0xC0 ;
+ state->TunerRegs[78].Reg_Num = 111 ;
+ state->TunerRegs[78].Reg_Val = 0xC0 ;
- Tuner->TunerRegs[79].Reg_Num = 112 ;
- Tuner->TunerRegs[79].Reg_Val = 0x10 ;
+ state->TunerRegs[79].Reg_Num = 112 ;
+ state->TunerRegs[79].Reg_Val = 0x10 ;
- Tuner->TunerRegs[80].Reg_Num = 131 ;
- Tuner->TunerRegs[80].Reg_Val = 0x8A ;
+ state->TunerRegs[80].Reg_Num = 131 ;
+ state->TunerRegs[80].Reg_Val = 0x8A ;
- Tuner->TunerRegs[81].Reg_Num = 132 ;
- Tuner->TunerRegs[81].Reg_Val = 0x10 ;
+ state->TunerRegs[81].Reg_Num = 132 ;
+ state->TunerRegs[81].Reg_Val = 0x10 ;
- Tuner->TunerRegs[82].Reg_Num = 133 ;
- Tuner->TunerRegs[82].Reg_Val = 0x24 ;
+ state->TunerRegs[82].Reg_Num = 133 ;
+ state->TunerRegs[82].Reg_Val = 0x24 ;
- Tuner->TunerRegs[83].Reg_Num = 134 ;
- Tuner->TunerRegs[83].Reg_Val = 0x00 ;
+ state->TunerRegs[83].Reg_Num = 134 ;
+ state->TunerRegs[83].Reg_Val = 0x00 ;
- Tuner->TunerRegs[84].Reg_Num = 135 ;
- Tuner->TunerRegs[84].Reg_Val = 0x00 ;
+ state->TunerRegs[84].Reg_Num = 135 ;
+ state->TunerRegs[84].Reg_Val = 0x00 ;
- Tuner->TunerRegs[85].Reg_Num = 136 ;
- Tuner->TunerRegs[85].Reg_Val = 0x7E ;
+ state->TunerRegs[85].Reg_Num = 136 ;
+ state->TunerRegs[85].Reg_Val = 0x7E ;
- Tuner->TunerRegs[86].Reg_Num = 137 ;
- Tuner->TunerRegs[86].Reg_Val = 0x40 ;
+ state->TunerRegs[86].Reg_Num = 137 ;
+ state->TunerRegs[86].Reg_Val = 0x40 ;
- Tuner->TunerRegs[87].Reg_Num = 138 ;
- Tuner->TunerRegs[87].Reg_Val = 0x38 ;
+ state->TunerRegs[87].Reg_Num = 138 ;
+ state->TunerRegs[87].Reg_Val = 0x38 ;
- Tuner->TunerRegs[88].Reg_Num = 146 ;
- Tuner->TunerRegs[88].Reg_Val = 0xF6 ;
+ state->TunerRegs[88].Reg_Num = 146 ;
+ state->TunerRegs[88].Reg_Val = 0xF6 ;
- Tuner->TunerRegs[89].Reg_Num = 147 ;
- Tuner->TunerRegs[89].Reg_Val = 0x1A ;
+ state->TunerRegs[89].Reg_Num = 147 ;
+ state->TunerRegs[89].Reg_Val = 0x1A ;
- Tuner->TunerRegs[90].Reg_Num = 148 ;
- Tuner->TunerRegs[90].Reg_Val = 0x62 ;
+ state->TunerRegs[90].Reg_Num = 148 ;
+ state->TunerRegs[90].Reg_Val = 0x62 ;
- Tuner->TunerRegs[91].Reg_Num = 149 ;
- Tuner->TunerRegs[91].Reg_Val = 0x33 ;
+ state->TunerRegs[91].Reg_Num = 149 ;
+ state->TunerRegs[91].Reg_Val = 0x33 ;
- Tuner->TunerRegs[92].Reg_Num = 150 ;
- Tuner->TunerRegs[92].Reg_Val = 0x80 ;
+ state->TunerRegs[92].Reg_Num = 150 ;
+ state->TunerRegs[92].Reg_Val = 0x80 ;
- Tuner->TunerRegs[93].Reg_Num = 156 ;
- Tuner->TunerRegs[93].Reg_Val = 0x56 ;
+ state->TunerRegs[93].Reg_Num = 156 ;
+ state->TunerRegs[93].Reg_Val = 0x56 ;
- Tuner->TunerRegs[94].Reg_Num = 157 ;
- Tuner->TunerRegs[94].Reg_Val = 0x17 ;
+ state->TunerRegs[94].Reg_Num = 157 ;
+ state->TunerRegs[94].Reg_Val = 0x17 ;
- Tuner->TunerRegs[95].Reg_Num = 158 ;
- Tuner->TunerRegs[95].Reg_Val = 0xA9 ;
+ state->TunerRegs[95].Reg_Num = 158 ;
+ state->TunerRegs[95].Reg_Val = 0xA9 ;
- Tuner->TunerRegs[96].Reg_Num = 159 ;
- Tuner->TunerRegs[96].Reg_Val = 0x00 ;
+ state->TunerRegs[96].Reg_Num = 159 ;
+ state->TunerRegs[96].Reg_Val = 0x00 ;
- Tuner->TunerRegs[97].Reg_Num = 160 ;
- Tuner->TunerRegs[97].Reg_Val = 0x00 ;
+ state->TunerRegs[97].Reg_Num = 160 ;
+ state->TunerRegs[97].Reg_Val = 0x00 ;
- Tuner->TunerRegs[98].Reg_Num = 161 ;
- Tuner->TunerRegs[98].Reg_Val = 0x00 ;
+ state->TunerRegs[98].Reg_Num = 161 ;
+ state->TunerRegs[98].Reg_Val = 0x00 ;
- Tuner->TunerRegs[99].Reg_Num = 162 ;
- Tuner->TunerRegs[99].Reg_Val = 0x40 ;
+ state->TunerRegs[99].Reg_Num = 162 ;
+ state->TunerRegs[99].Reg_Val = 0x40 ;
- Tuner->TunerRegs[100].Reg_Num = 166 ;
- Tuner->TunerRegs[100].Reg_Val = 0xAE ;
+ state->TunerRegs[100].Reg_Num = 166 ;
+ state->TunerRegs[100].Reg_Val = 0xAE ;
- Tuner->TunerRegs[101].Reg_Num = 167 ;
- Tuner->TunerRegs[101].Reg_Val = 0x1B ;
+ state->TunerRegs[101].Reg_Num = 167 ;
+ state->TunerRegs[101].Reg_Val = 0x1B ;
- Tuner->TunerRegs[102].Reg_Num = 168 ;
- Tuner->TunerRegs[102].Reg_Val = 0xF2 ;
+ state->TunerRegs[102].Reg_Num = 168 ;
+ state->TunerRegs[102].Reg_Val = 0xF2 ;
- Tuner->TunerRegs[103].Reg_Num = 195 ;
- Tuner->TunerRegs[103].Reg_Val = 0x00 ;
+ state->TunerRegs[103].Reg_Num = 195 ;
+ state->TunerRegs[103].Reg_Val = 0x00 ;
return 0 ;
}
-u16 MXL5005_ControlInit(Tuner_struct *Tuner)
+// DONE
+u16 MXL5005_ControlInit(struct dvb_frontend *fe)
{
- Tuner->Init_Ctrl_Num = INITCTRL_NUM ;
-
- Tuner->Init_Ctrl[0].Ctrl_Num = DN_IQTN_AMP_CUT ;
- Tuner->Init_Ctrl[0].size = 1 ;
- Tuner->Init_Ctrl[0].addr[0] = 73;
- Tuner->Init_Ctrl[0].bit[0] = 7;
- Tuner->Init_Ctrl[0].val[0] = 0;
-
- Tuner->Init_Ctrl[1].Ctrl_Num = BB_MODE ;
- Tuner->Init_Ctrl[1].size = 1 ;
- Tuner->Init_Ctrl[1].addr[0] = 53;
- Tuner->Init_Ctrl[1].bit[0] = 2;
- Tuner->Init_Ctrl[1].val[0] = 1;
-
- Tuner->Init_Ctrl[2].Ctrl_Num = BB_BUF ;
- Tuner->Init_Ctrl[2].size = 2 ;
- Tuner->Init_Ctrl[2].addr[0] = 53;
- Tuner->Init_Ctrl[2].bit[0] = 1;
- Tuner->Init_Ctrl[2].val[0] = 0;
- Tuner->Init_Ctrl[2].addr[1] = 57;
- Tuner->Init_Ctrl[2].bit[1] = 0;
- Tuner->Init_Ctrl[2].val[1] = 1;
-
- Tuner->Init_Ctrl[3].Ctrl_Num = BB_BUF_OA ;
- Tuner->Init_Ctrl[3].size = 1 ;
- Tuner->Init_Ctrl[3].addr[0] = 53;
- Tuner->Init_Ctrl[3].bit[0] = 0;
- Tuner->Init_Ctrl[3].val[0] = 0;
-
- Tuner->Init_Ctrl[4].Ctrl_Num = BB_ALPF_BANDSELECT ;
- Tuner->Init_Ctrl[4].size = 3 ;
- Tuner->Init_Ctrl[4].addr[0] = 53;
- Tuner->Init_Ctrl[4].bit[0] = 5;
- Tuner->Init_Ctrl[4].val[0] = 0;
- Tuner->Init_Ctrl[4].addr[1] = 53;
- Tuner->Init_Ctrl[4].bit[1] = 6;
- Tuner->Init_Ctrl[4].val[1] = 0;
- Tuner->Init_Ctrl[4].addr[2] = 53;
- Tuner->Init_Ctrl[4].bit[2] = 7;
- Tuner->Init_Ctrl[4].val[2] = 1;
-
- Tuner->Init_Ctrl[5].Ctrl_Num = BB_IQSWAP ;
- Tuner->Init_Ctrl[5].size = 1 ;
- Tuner->Init_Ctrl[5].addr[0] = 59;
- Tuner->Init_Ctrl[5].bit[0] = 0;
- Tuner->Init_Ctrl[5].val[0] = 0;
-
- Tuner->Init_Ctrl[6].Ctrl_Num = BB_DLPF_BANDSEL ;
- Tuner->Init_Ctrl[6].size = 2 ;
- Tuner->Init_Ctrl[6].addr[0] = 53;
- Tuner->Init_Ctrl[6].bit[0] = 3;
- Tuner->Init_Ctrl[6].val[0] = 0;
- Tuner->Init_Ctrl[6].addr[1] = 53;
- Tuner->Init_Ctrl[6].bit[1] = 4;
- Tuner->Init_Ctrl[6].val[1] = 1;
-
- Tuner->Init_Ctrl[7].Ctrl_Num = RFSYN_CHP_GAIN ;
- Tuner->Init_Ctrl[7].size = 4 ;
- Tuner->Init_Ctrl[7].addr[0] = 22;
- Tuner->Init_Ctrl[7].bit[0] = 4;
- Tuner->Init_Ctrl[7].val[0] = 0;
- Tuner->Init_Ctrl[7].addr[1] = 22;
- Tuner->Init_Ctrl[7].bit[1] = 5;
- Tuner->Init_Ctrl[7].val[1] = 1;
- Tuner->Init_Ctrl[7].addr[2] = 22;
- Tuner->Init_Ctrl[7].bit[2] = 6;
- Tuner->Init_Ctrl[7].val[2] = 1;
- Tuner->Init_Ctrl[7].addr[3] = 22;
- Tuner->Init_Ctrl[7].bit[3] = 7;
- Tuner->Init_Ctrl[7].val[3] = 0;
-
- Tuner->Init_Ctrl[8].Ctrl_Num = RFSYN_EN_CHP_HIGAIN ;
- Tuner->Init_Ctrl[8].size = 1 ;
- Tuner->Init_Ctrl[8].addr[0] = 22;
- Tuner->Init_Ctrl[8].bit[0] = 2;
- Tuner->Init_Ctrl[8].val[0] = 0;
-
- Tuner->Init_Ctrl[9].Ctrl_Num = AGC_IF ;
- Tuner->Init_Ctrl[9].size = 4 ;
- Tuner->Init_Ctrl[9].addr[0] = 76;
- Tuner->Init_Ctrl[9].bit[0] = 0;
- Tuner->Init_Ctrl[9].val[0] = 1;
- Tuner->Init_Ctrl[9].addr[1] = 76;
- Tuner->Init_Ctrl[9].bit[1] = 1;
- Tuner->Init_Ctrl[9].val[1] = 1;
- Tuner->Init_Ctrl[9].addr[2] = 76;
- Tuner->Init_Ctrl[9].bit[2] = 2;
- Tuner->Init_Ctrl[9].val[2] = 0;
- Tuner->Init_Ctrl[9].addr[3] = 76;
- Tuner->Init_Ctrl[9].bit[3] = 3;
- Tuner->Init_Ctrl[9].val[3] = 1;
-
- Tuner->Init_Ctrl[10].Ctrl_Num = AGC_RF ;
- Tuner->Init_Ctrl[10].size = 4 ;
- Tuner->Init_Ctrl