diff options
Diffstat (limited to 'drivers/media/dvb/b2c2/flexcop-fe-tuner.c')
| -rw-r--r-- | drivers/media/dvb/b2c2/flexcop-fe-tuner.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c index 71be400e9aeb..0410cc96a48e 100644 --- a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c +++ b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | #include "stv0299.h" | 10 | #include "stv0299.h" |
| 11 | #include "mt352.h" | 11 | #include "mt352.h" |
| 12 | #include "nxt2002.h" | 12 | #include "nxt2002.h" |
| 13 | #include "bcm3510.h" | ||
| 13 | #include "stv0297.h" | 14 | #include "stv0297.h" |
| 14 | #include "mt312.h" | 15 | #include "mt312.h" |
| 15 | 16 | ||
| @@ -285,21 +286,25 @@ static int samsung_tdtc9251dh0_pll_set(struct dvb_frontend* fe, struct dvb_front | |||
| 285 | } | 286 | } |
| 286 | 287 | ||
| 287 | static struct mt352_config samsung_tdtc9251dh0_config = { | 288 | static struct mt352_config samsung_tdtc9251dh0_config = { |
| 288 | |||
| 289 | .demod_address = 0x0f, | 289 | .demod_address = 0x0f, |
| 290 | .demod_init = samsung_tdtc9251dh0_demod_init, | 290 | .demod_init = samsung_tdtc9251dh0_demod_init, |
| 291 | .pll_set = samsung_tdtc9251dh0_pll_set, | 291 | .pll_set = samsung_tdtc9251dh0_pll_set, |
| 292 | }; | 292 | }; |
| 293 | 293 | ||
| 294 | static int nxt2002_request_firmware(struct dvb_frontend* fe, const struct firmware **fw, char* name) | 294 | static int flexcop_fe_request_firmware(struct dvb_frontend* fe, const struct firmware **fw, char* name) |
| 295 | { | 295 | { |
| 296 | struct flexcop_device *fc = fe->dvb->priv; | 296 | struct flexcop_device *fc = fe->dvb->priv; |
| 297 | return request_firmware(fw, name, fc->dev); | 297 | return request_firmware(fw, name, fc->dev); |
| 298 | } | 298 | } |
| 299 | 299 | ||
| 300 | static struct nxt2002_config samsung_tbmv_config = { | 300 | static struct nxt2002_config samsung_tbmv_config = { |
| 301 | .demod_address = 0x0a, | 301 | .demod_address = 0x0a, |
| 302 | .request_firmware = nxt2002_request_firmware, | 302 | .request_firmware = flexcop_fe_request_firmware, |
| 303 | }; | ||
| 304 | |||
| 305 | static struct bcm3510_config air2pc_atsc_first_gen_config = { | ||
| 306 | .demod_address = 0x0f, | ||
| 307 | .request_firmware = flexcop_fe_request_firmware, | ||
| 303 | }; | 308 | }; |
| 304 | 309 | ||
| 305 | static int skystar23_samsung_tbdu18132_pll_set(struct dvb_frontend* fe, struct dvb_frontend_parameters* params) | 310 | static int skystar23_samsung_tbdu18132_pll_set(struct dvb_frontend* fe, struct dvb_frontend_parameters* params) |
| @@ -354,11 +359,16 @@ int flexcop_frontend_init(struct flexcop_device *fc) | |||
| 354 | fc->dev_type = FC_AIR_DVB; | 359 | fc->dev_type = FC_AIR_DVB; |
| 355 | info("found the mt352 at i2c address: 0x%02x",samsung_tdtc9251dh0_config.demod_address); | 360 | info("found the mt352 at i2c address: 0x%02x",samsung_tdtc9251dh0_config.demod_address); |
| 356 | } else | 361 | } else |
| 357 | /* try the air atsc (nxt2002) */ | 362 | /* try the air atsc 2nd generation (nxt2002) */ |
| 358 | if ((fc->fe = nxt2002_attach(&samsung_tbmv_config, &fc->i2c_adap)) != NULL) { | 363 | if ((fc->fe = nxt2002_attach(&samsung_tbmv_config, &fc->i2c_adap)) != NULL) { |
| 359 | fc->dev_type = FC_AIR_ATSC; | 364 | fc->dev_type = FC_AIR_ATSC2; |
| 360 | info("found the nxt2002 at i2c address: 0x%02x",samsung_tbmv_config.demod_address); | 365 | info("found the nxt2002 at i2c address: 0x%02x",samsung_tbmv_config.demod_address); |
| 361 | } else | 366 | } else |
| 367 | /* try the air atsc 1nd generation (bcm3510)/panasonic ct10s */ | ||
| 368 | if ((fc->fe = bcm3510_attach(&air2pc_atsc_first_gen_config, &fc->i2c_adap)) != NULL) { | ||
| 369 | fc->dev_type = FC_AIR_ATSC1; | ||
| 370 | info("found the bcm3510 at i2c address: 0x%02x",air2pc_atsc_first_gen_config.demod_address); | ||
| 371 | } else | ||
| 362 | /* try the cable dvb (stv0297) */ | 372 | /* try the cable dvb (stv0297) */ |
| 363 | if ((fc->fe = stv0297_attach(&alps_tdee4_stv0297_config, &fc->i2c_adap, 0xf8)) != NULL) { | 373 | if ((fc->fe = stv0297_attach(&alps_tdee4_stv0297_config, &fc->i2c_adap, 0xf8)) != NULL) { |
| 364 | fc->dev_type = FC_CABLE; | 374 | fc->dev_type = FC_CABLE; |
