diff options
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-dvb.c | 54 |
1 files changed, 49 insertions, 5 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index 86ac529e62be..022fad798fc2 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
@@ -396,7 +396,7 @@ static struct stv0900_reg stv0900_ts_regs[] = { | |||
396 | 396 | ||
397 | static struct stv0900_config netup_stv0900_config = { | 397 | static struct stv0900_config netup_stv0900_config = { |
398 | .demod_address = 0x68, | 398 | .demod_address = 0x68, |
399 | .xtal = 27000000, | 399 | .xtal = 8000000, |
400 | .clkmode = 3,/* 0-CLKI, 2-XTALI, else AUTO */ | 400 | .clkmode = 3,/* 0-CLKI, 2-XTALI, else AUTO */ |
401 | .diseqc_mode = 2,/* 2/3 PWM */ | 401 | .diseqc_mode = 2,/* 2/3 PWM */ |
402 | .ts_config_regs = stv0900_ts_regs, | 402 | .ts_config_regs = stv0900_ts_regs, |
@@ -408,14 +408,14 @@ static struct stv0900_config netup_stv0900_config = { | |||
408 | 408 | ||
409 | static struct stv6110_config netup_stv6110_tunerconfig_a = { | 409 | static struct stv6110_config netup_stv6110_tunerconfig_a = { |
410 | .i2c_address = 0x60, | 410 | .i2c_address = 0x60, |
411 | .mclk = 27000000, | 411 | .mclk = 16000000, |
412 | .iq_wiring = 0, | 412 | .clk_div = 1, |
413 | }; | 413 | }; |
414 | 414 | ||
415 | static struct stv6110_config netup_stv6110_tunerconfig_b = { | 415 | static struct stv6110_config netup_stv6110_tunerconfig_b = { |
416 | .i2c_address = 0x63, | 416 | .i2c_address = 0x63, |
417 | .mclk = 27000000, | 417 | .mclk = 16000000, |
418 | .iq_wiring = 1, | 418 | .clk_div = 1, |
419 | }; | 419 | }; |
420 | 420 | ||
421 | static int tbs_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage) | 421 | static int tbs_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage) |
@@ -487,6 +487,26 @@ static int cx23885_dvb_set_frontend(struct dvb_frontend *fe, | |||
487 | port->set_frontend_save(fe, param) : -ENODEV; | 487 | port->set_frontend_save(fe, param) : -ENODEV; |
488 | } | 488 | } |
489 | 489 | ||
490 | static struct lgs8gxx_config magicpro_prohdtve2_lgs8g75_config = { | ||
491 | .prod = LGS8GXX_PROD_LGS8G75, | ||
492 | .demod_address = 0x19, | ||
493 | .serial_ts = 0, | ||
494 | .ts_clk_pol = 1, | ||
495 | .ts_clk_gated = 1, | ||
496 | .if_clk_freq = 30400, /* 30.4 MHz */ | ||
497 | .if_freq = 6500, /* 6.50 MHz */ | ||
498 | .if_neg_center = 1, | ||
499 | .ext_adc = 0, | ||
500 | .adc_signed = 1, | ||
501 | .adc_vpp = 2, /* 1.6 Vpp */ | ||
502 | .if_neg_edge = 1, | ||
503 | }; | ||
504 | |||
505 | static struct xc5000_config magicpro_prohdtve2_xc5000_config = { | ||
506 | .i2c_address = 0x61, | ||
507 | .if_khz = 6500, | ||
508 | }; | ||
509 | |||
490 | static int dvb_register(struct cx23885_tsport *port) | 510 | static int dvb_register(struct cx23885_tsport *port) |
491 | { | 511 | { |
492 | struct cx23885_dev *dev = port->dev; | 512 | struct cx23885_dev *dev = port->dev; |
@@ -833,6 +853,30 @@ static int dvb_register(struct cx23885_tsport *port) | |||
833 | &mygica_x8506_xc5000_config); | 853 | &mygica_x8506_xc5000_config); |
834 | } | 854 | } |
835 | break; | 855 | break; |
856 | case CX23885_BOARD_MAGICPRO_PROHDTVE2: | ||
857 | i2c_bus = &dev->i2c_bus[0]; | ||
858 | i2c_bus2 = &dev->i2c_bus[1]; | ||
859 | fe0->dvb.frontend = dvb_attach(lgs8gxx_attach, | ||
860 | &magicpro_prohdtve2_lgs8g75_config, | ||
861 | &i2c_bus->i2c_adap); | ||
862 | if (fe0->dvb.frontend != NULL) { | ||
863 | dvb_attach(xc5000_attach, | ||
864 | fe0->dvb.frontend, | ||
865 | &i2c_bus2->i2c_adap, | ||
866 | &magicpro_prohdtve2_xc5000_config); | ||
867 | } | ||
868 | break; | ||
869 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | ||
870 | i2c_bus = &dev->i2c_bus[0]; | ||
871 | fe0->dvb.frontend = dvb_attach(s5h1411_attach, | ||
872 | &hcw_s5h1411_config, | ||
873 | &i2c_bus->i2c_adap); | ||
874 | if (fe0->dvb.frontend != NULL) | ||
875 | dvb_attach(tda18271_attach, fe0->dvb.frontend, | ||
876 | 0x60, &dev->i2c_bus[0].i2c_adap, | ||
877 | &hauppauge_tda18271_config); | ||
878 | break; | ||
879 | |||
836 | default: | 880 | default: |
837 | printk(KERN_INFO "%s: The frontend of your DVB/ATSC card " | 881 | printk(KERN_INFO "%s: The frontend of your DVB/ATSC card " |
838 | " isn't supported yet\n", | 882 | " isn't supported yet\n", |