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

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
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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]
+20 −0
Original line number Diff line number Diff line
@@ -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);
+2 −1
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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,