aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2008-10-04 19:28:40 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 07:37:16 -0400
commit9eee4fb69ecbe6a8a25378e801a3621ef0146fa3 (patch)
tree782c7c1995f2def4544eb082db0e9b1623e5f737
parentf1918fa284afaa46201b9c20a7bbeacd8db0c977 (diff)
V4L/DVB (9131): cx18: Add entries for the Leadtek PVR2100 and Toshiba Qosmio DVB-T/Analog
cx18: Add entries for the Leadtek PVR2100 and Toshiba Qosmio DVB-T/Analog capture cards. Both cards are hybrids cards, but no digital capture functionality has been added yet. These entries are a first guess at the card entries to get analog working, given the information available. Terry Wu <terrywu at leadtek.com.tw> provided a pointer to information for the PVR2100. Martin Juhl <mj at casalogic.dk>, an owner of the Toshiba DVB-T/Analog tuner card, provided the DDR timing information from his Windows inf file. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/cx18/cx18-cards.c99
-rw-r--r--drivers/media/video/cx18/cx18-driver.c2
-rw-r--r--drivers/media/video/cx18/cx18-driver.h6
3 files changed, 106 insertions, 1 deletions
diff --git a/drivers/media/video/cx18/cx18-cards.c b/drivers/media/video/cx18/cx18-cards.c
index 3cb9734ec07b..5efe01ebe9db 100644
--- a/drivers/media/video/cx18/cx18-cards.c
+++ b/drivers/media/video/cx18/cx18-cards.c
@@ -292,12 +292,111 @@ static const struct cx18_card cx18_card_cnxt_raptor_pal = {
292 292
293/* ------------------------------------------------------------------------- */ 293/* ------------------------------------------------------------------------- */
294 294
295/* Toshiba Qosmio laptop internal DVB-T/Analog Hybrid Tuner */
296
297static const struct cx18_card_pci_info cx18_pci_toshiba_qosmio_dvbt[] = {
298 { PCI_DEVICE_ID_CX23418, CX18_PCI_ID_TOSHIBA, 0x0110 },
299 { 0, 0, 0 }
300};
301
302static const struct cx18_card cx18_card_toshiba_qosmio_dvbt = {
303 .type = CX18_CARD_TOSHIBA_QOSMIO_DVBT,
304 .name = "Toshiba Qosmio DVB-T/Analog",
305 .comment = "Experimenters and photos needed for device to work well.\n"
306 "\tTo help, mail the ivtv-devel list (www.ivtvdriver.org).\n",
307 .v4l2_capabilities = CX18_CAP_ENCODER,
308 .hw_audio_ctrl = CX18_HW_CX23418,
309 .hw_all = CX18_HW_TUNER,
310 .video_inputs = {
311 { CX18_CARD_INPUT_VID_TUNER, 0, CX18_AV_COMPOSITE6 },
312 { CX18_CARD_INPUT_SVIDEO1, 1,
313 CX18_AV_SVIDEO_LUMA3 | CX18_AV_SVIDEO_CHROMA4 },
314 { CX18_CARD_INPUT_COMPOSITE1, 1, CX18_AV_COMPOSITE1 },
315 },
316 .audio_inputs = {
317 { CX18_CARD_INPUT_AUD_TUNER, CX18_AV_AUDIO5, 0 },
318 { CX18_CARD_INPUT_LINE_IN1, CX18_AV_AUDIO_SERIAL1, 1 },
319 },
320 .tuners = {
321 { .std = V4L2_STD_ALL, .tuner = TUNER_XC2028 },
322 },
323 .ddr = {
324 .chip_config = 0x202,
325 .refresh = 0x3bb,
326 .timing1 = 0x33320a63,
327 .timing2 = 0x0a,
328 .tune_lane = 0,
329 .initial_emrs = 0x42,
330 },
331 .xceive_pin = 15,
332 .pci_list = cx18_pci_toshiba_qosmio_dvbt,
333 .i2c = &cx18_i2c_std,
334};
335
336/* ------------------------------------------------------------------------- */
337
338/* Leadtek WinFast PVR2100 */
339
340static const struct cx18_card_pci_info cx18_pci_leadtek_pvr2100[] = {
341 { PCI_DEVICE_ID_CX23418, CX18_PCI_ID_LEADTEK, 0x6f27 },
342 { 0, 0, 0 }
343};
344
345static const struct cx18_card cx18_card_leadtek_pvr2100 = {
346 .type = CX18_CARD_LEADTEK_PVR2100,
347 .name = "Leadtek WinFast PVR2100",
348 .comment = "Experimenters and photos needed for device to work well.\n"
349 "\tTo help, mail the ivtv-devel list (www.ivtvdriver.org).\n",
350 .v4l2_capabilities = CX18_CAP_ENCODER,
351 .hw_audio_ctrl = CX18_HW_CX23418,
352 .hw_muxer = CX18_HW_GPIO,
353 .hw_all = CX18_HW_TUNER | CX18_HW_GPIO,
354 .video_inputs = {
355 { CX18_CARD_INPUT_VID_TUNER, 0, CX18_AV_COMPOSITE2 },
356 { CX18_CARD_INPUT_SVIDEO1, 1,
357 CX18_AV_SVIDEO_LUMA3 | CX18_AV_SVIDEO_CHROMA4 },
358 { CX18_CARD_INPUT_COMPOSITE1, 1, CX18_AV_COMPOSITE7 },
359 },
360 .audio_inputs = {
361 { CX18_CARD_INPUT_AUD_TUNER, CX18_AV_AUDIO5, 0 },
362 { CX18_CARD_INPUT_LINE_IN1, CX18_AV_AUDIO_SERIAL1, 1 },
363 },
364 .tuners = {
365 /* XC3028 tuner */
366 { .std = V4L2_STD_ALL, .tuner = TUNER_XC2028 },
367 },
368 .radio_input = { CX18_CARD_INPUT_AUD_TUNER, CX18_AV_AUDIO5, 2 },
369 .ddr = {
370 /*
371 * Pointer to proper DDR config values provided by
372 * Terry Wu <terrywu at leadtek.com.tw>
373 */
374 .chip_config = 0x303,
375 .refresh = 0x3bb,
376 .timing1 = 0x24220e83,
377 .timing2 = 0x1f,
378 .tune_lane = 0,
379 .initial_emrs = 0x2,
380 },
381 .gpio_init.initial_value = 0x6,
382 .gpio_init.direction = 0x7,
383 .gpio_audio_input = { .mask = 0x7,
384 .tuner = 0x6, .linein = 0x2, .radio = 0x2 },
385 .xceive_pin = 15,
386 .pci_list = cx18_pci_leadtek_pvr2100,
387 .i2c = &cx18_i2c_std,
388};
389
390/* ------------------------------------------------------------------------- */
391
295static const struct cx18_card *cx18_card_list[] = { 392static const struct cx18_card *cx18_card_list[] = {
296 &cx18_card_hvr1600_esmt, 393 &cx18_card_hvr1600_esmt,
297 &cx18_card_hvr1600_samsung, 394 &cx18_card_hvr1600_samsung,
298 &cx18_card_h900, 395 &cx18_card_h900,
299 &cx18_card_mpc718, 396 &cx18_card_mpc718,
300 &cx18_card_cnxt_raptor_pal, 397 &cx18_card_cnxt_raptor_pal,
398 &cx18_card_toshiba_qosmio_dvbt,
399 &cx18_card_leadtek_pvr2100,
301}; 400};
302 401
303const struct cx18_card *cx18_get_card(u16 index) 402const struct cx18_card *cx18_get_card(u16 index)
diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
index df5531709ae5..6bf9ac8c4e70 100644
--- a/drivers/media/video/cx18/cx18-driver.c
+++ b/drivers/media/video/cx18/cx18-driver.c
@@ -130,6 +130,8 @@ MODULE_PARM_DESC(cardtype,
130 "\t\t\t 3 = Compro VideoMate H900\n" 130 "\t\t\t 3 = Compro VideoMate H900\n"
131 "\t\t\t 4 = Yuan MPC718\n" 131 "\t\t\t 4 = Yuan MPC718\n"
132 "\t\t\t 5 = Conexant Raptor PAL/SECAM\n" 132 "\t\t\t 5 = Conexant Raptor PAL/SECAM\n"
133 "\t\t\t 6 = Toshiba Qosmio DVB-T/Analog\n"
134 "\t\t\t 7 = Leadtek WinFast PVR2100\n"
133 "\t\t\t 0 = Autodetect (default)\n" 135 "\t\t\t 0 = Autodetect (default)\n"
134 "\t\t\t-1 = Ignore this card\n\t\t"); 136 "\t\t\t-1 = Ignore this card\n\t\t");
135MODULE_PARM_DESC(pal, "Set PAL standard: B, G, H, D, K, I, M, N, Nc, 60"); 137MODULE_PARM_DESC(pal, "Set PAL standard: B, G, H, D, K, I, M, N, Nc, 60");
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h
index 80f5f563d4fc..fa8be0731a3f 100644
--- a/drivers/media/video/cx18/cx18-driver.h
+++ b/drivers/media/video/cx18/cx18-driver.h
@@ -79,7 +79,9 @@
79#define CX18_CARD_COMPRO_H900 2 /* Compro VideoMate H900 */ 79#define CX18_CARD_COMPRO_H900 2 /* Compro VideoMate H900 */
80#define CX18_CARD_YUAN_MPC718 3 /* Yuan MPC718 */ 80#define CX18_CARD_YUAN_MPC718 3 /* Yuan MPC718 */
81#define CX18_CARD_CNXT_RAPTOR_PAL 4 /* Conexant Raptor PAL */ 81#define CX18_CARD_CNXT_RAPTOR_PAL 4 /* Conexant Raptor PAL */
82#define CX18_CARD_LAST 4 82#define CX18_CARD_TOSHIBA_QOSMIO_DVBT 5 /* Toshiba Qosmio Interal DVB-T/Analog*/
83#define CX18_CARD_LEADTEK_PVR2100 6 /* Leadtek WinFast PVR2100 */
84#define CX18_CARD_LAST 6
83 85
84#define CX18_ENC_STREAM_TYPE_MPG 0 86#define CX18_ENC_STREAM_TYPE_MPG 0
85#define CX18_ENC_STREAM_TYPE_TS 1 87#define CX18_ENC_STREAM_TYPE_TS 1
@@ -99,6 +101,8 @@
99#define CX18_PCI_ID_COMPRO 0x185b 101#define CX18_PCI_ID_COMPRO 0x185b
100#define CX18_PCI_ID_YUAN 0x12ab 102#define CX18_PCI_ID_YUAN 0x12ab
101#define CX18_PCI_ID_CONEXANT 0x14f1 103#define CX18_PCI_ID_CONEXANT 0x14f1
104#define CX18_PCI_ID_TOSHIBA 0x1179
105#define CX18_PCI_ID_LEADTEK 0x107D
102 106
103/* ======================================================================== */ 107/* ======================================================================== */
104/* ========================== START USER SETTABLE DMA VARIABLES =========== */ 108/* ========================== START USER SETTABLE DMA VARIABLES =========== */