diff options
author | Valentin Zagura <puthre@gmail.com> | 2006-04-13 11:41:43 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-25 00:58:04 -0400 |
commit | b3038304c91aa710fe651c7f42568e252fc54908 (patch) | |
tree | d3e2778fddb86770b5e81a0e703efd015cc133a8 | |
parent | 7d0dc26952fe0b49f9139f3264318abf195fe596 (diff) |
V4L/DVB (3800): Cx88: added support for KWorld MCE 200 Deluxe
This patch adds support for KWorld MCE 200 Deluxe.
Raw video is working perfectly, MPEG capture using
cx88-blackbird is also working, but the quality
could be improved.
svideo and radio until they can be tested also.
Signed-off-by: Valentin Zagura <puthre@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.cx88 | 1 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 20 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-tvaudio.c | 3 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 1 |
4 files changed, 24 insertions, 1 deletions
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 index f85907ee2416..3cc36e1f3992 100644 --- a/Documentation/video4linux/CARDLIST.cx88 +++ b/Documentation/video4linux/CARDLIST.cx88 | |||
@@ -46,3 +46,4 @@ | |||
46 | 45 -> KWorld HardwareMpegTV XPert [17de:0840] | 46 | 45 -> KWorld HardwareMpegTV XPert [17de:0840] |
47 | 46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44] | 47 | 46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44] |
48 | 47 -> pcHDTV HD5500 HDTV [7063:5500] | 48 | 47 -> pcHDTV HD5500 HDTV [7063:5500] |
49 | 48 -> Kworld MCE 200 Deluxe [17de:0841] | ||
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index 689d210c90ac..344c16eb0b0d 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
@@ -1115,6 +1115,22 @@ struct cx88_board cx88_boards[] = { | |||
1115 | }}, | 1115 | }}, |
1116 | .dvb = 1, | 1116 | .dvb = 1, |
1117 | }, | 1117 | }, |
1118 | [CX88_BOARD_KWORLD_MCE200_DELUXE] = { | ||
1119 | /* FIXME: tested TV input only, disabled composite, | ||
1120 | svideo and radio until they can be tested also. */ | ||
1121 | .name = "Kworld MCE 200 Deluxe", | ||
1122 | .tuner_type = TUNER_TENA_9533_DI, | ||
1123 | .radio_type = UNSET, | ||
1124 | .tda9887_conf = TDA9887_PRESENT, | ||
1125 | .tuner_addr = ADDR_UNSET, | ||
1126 | .radio_addr = ADDR_UNSET, | ||
1127 | .input = {{ | ||
1128 | .type = CX88_VMUX_TELEVISION, | ||
1129 | .vmux = 0, | ||
1130 | .gpio0 = 0x0000BDE6 | ||
1131 | }}, | ||
1132 | .blackbird = 1, | ||
1133 | }, | ||
1118 | }; | 1134 | }; |
1119 | const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); | 1135 | const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); |
1120 | 1136 | ||
@@ -1336,6 +1352,10 @@ struct cx88_subid cx88_subids[] = { | |||
1336 | .subvendor = 0x7063, | 1352 | .subvendor = 0x7063, |
1337 | .subdevice = 0x5500, | 1353 | .subdevice = 0x5500, |
1338 | .card = CX88_BOARD_PCHDTV_HD5500, | 1354 | .card = CX88_BOARD_PCHDTV_HD5500, |
1355 | },{ | ||
1356 | .subvendor = 0x17de, | ||
1357 | .subdevice = 0x0841, | ||
1358 | .card = CX88_BOARD_KWORLD_MCE200_DELUXE, | ||
1339 | }, | 1359 | }, |
1340 | }; | 1360 | }; |
1341 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); | 1361 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); |
diff --git a/drivers/media/video/cx88/cx88-tvaudio.c b/drivers/media/video/cx88/cx88-tvaudio.c index 641a0c5a6490..3d3376d590a5 100644 --- a/drivers/media/video/cx88/cx88-tvaudio.c +++ b/drivers/media/video/cx88/cx88-tvaudio.c | |||
@@ -148,7 +148,8 @@ static void set_audio_finish(struct cx88_core *core, u32 ctl) | |||
148 | 148 | ||
149 | if (cx88_boards[core->board].blackbird) { | 149 | if (cx88_boards[core->board].blackbird) { |
150 | /* sets sound input from external adc */ | 150 | /* sets sound input from external adc */ |
151 | if (core->board == CX88_BOARD_HAUPPAUGE_ROSLYN) | 151 | if ((core->board == CX88_BOARD_HAUPPAUGE_ROSLYN)|| |
152 | (core->board == CX88_BOARD_KWORLD_MCE200_DELUXE)) | ||
152 | cx_clear(AUD_CTL, EN_I2SIN_ENABLE); | 153 | cx_clear(AUD_CTL, EN_I2SIN_ENABLE); |
153 | else | 154 | else |
154 | cx_set(AUD_CTL, EN_I2SIN_ENABLE); | 155 | cx_set(AUD_CTL, EN_I2SIN_ENABLE); |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index 12944f7a9be2..84c87707203b 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -190,6 +190,7 @@ extern struct sram_channel cx88_sram_channels[]; | |||
190 | #define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45 | 190 | #define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45 |
191 | #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46 | 191 | #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46 |
192 | #define CX88_BOARD_PCHDTV_HD5500 47 | 192 | #define CX88_BOARD_PCHDTV_HD5500 47 |
193 | #define CX88_BOARD_KWORLD_MCE200_DELUXE 48 | ||
193 | 194 | ||
194 | enum cx88_itype { | 195 | enum cx88_itype { |
195 | CX88_VMUX_COMPOSITE1 = 1, | 196 | CX88_VMUX_COMPOSITE1 = 1, |