summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2006-04-13 11:41:43 -0400
committerMichael Krufky <mkrufky@linuxtv.org>2006-04-13 11:41:43 -0400
commit32de3cc3a4bb7d3624f65bbd00edfb8e4601d736 (patch)
tree7cd7bad28bc2ff3639cae53ad0cb6a9c120194c4 /linux
parentd597a76fcbad4869323b550acac59c3b9689ea40 (diff)
downloadmediapointer-dvb-s2-32de3cc3a4bb7d3624f65bbd00edfb8e4601d736.tar.gz
mediapointer-dvb-s2-32de3cc3a4bb7d3624f65bbd00edfb8e4601d736.tar.bz2
cx88: added support for KWorld MCE 200 Deluxe
From: Valentin Zagura <puthre@gmail.com> 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. FIXME: tested TV input only, disabled composite, 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>
Diffstat (limited to 'linux')
-rw-r--r--linux/Documentation/video4linux/CARDLIST.cx881
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c36
-rw-r--r--linux/drivers/media/video/cx88/cx88-tvaudio.c3
-rw-r--r--linux/drivers/media/video/cx88/cx88.h1
4 files changed, 40 insertions, 1 deletions
diff --git a/linux/Documentation/video4linux/CARDLIST.cx88 b/linux/Documentation/video4linux/CARDLIST.cx88
index f85907ee2..3cc36e1f3 100644
--- a/linux/Documentation/video4linux/CARDLIST.cx88
+++ b/linux/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/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index 839e91a98..3e6b2641b 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -1127,6 +1127,38 @@ 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
+#if 0
+ },{
+ .type = CX88_VMUX_COMPOSITE1,
+ .vmux = 1,
+ .gpio0 = 0x0000BDE6,
+ },{
+ .type = CX88_VMUX_SVIDEO,
+ .vmux = 2,
+ .gpio0 = 0x0000BDE6,
+#endif
+ }},
+#if 0
+ .radio = {
+ .gpio0 = 0x0000BDE6,
+ .type = CX88_RADIO,
+ },
+#endif
+ .blackbird = 1,
+ },
};
const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
@@ -1348,6 +1380,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/linux/drivers/media/video/cx88/cx88-tvaudio.c b/linux/drivers/media/video/cx88/cx88-tvaudio.c
index 68c157427..683c8c45c 100644
--- a/linux/drivers/media/video/cx88/cx88-tvaudio.c
+++ b/linux/drivers/media/video/cx88/cx88-tvaudio.c
@@ -151,7 +151,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/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index aad9260e4..88fff918d 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -198,6 +198,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,