Commit b3038304 authored by Valentin Zagura's avatar Valentin Zagura Committed by Mauro Carvalho Chehab

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: default avatarValentin Zagura <puthre@gmail.com>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 7d0dc269
...@@ -46,3 +46,4 @@ ...@@ -46,3 +46,4 @@
45 -> KWorld HardwareMpegTV XPert [17de:0840] 45 -> KWorld HardwareMpegTV XPert [17de:0840]
46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44] 46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44]
47 -> pcHDTV HD5500 HDTV [7063:5500] 47 -> pcHDTV HD5500 HDTV [7063:5500]
48 -> Kworld MCE 200 Deluxe [17de:0841]
...@@ -1115,6 +1115,22 @@ struct cx88_board cx88_boards[] = { ...@@ -1115,6 +1115,22 @@ struct cx88_board cx88_boards[] = {
}}, }},
.dvb = 1, .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); const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
...@@ -1336,6 +1352,10 @@ struct cx88_subid cx88_subids[] = { ...@@ -1336,6 +1352,10 @@ struct cx88_subid cx88_subids[] = {
.subvendor = 0x7063, .subvendor = 0x7063,
.subdevice = 0x5500, .subdevice = 0x5500,
.card = CX88_BOARD_PCHDTV_HD5500, .card = CX88_BOARD_PCHDTV_HD5500,
},{
.subvendor = 0x17de,
.subdevice = 0x0841,
.card = CX88_BOARD_KWORLD_MCE200_DELUXE,
}, },
}; };
const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
......
...@@ -148,7 +148,8 @@ static void set_audio_finish(struct cx88_core *core, u32 ctl) ...@@ -148,7 +148,8 @@ static void set_audio_finish(struct cx88_core *core, u32 ctl)
if (cx88_boards[core->board].blackbird) { if (cx88_boards[core->board].blackbird) {
/* sets sound input from external adc */ /* 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); cx_clear(AUD_CTL, EN_I2SIN_ENABLE);
else else
cx_set(AUD_CTL, EN_I2SIN_ENABLE); cx_set(AUD_CTL, EN_I2SIN_ENABLE);
......
...@@ -190,6 +190,7 @@ extern struct sram_channel cx88_sram_channels[]; ...@@ -190,6 +190,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45 #define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46 #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46
#define CX88_BOARD_PCHDTV_HD5500 47 #define CX88_BOARD_PCHDTV_HD5500 47
#define CX88_BOARD_KWORLD_MCE200_DELUXE 48
enum cx88_itype { enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1, CX88_VMUX_COMPOSITE1 = 1,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment