Lines Matching refs:fe

4  * flexcop-fe-tuner.c - methods for frontend attachment and DiSEqC controlling
28 #define FE_SUPPORTED(fe) IS_REACHABLE(CONFIG_DVB_ ## fe)
31 static int flexcop_fe_request_firmware(struct dvb_frontend *fe,
34 struct flexcop_device *fc = fe->dvb->priv;
42 static int flexcop_set_voltage(struct dvb_frontend *fe,
45 struct flexcop_device *fc = fe->dvb->priv;
71 static int __maybe_unused flexcop_sleep(struct dvb_frontend* fe)
73 struct flexcop_device *fc = fe->dvb->priv;
75 return fc->fe_sleep(fe);
82 static int flexcop_set_tone(struct dvb_frontend *fe, enum fe_sec_tone_mode tone)
85 struct flexcop_device *fc = fe->dvb->priv;
109 static void flexcop_diseqc_send_bit(struct dvb_frontend* fe, int data)
111 flexcop_set_tone(fe, SEC_TONE_ON);
113 flexcop_set_tone(fe, SEC_TONE_OFF);
117 static void flexcop_diseqc_send_byte(struct dvb_frontend* fe, int data)
123 flexcop_diseqc_send_bit(fe, d);
125 flexcop_diseqc_send_bit(fe, par);
128 static int flexcop_send_diseqc_msg(struct dvb_frontend *fe,
133 flexcop_set_tone(fe, SEC_TONE_OFF);
137 flexcop_diseqc_send_byte(fe,msg[i]);
142 flexcop_diseqc_send_byte(fe, 0xff);
144 flexcop_set_tone(fe, SEC_TONE_ON);
147 flexcop_set_tone(fe, SEC_TONE_OFF);
154 static int flexcop_diseqc_send_master_cmd(struct dvb_frontend *fe,
157 return flexcop_send_diseqc_msg(fe, cmd->msg_len, cmd->msg, 0);
160 static int flexcop_diseqc_send_burst(struct dvb_frontend *fe,
163 return flexcop_send_diseqc_msg(fe, 0, NULL, minicmd);
175 fc->fe = dvb_attach(mt312_attach, &skystar23_samsung_tbdu18132_config, i2c);
176 if (!fc->fe)
179 if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61, i2c,
183 ops = &fc->fe->ops;
198 static int samsung_tbmu24112_set_symbol_rate(struct dvb_frontend *fe,
218 stv0299_writereg(fe, 0x13, aclk);
219 stv0299_writereg(fe, 0x14, bclk);
220 stv0299_writereg(fe, 0x1f, (ratio >> 16) & 0xff);
221 stv0299_writereg(fe, 0x20, (ratio >> 8) & 0xff);
222 stv0299_writereg(fe, 0x21, ratio & 0xf0);
286 fc->fe = dvb_attach(stv0299_attach, &samsung_tbmu24112_config, i2c);
287 if (!fc->fe)
290 if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61, i2c,
294 fc->fe->ops.set_voltage = flexcop_set_voltage;
295 fc->fe_sleep = fc->fe->ops.sleep;
296 fc->fe->ops.sleep = flexcop_sleep;
325 fc->fe = dvb_attach(s5h1420_attach, &skystar2_rev2_7_s5h1420_config,
327 if (!fc->fe)
330 i2c_tuner = s5h1420_get_tuner_i2c_adapter(fc->fe);
334 fc->fe_sleep = fc->fe->ops.sleep;
335 fc->fe->ops.sleep = flexcop_sleep;
339 if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
349 if (!dvb_attach(itd1000_attach, fc->fe, i2c_tuner,
388 fc->fe = dvb_attach(cx24123_attach, &skystar2_rev2_8_cx24123_config,
390 if (!fc->fe)
393 i2c_tuner = cx24123_get_tuner_i2c_adapter(fc->fe);
397 if (!dvb_attach(cx24113_attach, fc->fe, &skystar2_rev2_8_cx24113_config,
405 if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
422 static int samsung_tdtc9251dh0_demod_init(struct dvb_frontend *fe)
430 mt352_write(fe, mt352_clock_config, sizeof(mt352_clock_config));
432 mt352_write(fe, mt352_reset, sizeof(mt352_reset));
433 mt352_write(fe, mt352_adc_ctl_1_cfg, sizeof(mt352_adc_ctl_1_cfg));
434 mt352_write(fe, mt352_agc_cfg, sizeof(mt352_agc_cfg));
435 mt352_write(fe, mt352_capt_range_cfg, sizeof(mt352_capt_range_cfg));
447 fc->fe = dvb_attach(mt352_attach, &samsung_tdtc9251dh0_config, i2c);
448 if (!fc->fe)
451 return !!dvb_attach(dvb_pll_attach, fc->fe, 0x61, NULL,
468 fc->fe = dvb_attach(bcm3510_attach, &air2pc_atsc_first_gen_config, i2c);
469 return fc->fe != NULL;
484 fc->fe = dvb_attach(nxt200x_attach, &samsung_tbmv_config, i2c);
485 if (!fc->fe)
488 return !!dvb_attach(dvb_pll_attach, fc->fe, 0x61, NULL,
506 fc->fe = dvb_attach(lgdt330x_attach, &air2pc_atsc_hd5000_config,
508 if (!fc->fe)
511 return !!dvb_attach(simple_tuner_attach, fc->fe, i2c, 0x61,
602 fc->fe = dvb_attach(stv0297_attach, &alps_tdee4_stv0297_config, i2c);
603 if (!fc->fe)
608 if (fc->fe->ops.i2c_gate_ctrl)
609 fc->fe->ops.i2c_gate_ctrl(fc->fe, 0);
610 fc->fe->ops.i2c_gate_ctrl = NULL;
612 if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61,
640 fc->fe = dvb_attach(cx24120_attach,
642 if (!fc->fe)
647 if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
693 if (fc->fe) {
694 dvb_frontend_detach(fc->fe);
695 fc->fe = NULL;
703 info("found '%s' .", fc->fe->ops.info.name);
704 if (dvb_register_frontend(&fc->dvb_adapter, fc->fe)) {
706 dvb_frontend_detach(fc->fe);
707 fc->fe = NULL;
717 dvb_unregister_frontend(fc->fe);
718 dvb_frontend_detach(fc->fe);