⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mxl5005s.c

📁 trident tm5600的linux驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
	state->CH_Ctrl[9].Ctrl_Num = RFSYN_SEL_VCO_HI ;	state->CH_Ctrl[9].size = 1 ;	state->CH_Ctrl[9].addr[0] = 111;	state->CH_Ctrl[9].bit[0] = 6;	state->CH_Ctrl[9].val[0] = 1;	state->CH_Ctrl[10].Ctrl_Num = RFSYN_SEL_DIVM ;	state->CH_Ctrl[10].size = 1 ;	state->CH_Ctrl[10].addr[0] = 111;	state->CH_Ctrl[10].bit[0] = 5;	state->CH_Ctrl[10].val[0] = 0;	state->CH_Ctrl[11].Ctrl_Num = RFSYN_RF_DIV_BIAS ;	state->CH_Ctrl[11].size = 2 ;	state->CH_Ctrl[11].addr[0] = 110;	state->CH_Ctrl[11].bit[0] = 0;	state->CH_Ctrl[11].val[0] = 1;	state->CH_Ctrl[11].addr[1] = 110;	state->CH_Ctrl[11].bit[1] = 1;	state->CH_Ctrl[11].val[1] = 0;	state->CH_Ctrl[12].Ctrl_Num = DN_SEL_FREQ ;	state->CH_Ctrl[12].size = 3 ;	state->CH_Ctrl[12].addr[0] = 69;	state->CH_Ctrl[12].bit[0] = 2;	state->CH_Ctrl[12].val[0] = 0;	state->CH_Ctrl[12].addr[1] = 69;	state->CH_Ctrl[12].bit[1] = 3;	state->CH_Ctrl[12].val[1] = 0;	state->CH_Ctrl[12].addr[2] = 69;	state->CH_Ctrl[12].bit[2] = 4;	state->CH_Ctrl[12].val[2] = 0;	state->CH_Ctrl[13].Ctrl_Num = RFSYN_VCO_BIAS ;	state->CH_Ctrl[13].size = 6 ;	state->CH_Ctrl[13].addr[0] = 110;	state->CH_Ctrl[13].bit[0] = 2;	state->CH_Ctrl[13].val[0] = 0;	state->CH_Ctrl[13].addr[1] = 110;	state->CH_Ctrl[13].bit[1] = 3;	state->CH_Ctrl[13].val[1] = 0;	state->CH_Ctrl[13].addr[2] = 110;	state->CH_Ctrl[13].bit[2] = 4;	state->CH_Ctrl[13].val[2] = 0;	state->CH_Ctrl[13].addr[3] = 110;	state->CH_Ctrl[13].bit[3] = 5;	state->CH_Ctrl[13].val[3] = 0;	state->CH_Ctrl[13].addr[4] = 110;	state->CH_Ctrl[13].bit[4] = 6;	state->CH_Ctrl[13].val[4] = 0;	state->CH_Ctrl[13].addr[5] = 110;	state->CH_Ctrl[13].bit[5] = 7;	state->CH_Ctrl[13].val[5] = 1;	state->CH_Ctrl[14].Ctrl_Num = CHCAL_INT_MOD_RF ;	state->CH_Ctrl[14].size = 7 ;	state->CH_Ctrl[14].addr[0] = 14;	state->CH_Ctrl[14].bit[0] = 0;	state->CH_Ctrl[14].val[0] = 0;	state->CH_Ctrl[14].addr[1] = 14;	state->CH_Ctrl[14].bit[1] = 1;	state->CH_Ctrl[14].val[1] = 0;	state->CH_Ctrl[14].addr[2] = 14;	state->CH_Ctrl[14].bit[2] = 2;	state->CH_Ctrl[14].val[2] = 0;	state->CH_Ctrl[14].addr[3] = 14;	state->CH_Ctrl[14].bit[3] = 3;	state->CH_Ctrl[14].val[3] = 0;	state->CH_Ctrl[14].addr[4] = 14;	state->CH_Ctrl[14].bit[4] = 4;	state->CH_Ctrl[14].val[4] = 0;	state->CH_Ctrl[14].addr[5] = 14;	state->CH_Ctrl[14].bit[5] = 5;	state->CH_Ctrl[14].val[5] = 0;	state->CH_Ctrl[14].addr[6] = 14;	state->CH_Ctrl[14].bit[6] = 6;	state->CH_Ctrl[14].val[6] = 0;	state->CH_Ctrl[15].Ctrl_Num = CHCAL_FRAC_MOD_RF ;	state->CH_Ctrl[15].size = 18 ;	state->CH_Ctrl[15].addr[0] = 17;	state->CH_Ctrl[15].bit[0] = 6;	state->CH_Ctrl[15].val[0] = 0;	state->CH_Ctrl[15].addr[1] = 17;	state->CH_Ctrl[15].bit[1] = 7;	state->CH_Ctrl[15].val[1] = 0;	state->CH_Ctrl[15].addr[2] = 16;	state->CH_Ctrl[15].bit[2] = 0;	state->CH_Ctrl[15].val[2] = 0;	state->CH_Ctrl[15].addr[3] = 16;	state->CH_Ctrl[15].bit[3] = 1;	state->CH_Ctrl[15].val[3] = 0;	state->CH_Ctrl[15].addr[4] = 16;	state->CH_Ctrl[15].bit[4] = 2;	state->CH_Ctrl[15].val[4] = 0;	state->CH_Ctrl[15].addr[5] = 16;	state->CH_Ctrl[15].bit[5] = 3;	state->CH_Ctrl[15].val[5] = 0;	state->CH_Ctrl[15].addr[6] = 16;	state->CH_Ctrl[15].bit[6] = 4;	state->CH_Ctrl[15].val[6] = 0;	state->CH_Ctrl[15].addr[7] = 16;	state->CH_Ctrl[15].bit[7] = 5;	state->CH_Ctrl[15].val[7] = 0;	state->CH_Ctrl[15].addr[8] = 16;	state->CH_Ctrl[15].bit[8] = 6;	state->CH_Ctrl[15].val[8] = 0;	state->CH_Ctrl[15].addr[9] = 16;	state->CH_Ctrl[15].bit[9] = 7;	state->CH_Ctrl[15].val[9] = 0;	state->CH_Ctrl[15].addr[10] = 15;	state->CH_Ctrl[15].bit[10] = 0;	state->CH_Ctrl[15].val[10] = 0;	state->CH_Ctrl[15].addr[11] = 15;	state->CH_Ctrl[15].bit[11] = 1;	state->CH_Ctrl[15].val[11] = 0;	state->CH_Ctrl[15].addr[12] = 15;	state->CH_Ctrl[15].bit[12] = 2;	state->CH_Ctrl[15].val[12] = 0;	state->CH_Ctrl[15].addr[13] = 15;	state->CH_Ctrl[15].bit[13] = 3;	state->CH_Ctrl[15].val[13] = 0;	state->CH_Ctrl[15].addr[14] = 15;	state->CH_Ctrl[15].bit[14] = 4;	state->CH_Ctrl[15].val[14] = 0;	state->CH_Ctrl[15].addr[15] = 15;	state->CH_Ctrl[15].bit[15] = 5;	state->CH_Ctrl[15].val[15] = 0;	state->CH_Ctrl[15].addr[16] = 15;	state->CH_Ctrl[15].bit[16] = 6;	state->CH_Ctrl[15].val[16] = 1;	state->CH_Ctrl[15].addr[17] = 15;	state->CH_Ctrl[15].bit[17] = 7;	state->CH_Ctrl[15].val[17] = 1;	state->CH_Ctrl[16].Ctrl_Num = RFSYN_LPF_R ;	state->CH_Ctrl[16].size = 5 ;	state->CH_Ctrl[16].addr[0] = 112;	state->CH_Ctrl[16].bit[0] = 0;	state->CH_Ctrl[16].val[0] = 0;	state->CH_Ctrl[16].addr[1] = 112;	state->CH_Ctrl[16].bit[1] = 1;	state->CH_Ctrl[16].val[1] = 0;	state->CH_Ctrl[16].addr[2] = 112;	state->CH_Ctrl[16].bit[2] = 2;	state->CH_Ctrl[16].val[2] = 0;	state->CH_Ctrl[16].addr[3] = 112;	state->CH_Ctrl[16].bit[3] = 3;	state->CH_Ctrl[16].val[3] = 0;	state->CH_Ctrl[16].addr[4] = 112;	state->CH_Ctrl[16].bit[4] = 4;	state->CH_Ctrl[16].val[4] = 1;	state->CH_Ctrl[17].Ctrl_Num = CHCAL_EN_INT_RF ;	state->CH_Ctrl[17].size = 1 ;	state->CH_Ctrl[17].addr[0] = 14;	state->CH_Ctrl[17].bit[0] = 7;	state->CH_Ctrl[17].val[0] = 0;	state->CH_Ctrl[18].Ctrl_Num = TG_LO_DIVVAL ;	state->CH_Ctrl[18].size = 4 ;	state->CH_Ctrl[18].addr[0] = 107;	state->CH_Ctrl[18].bit[0] = 3;	state->CH_Ctrl[18].val[0] = 0;	state->CH_Ctrl[18].addr[1] = 107;	state->CH_Ctrl[18].bit[1] = 4;	state->CH_Ctrl[18].val[1] = 0;	state->CH_Ctrl[18].addr[2] = 107;	state->CH_Ctrl[18].bit[2] = 5;	state->CH_Ctrl[18].val[2] = 0;	state->CH_Ctrl[18].addr[3] = 107;	state->CH_Ctrl[18].bit[3] = 6;	state->CH_Ctrl[18].val[3] = 0;	state->CH_Ctrl[19].Ctrl_Num = TG_LO_SELVAL ;	state->CH_Ctrl[19].size = 3 ;	state->CH_Ctrl[19].addr[0] = 107;	state->CH_Ctrl[19].bit[0] = 7;	state->CH_Ctrl[19].val[0] = 1;	state->CH_Ctrl[19].addr[1] = 106;	state->CH_Ctrl[19].bit[1] = 0;	state->CH_Ctrl[19].val[1] = 1;	state->CH_Ctrl[19].addr[2] = 106;	state->CH_Ctrl[19].bit[2] = 1;	state->CH_Ctrl[19].val[2] = 1;	state->CH_Ctrl[20].Ctrl_Num = TG_DIV_VAL ;	state->CH_Ctrl[20].size = 11 ;	state->CH_Ctrl[20].addr[0] = 109;	state->CH_Ctrl[20].bit[0] = 2;	state->CH_Ctrl[20].val[0] = 0;	state->CH_Ctrl[20].addr[1] = 109;	state->CH_Ctrl[20].bit[1] = 3;	state->CH_Ctrl[20].val[1] = 0;	state->CH_Ctrl[20].addr[2] = 109;	state->CH_Ctrl[20].bit[2] = 4;	state->CH_Ctrl[20].val[2] = 0;	state->CH_Ctrl[20].addr[3] = 109;	state->CH_Ctrl[20].bit[3] = 5;	state->CH_Ctrl[20].val[3] = 0;	state->CH_Ctrl[20].addr[4] = 109;	state->CH_Ctrl[20].bit[4] = 6;	state->CH_Ctrl[20].val[4] = 0;	state->CH_Ctrl[20].addr[5] = 109;	state->CH_Ctrl[20].bit[5] = 7;	state->CH_Ctrl[20].val[5] = 0;	state->CH_Ctrl[20].addr[6] = 108;	state->CH_Ctrl[20].bit[6] = 0;	state->CH_Ctrl[20].val[6] = 0;	state->CH_Ctrl[20].addr[7] = 108;	state->CH_Ctrl[20].bit[7] = 1;	state->CH_Ctrl[20].val[7] = 0;	state->CH_Ctrl[20].addr[8] = 108;	state->CH_Ctrl[20].bit[8] = 2;	state->CH_Ctrl[20].val[8] = 1;	state->CH_Ctrl[20].addr[9] = 108;	state->CH_Ctrl[20].bit[9] = 3;	state->CH_Ctrl[20].val[9] = 1;	state->CH_Ctrl[20].addr[10] = 108;	state->CH_Ctrl[20].bit[10] = 4;	state->CH_Ctrl[20].val[10] = 1;	state->CH_Ctrl[21].Ctrl_Num = TG_VCO_BIAS ;	state->CH_Ctrl[21].size = 6 ;	state->CH_Ctrl[21].addr[0] = 106;	state->CH_Ctrl[21].bit[0] = 2;	state->CH_Ctrl[21].val[0] = 0;	state->CH_Ctrl[21].addr[1] = 106;	state->CH_Ctrl[21].bit[1] = 3;	state->CH_Ctrl[21].val[1] = 0;	state->CH_Ctrl[21].addr[2] = 106;	state->CH_Ctrl[21].bit[2] = 4;	state->CH_Ctrl[21].val[2] = 0;	state->CH_Ctrl[21].addr[3] = 106;	state->CH_Ctrl[21].bit[3] = 5;	state->CH_Ctrl[21].val[3] = 0;	state->CH_Ctrl[21].addr[4] = 106;	state->CH_Ctrl[21].bit[4] = 6;	state->CH_Ctrl[21].val[4] = 0;	state->CH_Ctrl[21].addr[5] = 106;	state->CH_Ctrl[21].bit[5] = 7;	state->CH_Ctrl[21].val[5] = 1;	state->CH_Ctrl[22].Ctrl_Num = SEQ_EXTPOWERUP ;	state->CH_Ctrl[22].size = 1 ;	state->CH_Ctrl[22].addr[0] = 138;	state->CH_Ctrl[22].bit[0] = 4;	state->CH_Ctrl[22].val[0] = 1;	state->CH_Ctrl[23].Ctrl_Num = OVERRIDE_2 ;	state->CH_Ctrl[23].size = 1 ;	state->CH_Ctrl[23].addr[0] = 17;	state->CH_Ctrl[23].bit[0] = 5;	state->CH_Ctrl[23].val[0] = 0;	state->CH_Ctrl[24].Ctrl_Num = OVERRIDE_3 ;	state->CH_Ctrl[24].size = 1 ;	state->CH_Ctrl[24].addr[0] = 111;	state->CH_Ctrl[24].bit[0] = 3;	state->CH_Ctrl[24].val[0] = 0;	state->CH_Ctrl[25].Ctrl_Num = OVERRIDE_4 ;	state->CH_Ctrl[25].size = 1 ;	state->CH_Ctrl[25].addr[0] = 112;	state->CH_Ctrl[25].bit[0] = 7;	state->CH_Ctrl[25].val[0] = 0;	state->CH_Ctrl[26].Ctrl_Num = SEQ_FSM_PULSE ;	state->CH_Ctrl[26].size = 1 ;	state->CH_Ctrl[26].addr[0] = 136;	state->CH_Ctrl[26].bit[0] = 7;	state->CH_Ctrl[26].val[0] = 0;	state->CH_Ctrl[27].Ctrl_Num = GPIO_4B ;	state->CH_Ctrl[27].size = 1 ;	state->CH_Ctrl[27].addr[0] = 149;	state->CH_Ctrl[27].bit[0] = 7;	state->CH_Ctrl[27].val[0] = 0;	state->CH_Ctrl[28].Ctrl_Num = GPIO_3B ;	state->CH_Ctrl[28].size = 1 ;	state->CH_Ctrl[28].addr[0] = 149;	state->CH_Ctrl[28].bit[0] = 6;	state->CH_Ctrl[28].val[0] = 0;	state->CH_Ctrl[29].Ctrl_Num = GPIO_4 ;	state->CH_Ctrl[29].size = 1 ;	state->CH_Ctrl[29].addr[0] = 149;	state->CH_Ctrl[29].bit[0] = 5;	state->CH_Ctrl[29].val[0] = 1;	state->CH_Ctrl[30].Ctrl_Num = GPIO_3 ;	state->CH_Ctrl[30].size = 1 ;	state->CH_Ctrl[30].addr[0] = 149;	state->CH_Ctrl[30].bit[0] = 4;	state->CH_Ctrl[30].val[0] = 1;	state->CH_Ctrl[31].Ctrl_Num = GPIO_1B ;	state->CH_Ctrl[31].size = 1 ;	state->CH_Ctrl[31].addr[0] = 149;	state->CH_Ctrl[31].bit[0] = 3;	state->CH_Ctrl[31].val[0] = 0;	state->CH_Ctrl[32].Ctrl_Num = DAC_A_ENABLE ;	state->CH_Ctrl[32].size = 1 ;	state->CH_Ctrl[32].addr[0] = 93;	state->CH_Ctrl[32].bit[0] = 1;	state->CH_Ctrl[32].val[0] = 0;	state->CH_Ctrl[33].Ctrl_Num = DAC_B_ENABLE ;	state->CH_Ctrl[33].size = 1 ;	state->CH_Ctrl[33].addr[0] = 93;	state->CH_Ctrl[33].bit[0] = 0;	state->CH_Ctrl[33].val[0] = 0;	state->CH_Ctrl[34].Ctrl_Num = DAC_DIN_A ;	state->CH_Ctrl[34].size = 6 ;	state->CH_Ctrl[34].addr[0] = 92;	state->CH_Ctrl[34].bit[0] = 2;	state->CH_Ctrl[34].val[0] = 0;	state->CH_Ctrl[34].addr[1] = 92;	state->CH_Ctrl[34].bit[1] = 3;	state->CH_Ctrl[34].val[1] = 0;	state->CH_Ctrl[34].addr[2] = 92;	state->CH_Ctrl[34].bit[2] = 4;	state->CH_Ctrl[34].val[2] = 0;	state->CH_Ctrl[34].addr[3] = 92;	state->CH_Ctrl[34].bit[3] = 5;	state->CH_Ctrl[34].val[3] = 0;	state->CH_Ctrl[34].addr[4] = 92;	state->CH_Ctrl[34].bit[4] = 6;	state->CH_Ctrl[34].val[4] = 0;	state->CH_Ctrl[34].addr[5] = 92;	state->CH_Ctrl[34].bit[5] = 7;	state->CH_Ctrl[34].val[5] = 0;	state->CH_Ctrl[35].Ctrl_Num = DAC_DIN_B ;	state->CH_Ctrl[35].size = 6 ;	state->CH_Ctrl[35].addr[0] = 93;	state->CH_Ctrl[35].bit[0] = 2;	state->CH_Ctrl[35].val[0] = 0;	state->CH_Ctrl[35].addr[1] = 93;	state->CH_Ctrl[35].bit[1] = 3;	state->CH_Ctrl[35].val[1] = 0;	state->CH_Ctrl[35].addr[2] = 93;	state->CH_Ctrl[35].bit[2] = 4;	state->CH_Ctrl[35].val[2] = 0;	state->CH_Ctrl[35].addr[3] = 93;	state->CH_Ctrl[35].bit[3] = 5;	state->CH_Ctrl[35].val[3] = 0;	state->CH_Ctrl[35].addr[4] = 93;	state->CH_Ctrl[35].bit[4] = 6;	state->CH_Ctrl[35].val[4] = 0;	state->CH_Ctrl[35].addr[5] = 93;	state->CH_Ctrl[35].bit[5] = 7;	state->CH_Ctrl[35].val[5] = 0;#ifdef _MXL_PRODUCTION	state->CH_Ctrl[36].Ctrl_Num = RFSYN_EN_DIV ;	state->CH_Ctrl[36].size = 1 ;	state->CH_Ctrl[36].addr[0] = 109;	state->CH_Ctrl[36].bit[0] = 1;	state->CH_Ctrl[36].val[0] = 1;	state->CH_Ctrl[37].Ctrl_Num = RFSYN_DIVM ;	state->CH_Ctrl[37].size = 2 ;	state->CH_Ctrl[37].addr[0] = 112;	state->CH_Ctrl[37].bit[0] = 5;	state->CH_Ctrl[37].val[0] = 0;	state->CH_Ctrl[37].addr[1] = 112;	state->CH_Ctrl[37].bit[1] = 6;	state->CH_Ctrl[37].val[1] = 0;	state->CH_Ctrl[38].Ctrl_Num = DN_BYPASS_AGC_I2C ;	state->CH_Ctrl[38].size = 1 ;	state->CH_Ctrl[38].addr[0] = 65;	state->CH_Ctrl[38].bit[0] = 1;	state->CH_Ctrl[38].val[0] = 0;#endif	return 0 ;}static void InitTunerControls(struct dvb_frontend *fe){	MXL5005_RegisterInit(fe);	MXL5005_ControlInit(fe);#ifdef _MXL_INTERNAL	MXL5005_MXLControlInit(fe);#endif}static u16 MXL5005_TunerConfig(struct dvb_frontend *fe,	u8	Mode,		/* 0: Analog Mode ; 1: Digital Mode */	u8	IF_mode,	/* for Analog Mode, 0: zero IF; 1: low IF */	u32	Bandwidth,	/* filter  channel bandwidth (6, 7, 8) */	u32	IF_out,		/* Desired IF Out Frequency */	u32	Fxtal,		/* XTAL Frequency */	u8	AGC_Mode,	/* AGC Mode - Dual AGC: 0, Single AGC: 1 */	u16	TOP,		/* 0: Dual AGC; Value: take over point */	u16	IF_OUT_LOAD,	/* IF Out Load Resistor (200 / 300 Ohms) */	u8	CLOCK_OUT, 	/* 0: turn off clk out; 1: turn on clock out */	u8	DIV_OUT,	/* 0: Div-1; 1: Div-4 */	u8	CAPSELECT, 	/* 0: disable On-Chip pulling cap; 1: enable */	u8	EN_RSSI, 	/* 0: disable RSSI; 1: enable RSSI */	/* Modulation Type; */	/* 0 - Default;	1 - DVB-T; 2 - ATSC; 3 - QAM; 4 - Analog Cable */	u8	Mod_Type,	/* Tracking Filter */	/* 0 - Default; 1 - Off; 2 - Type C; 3 - Type C-H */	u8	TF_Type	){	struct mxl5005s_state *state = fe->tuner_priv;	u16 status = 0;	state->Mode = Mode;	state->IF_Mode = IF_mode;	state->Chan_Bandwidth = Bandwidth;	state->IF_OUT = IF_out;	state->Fxtal = Fxtal;	state->AGC_Mode = AGC_Mode;	state->TOP = TOP;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -