diff options
author | Oleg Roitburd <oroitburd@gmail.com> | 2008-09-17 10:58:33 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-12 07:37:07 -0400 |
commit | ee73042c002b435cc8bc49414d466cc3f31af123 (patch) | |
tree | 7944245523d07c450b46905ef706f57c5a518c55 | |
parent | 4cd7fb876ce0beecd4907f81d1a16ea95f5d6d6e (diff) |
V4L/DVB (9020): Added support for TBS 8920 DVB-S/S2 card
Added support for TBS 8920 DVB-S/S2 card. The card
based on cx24116 demodulator.
Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 22 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 9 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 1 |
3 files changed, 32 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index afaafd519eac..a0e6156bc20f 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
@@ -1733,6 +1733,18 @@ static const struct cx88_board cx88_boards[] = { | |||
1733 | } }, | 1733 | } }, |
1734 | .mpeg = CX88_MPEG_DVB, | 1734 | .mpeg = CX88_MPEG_DVB, |
1735 | }, | 1735 | }, |
1736 | [CX88_BOARD_TBS_8920] = { | ||
1737 | .name = "TBS 8920 DVB-S/S2", | ||
1738 | .tuner_type = TUNER_ABSENT, | ||
1739 | .radio_type = UNSET, | ||
1740 | .tuner_addr = ADDR_UNSET, | ||
1741 | .radio_addr = ADDR_UNSET, | ||
1742 | .input = {{ | ||
1743 | .type = CX88_VMUX_DVB, | ||
1744 | .vmux = 1, | ||
1745 | } }, | ||
1746 | .mpeg = CX88_MPEG_DVB, | ||
1747 | }, | ||
1736 | }; | 1748 | }; |
1737 | 1749 | ||
1738 | /* ------------------------------------------------------------------ */ | 1750 | /* ------------------------------------------------------------------ */ |
@@ -2110,6 +2122,10 @@ static const struct cx88_subid cx88_subids[] = { | |||
2110 | .subvendor = 0xA044, | 2122 | .subvendor = 0xA044, |
2111 | .subdevice = 0x2011, | 2123 | .subdevice = 0x2011, |
2112 | .card = CX88_BOARD_OMICOM_SS4_PCI, | 2124 | .card = CX88_BOARD_OMICOM_SS4_PCI, |
2125 | }, { | ||
2126 | .subvendor = 0x8920, | ||
2127 | .subdevice = 0x8888, | ||
2128 | .card = CX88_BOARD_TBS_8920, | ||
2113 | }, | 2129 | }, |
2114 | }; | 2130 | }; |
2115 | 2131 | ||
@@ -2695,6 +2711,12 @@ static void cx88_card_setup(struct cx88_core *core) | |||
2695 | cx_write(MO_SRST_IO, 1); | 2711 | cx_write(MO_SRST_IO, 1); |
2696 | msleep(100); | 2712 | msleep(100); |
2697 | break; | 2713 | break; |
2714 | case CX88_BOARD_TBS_8920: | ||
2715 | cx_write(MO_SRST_IO, 0); | ||
2716 | msleep(100); | ||
2717 | cx_write(MO_SRST_IO, 1); | ||
2718 | msleep(100); | ||
2719 | break; | ||
2698 | } /*end switch() */ | 2720 | } /*end switch() */ |
2699 | 2721 | ||
2700 | 2722 | ||
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index c86802b913ed..a6c4f66bb161 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -967,6 +967,15 @@ static int dvb_register(struct cx8802_dev *dev) | |||
967 | dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; | 967 | dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; |
968 | } | 968 | } |
969 | break; | 969 | break; |
970 | case CX88_BOARD_TBS_8920: | ||
971 | dev->dvb.frontend = dvb_attach(cx24116_attach, | ||
972 | &hauppauge_hvr4000_config, | ||
973 | &core->i2c_adap); | ||
974 | if (dev->dvb.frontend != NULL) { | ||
975 | core->prev_set_voltage = dev->dvb.frontend->ops.set_voltage; | ||
976 | dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; | ||
977 | } | ||
978 | break; | ||
970 | default: | 979 | default: |
971 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n", | 980 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n", |
972 | core->name); | 981 | core->name); |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index 628371b49c56..fa3a72525d61 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -225,6 +225,7 @@ extern struct sram_channel cx88_sram_channels[]; | |||
225 | #define CX88_BOARD_HAUPPAUGE_HVR4000LITE 69 | 225 | #define CX88_BOARD_HAUPPAUGE_HVR4000LITE 69 |
226 | #define CX88_BOARD_TEVII_S460 70 | 226 | #define CX88_BOARD_TEVII_S460 70 |
227 | #define CX88_BOARD_OMICOM_SS4_PCI 71 | 227 | #define CX88_BOARD_OMICOM_SS4_PCI 71 |
228 | #define CX88_BOARD_TBS_8920 72 | ||
228 | 229 | ||
229 | enum cx88_itype { | 230 | enum cx88_itype { |
230 | CX88_VMUX_COMPOSITE1 = 1, | 231 | CX88_VMUX_COMPOSITE1 = 1, |