aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx18/cx18-cards.c
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 /drivers/media/video/cx18/cx18-cards.c
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>
Diffstat (limited to 'drivers/media/video/cx18/cx18-cards.c')
-rw-r--r--drivers/media/video/cx18/cx18-cards.c99
1 files changed, 99 insertions, 0 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)