瀏覽代碼

V4L/DVB (3316): Add initial support for KWorld HardwareMpegTV XPert

- Add initial support for KWorld HardwareMpegTV XPert.
- uses silicon tuner: tda8290 + tda8275
- standard video using cx88 broadcast decoder is working.
- blackbird mpeg encoder support (cx23416) not yet working.
- FM radio untested.
- audio is only working correctly in television mode,
  all other modes disabled.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky 19 年之前
父節點
當前提交
44256de13e
共有 3 個文件被更改,包括 25 次插入0 次删除
  1. 1 0
      Documentation/video4linux/CARDLIST.cx88
  2. 23 0
      drivers/media/video/cx88/cx88-cards.c
  3. 1 0
      drivers/media/video/cx88/cx88.h

+ 1 - 0
Documentation/video4linux/CARDLIST.cx88

@@ -43,3 +43,4 @@
  42 -> digitalnow DNTV Live! DVB-T Pro                     [1822:0025]
  43 -> KWorld/VStream XPert DVB-T with cx22702             [17de:08a1]
  44 -> DViCO FusionHDTV DVB-T Dual Digital                 [18ac:db50,18ac:db54]
+ 45 -> KWorld HardwareMpegTV XPert                         [17de:0840]

+ 23 - 0
drivers/media/video/cx88/cx88-cards.c

@@ -1048,6 +1048,25 @@ struct cx88_board cx88_boards[] = {
 		}},
 		.dvb            = 1,
 	},
+	[CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT] = {
+		/* FIXME: This card is shipped without a windows tv app,
+		 * so I haven't been able to use regspy to figure out the GPIO
+		 * settings. Standard video using the cx88 broadcast decoder is
+		 * working, but blackbird isn't working yet, audio is only
+		 * working correctly for television mode. S-Video and Composite
+		 * are working for video-only, so I have them disabled for now.
+		 */
+		.name           = "KWorld HardwareMpegTV XPert",
+		.tuner_type     = TUNER_PHILIPS_TDA8290,
+		.radio_type     = UNSET,
+		.tuner_addr	= ADDR_UNSET,
+		.radio_addr	= ADDR_UNSET,
+		.input          = {{
+			.type   = CX88_VMUX_TELEVISION,
+			.vmux   = 0,
+			.gpio0  = 0x07fa,
+		}},
+	},
 
 };
 const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
@@ -1254,6 +1273,10 @@ struct cx88_subid cx88_subids[] = {
 		.subdevice = 0xdb11,
 		.card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS,
 		/* Re-branded DViCO: UltraView DVB-T Plus */
+	},{
+		.subvendor = 0x17de,
+		.subdevice = 0x0840,
+		.card      = CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT,
 	},
 };
 const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);

+ 1 - 0
drivers/media/video/cx88/cx88.h

@@ -187,6 +187,7 @@ extern struct sram_channel cx88_sram_channels[];
 #define CX88_BOARD_DNTV_LIVE_DVB_T_PRO     42
 #define CX88_BOARD_KWORLD_DVB_T_CX22702    43
 #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL 44
+#define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45
 
 enum cx88_itype {
 	CX88_VMUX_COMPOSITE1 = 1,