aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Zagura <puthre@gmail.com>2006-04-13 12:41:43 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-25 01:58:04 -0300
commitb3038304c91aa710fe651c7f42568e252fc54908 (patch)
treed3e2778fddb86770b5e81a0e703efd015cc133a8
parent7d0dc26952fe0b49f9139f3264318abf195fe596 (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.cx881
-rw-r--r--drivers/media/video/cx88/cx88-cards.c20
-rw-r--r--drivers/media/video/cx88/cx88-tvaudio.c3
-rw-r--r--drivers/media/video/cx88/cx88.h1
4 files changed, 24 insertions, 1 deletions
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88
index f85907ee241..3cc36e1f399 100644
--- a/Documentation/video4linux/CARDLIST.cx88
+++ b/Documentation/video4linux/CARDLIST.cx88
@@ -46,3 +46,4 @@
45 -> KWorld HardwareMpegTV XPert [17de:0840]
46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44]
47 -> pcHDTV HD5500 HDTV [7063:5500]
+ 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 689d210c90a..344c16eb0b0 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[] = {
}},
.dvb = 1,
},
+ [CX88_BOARD_KWORLD_MCE200_DELUXE] = {
+ /* FIXME: tested TV input only, disabled composite,
+ svideo and radio until they can be tested also. */
+ .name = "Kworld MCE 200 Deluxe",
+ .tuner_type = TUNER_TENA_9533_DI,
+ .radio_type = UNSET,
+ .tda9887_conf = TDA9887_PRESENT,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .input = {{
+ .type = CX88_VMUX_TELEVISION,
+ .vmux = 0,
+ .gpio0 = 0x0000BDE6
+ }},
+ .blackbird = 1,
+ },
};
const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
@@ -1336,6 +1352,10 @@ struct cx88_subid cx88_subids[] = {
.subvendor = 0x7063,
.subdevice = 0x5500,
.card = CX88_BOARD_PCHDTV_HD5500,
+ },{
+ .subvendor = 0x17de,
+ .subdevice = 0x0841,
+ .card = CX88_BOARD_KWORLD_MCE200_DELUXE,
},
};
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 641a0c5a649..3d3376d590a 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)
if (cx88_boards[core->board].blackbird) {
/* sets sound input from external adc */
- if (core->board == CX88_BOARD_HAUPPAUGE_ROSLYN)
+ if ((core->board == CX88_BOARD_HAUPPAUGE_ROSLYN)||
+ (core->board == CX88_BOARD_KWORLD_MCE200_DELUXE))
cx_clear(AUD_CTL, EN_I2SIN_ENABLE);
else
cx_set(AUD_CTL, EN_I2SIN_ENABLE);
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index 12944f7a9be..84c87707203 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[];
#define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46
#define CX88_BOARD_PCHDTV_HD5500 47
+#define CX88_BOARD_KWORLD_MCE200_DELUXE 48
enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1,