diff options
| -rw-r--r-- | drivers/media/video/cx88/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 1 | ||||
| -rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 32 |
3 files changed, 34 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig index bcf6d9ba063d..27635cdcbaf2 100644 --- a/drivers/media/video/cx88/Kconfig +++ b/drivers/media/video/cx88/Kconfig | |||
| @@ -58,6 +58,7 @@ config VIDEO_CX88_DVB | |||
| 58 | select DVB_CX24123 if !DVB_FE_CUSTOMISE | 58 | select DVB_CX24123 if !DVB_FE_CUSTOMISE |
| 59 | select DVB_ISL6421 if !DVB_FE_CUSTOMISE | 59 | select DVB_ISL6421 if !DVB_FE_CUSTOMISE |
| 60 | select TUNER_SIMPLE if !DVB_FE_CUSTOMISE | 60 | select TUNER_SIMPLE if !DVB_FE_CUSTOMISE |
| 61 | select DVB_S5H1411 if !DVB_FE_CUSTOMISE | ||
| 61 | ---help--- | 62 | ---help--- |
| 62 | This adds support for DVB/ATSC cards based on the | 63 | This adds support for DVB/ATSC cards based on the |
| 63 | Conexant 2388x chip. | 64 | Conexant 2388x chip. |
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index 620159d05506..2b6b283cda15 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
| @@ -1591,6 +1591,7 @@ static const struct cx88_board cx88_boards[] = { | |||
| 1591 | .vmux = 2, | 1591 | .vmux = 2, |
| 1592 | .gpio0 = 0x16d9, | 1592 | .gpio0 = 0x16d9, |
| 1593 | }}, | 1593 | }}, |
| 1594 | .mpeg = CX88_MPEG_DVB, | ||
| 1594 | }, | 1595 | }, |
| 1595 | [CX88_BOARD_PROLINK_PV_8000GT] = { | 1596 | [CX88_BOARD_PROLINK_PV_8000GT] = { |
| 1596 | .name = "Prolink Pixelview MPEG 8000GT", | 1597 | .name = "Prolink Pixelview MPEG 8000GT", |
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index f1251b844e08..1c7fe6862a60 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
| @@ -47,6 +47,7 @@ | |||
| 47 | #include "isl6421.h" | 47 | #include "isl6421.h" |
| 48 | #include "tuner-simple.h" | 48 | #include "tuner-simple.h" |
| 49 | #include "tda9887.h" | 49 | #include "tda9887.h" |
| 50 | #include "s5h1411.h" | ||
| 50 | 51 | ||
| 51 | MODULE_DESCRIPTION("driver for cx2388x based DVB cards"); | 52 | MODULE_DESCRIPTION("driver for cx2388x based DVB cards"); |
| 52 | MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>"); | 53 | MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>"); |
| @@ -463,6 +464,22 @@ static struct zl10353_config cx88_geniatech_x8000_mt = { | |||
| 463 | .no_tuner = 1, | 464 | .no_tuner = 1, |
| 464 | }; | 465 | }; |
| 465 | 466 | ||
| 467 | static struct s5h1411_config dvico_fusionhdtv7_config = { | ||
| 468 | .output_mode = S5H1411_SERIAL_OUTPUT, | ||
| 469 | .gpio = S5H1411_GPIO_ON, | ||
| 470 | .mpeg_timing = S5H1411_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, | ||
| 471 | .qam_if = S5H1411_IF_44000, | ||
| 472 | .vsb_if = S5H1411_IF_44000, | ||
| 473 | .inversion = S5H1411_INVERSION_OFF, | ||
| 474 | .status_mode = S5H1411_DEMODLOCKING | ||
| 475 | }; | ||
| 476 | |||
| 477 | static struct xc5000_config dvico_fusionhdtv7_tuner_config = { | ||
| 478 | .i2c_address = 0xc2 >> 1, | ||
| 479 | .if_khz = 5380, | ||
| 480 | .tuner_callback = cx88_tuner_callback, | ||
| 481 | }; | ||
| 482 | |||
| 466 | static int attach_xc3028(u8 addr, struct cx8802_dev *dev) | 483 | static int attach_xc3028(u8 addr, struct cx8802_dev *dev) |
| 467 | { | 484 | { |
| 468 | struct dvb_frontend *fe; | 485 | struct dvb_frontend *fe; |
| @@ -844,6 +861,21 @@ static int dvb_register(struct cx8802_dev *dev) | |||
| 844 | if (attach_xc3028(0x61, dev) < 0) | 861 | if (attach_xc3028(0x61, dev) < 0) |
| 845 | return -EINVAL; | 862 | return -EINVAL; |
| 846 | break; | 863 | break; |
| 864 | case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD: | ||
| 865 | dev->dvb.frontend = dvb_attach(s5h1411_attach, | ||
| 866 | &dvico_fusionhdtv7_config, | ||
| 867 | &dev->core->i2c_adap); | ||
| 868 | if (dev->dvb.frontend != NULL) { | ||
| 869 | /* tuner_config.video_dev must point to | ||
| 870 | * i2c_adap.algo_data | ||
| 871 | */ | ||
| 872 | dvico_fusionhdtv7_tuner_config.priv = | ||
| 873 | dev->core->i2c_adap.algo_data; | ||
| 874 | dvb_attach(xc5000_attach, dev->dvb.frontend, | ||
| 875 | &dev->core->i2c_adap, | ||
| 876 | &dvico_fusionhdtv7_tuner_config); | ||
| 877 | } | ||
| 878 | break; | ||
| 847 | default: | 879 | default: |
| 848 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n", | 880 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n", |
| 849 | dev->core->name); | 881 | dev->core->name); |
