diff options
author | Oleg Roitburd <oroitburd@gmail.com> | 2008-10-08 05:48:08 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-13 10:41:21 -0400 |
commit | 57f51dbc45f65f7ee1e8c8f77200bb8000e3e271 (patch) | |
tree | 64168bd7218f93dedf63e20956b724350adee505 | |
parent | a52f68c648585ff615175269d8f6cbcbb08d7f4d (diff) |
V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards
Added support for Prof 7300 DVB-S/S2 card. The card
based on cx24116 demodulator.
Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
Signed-off-by: Steven Toth <stoth@linuxtv.org>
[mchehab@redhat.com: fixed CARDLIST.cx88 entry]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | Documentation/video4linux/CARDLIST.cx88 | 1 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 27 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 9 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 1 |
4 files changed, 20 insertions, 18 deletions
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 index 50d0b1c559a9..a5227e308f4a 100644 --- a/Documentation/video4linux/CARDLIST.cx88 +++ b/Documentation/video4linux/CARDLIST.cx88 | |||
@@ -73,3 +73,4 @@ | |||
73 | 72 -> TBS 8920 DVB-S/S2 [8920:8888] | 73 | 72 -> TBS 8920 DVB-S/S2 [8920:8888] |
74 | 73 -> TeVii S420 DVB-S [d420:9022] | 74 | 73 -> TeVii S420 DVB-S [d420:9022] |
75 | 74 -> Prolink Pixelview Global Extreme [1554:4976] | 75 | 74 -> Prolink Pixelview Global Extreme [1554:4976] |
76 | 75 -> PROF 7300 DVB-S/S2 [B033:3033] | ||
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index a9e52decb6f9..5da04e811ca2 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
@@ -1822,6 +1822,18 @@ static const struct cx88_board cx88_boards[] = { | |||
1822 | } }, | 1822 | } }, |
1823 | .mpeg = CX88_MPEG_DVB, | 1823 | .mpeg = CX88_MPEG_DVB, |
1824 | }, | 1824 | }, |
1825 | [CX88_BOARD_PROF_7300] = { | ||
1826 | .name = "PROF 7300 DVB-S/S2", | ||
1827 | .tuner_type = UNSET, | ||
1828 | .radio_type = UNSET, | ||
1829 | .tuner_addr = ADDR_UNSET, | ||
1830 | .radio_addr = ADDR_UNSET, | ||
1831 | .input = {{ | ||
1832 | .type = CX88_VMUX_DVB, | ||
1833 | .vmux = 0, | ||
1834 | } }, | ||
1835 | .mpeg = CX88_MPEG_DVB, | ||
1836 | }, | ||
1825 | }; | 1837 | }; |
1826 | 1838 | ||
1827 | /* ------------------------------------------------------------------ */ | 1839 | /* ------------------------------------------------------------------ */ |
@@ -2211,6 +2223,10 @@ static const struct cx88_subid cx88_subids[] = { | |||
2211 | .subvendor = 0x8920, | 2223 | .subvendor = 0x8920, |
2212 | .subdevice = 0x8888, | 2224 | .subdevice = 0x8888, |
2213 | .card = CX88_BOARD_TBS_8920, | 2225 | .card = CX88_BOARD_TBS_8920, |
2226 | }, { | ||
2227 | .subvendor = 0xB033, | ||
2228 | .subdevice = 0x3033, | ||
2229 | .card = CX88_BOARD_PROF_7300, | ||
2214 | }, | 2230 | }, |
2215 | }; | 2231 | }; |
2216 | 2232 | ||
@@ -2817,18 +2833,9 @@ static void cx88_card_setup(struct cx88_core *core) | |||
2817 | } | 2833 | } |
2818 | case CX88_BOARD_TEVII_S420: | 2834 | case CX88_BOARD_TEVII_S420: |
2819 | case CX88_BOARD_TEVII_S460: | 2835 | case CX88_BOARD_TEVII_S460: |
2820 | cx_write(MO_SRST_IO, 0); | ||
2821 | msleep(100); | ||
2822 | cx_write(MO_SRST_IO, 1); | ||
2823 | msleep(100); | ||
2824 | break; | ||
2825 | case CX88_BOARD_OMICOM_SS4_PCI: | 2836 | case CX88_BOARD_OMICOM_SS4_PCI: |
2826 | cx_write(MO_SRST_IO, 0); | ||
2827 | msleep(100); | ||
2828 | cx_write(MO_SRST_IO, 1); | ||
2829 | msleep(100); | ||
2830 | break; | ||
2831 | case CX88_BOARD_TBS_8920: | 2837 | case CX88_BOARD_TBS_8920: |
2838 | case CX88_BOARD_PROF_7300: | ||
2832 | cx_write(MO_SRST_IO, 0); | 2839 | cx_write(MO_SRST_IO, 0); |
2833 | msleep(100); | 2840 | msleep(100); |
2834 | cx_write(MO_SRST_IO, 1); | 2841 | cx_write(MO_SRST_IO, 1); |
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index cccf38222a31..344ed2626e59 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -978,15 +978,8 @@ static int dvb_register(struct cx8802_dev *dev) | |||
978 | } | 978 | } |
979 | break; | 979 | break; |
980 | case CX88_BOARD_OMICOM_SS4_PCI: | 980 | case CX88_BOARD_OMICOM_SS4_PCI: |
981 | dev->dvb.frontend = dvb_attach(cx24116_attach, | ||
982 | &hauppauge_hvr4000_config, | ||
983 | &core->i2c_adap); | ||
984 | if (dev->dvb.frontend != NULL) { | ||
985 | core->prev_set_voltage = dev->dvb.frontend->ops.set_voltage; | ||
986 | dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; | ||
987 | } | ||
988 | break; | ||
989 | case CX88_BOARD_TBS_8920: | 981 | case CX88_BOARD_TBS_8920: |
982 | case CX88_BOARD_PROF_7300: | ||
990 | dev->dvb.frontend = dvb_attach(cx24116_attach, | 983 | dev->dvb.frontend = dvb_attach(cx24116_attach, |
991 | &hauppauge_hvr4000_config, | 984 | &hauppauge_hvr4000_config, |
992 | &core->i2c_adap); | 985 | &core->i2c_adap); |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index dce7d36edb42..dbf01b8b57a5 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -228,6 +228,7 @@ extern struct sram_channel cx88_sram_channels[]; | |||
228 | #define CX88_BOARD_TBS_8920 72 | 228 | #define CX88_BOARD_TBS_8920 72 |
229 | #define CX88_BOARD_TEVII_S420 73 | 229 | #define CX88_BOARD_TEVII_S420 73 |
230 | #define CX88_BOARD_PROLINK_PV_GLOBAL_XTREME 74 | 230 | #define CX88_BOARD_PROLINK_PV_GLOBAL_XTREME 74 |
231 | #define CX88_BOARD_PROF_7300 75 | ||
231 | 232 | ||
232 | enum cx88_itype { | 233 | enum cx88_itype { |
233 | CX88_VMUX_COMPOSITE1 = 1, | 234 | CX88_VMUX_COMPOSITE1 = 1, |