aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx/cx231xx-cards.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2010-07-06 17:23:53 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-20 23:17:11 -0400
commit1a50fddefd17ec1359d08cd23c77da42fabbb4a7 (patch)
tree2467c087a5ba145e004d5de30fa0e950bbdaf359 /drivers/media/video/cx231xx/cx231xx-cards.c
parent64fbf44455260684fa5bfdd3121af3d0ef0b48dd (diff)
[media] cx231xx: add support for Hauppauge EXETER
Add support for various Hauppauge EXETER designs. Note by DJH: fixed a few minor 'make checkpatch' warnings before commit. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx231xx/cx231xx-cards.c')
-rw-r--r--drivers/media/video/cx231xx/cx231xx-cards.c47
1 files changed, 45 insertions, 2 deletions
diff --git a/drivers/media/video/cx231xx/cx231xx-cards.c b/drivers/media/video/cx231xx/cx231xx-cards.c
index 59e273324f5a..a19248495c2a 100644
--- a/drivers/media/video/cx231xx/cx231xx-cards.c
+++ b/drivers/media/video/cx231xx/cx231xx-cards.c
@@ -340,6 +340,44 @@ struct cx231xx_board cx231xx_boards[] = {
340 } 340 }
341 }, 341 },
342 }, 342 },
343 [CX231XX_BOARD_HAUPPAUGE_EXETER] = {
344 .name = "Hauppauge EXETER",
345 .tuner_type = TUNER_NXP_TDA18271,
346 .tuner_addr = 0x60,
347 .tuner_gpio = RDE250_XCV_TUNER,
348 .tuner_sif_gpio = 0x05,
349 .tuner_scl_gpio = 0x1a,
350 .tuner_sda_gpio = 0x1b,
351 .decoder = CX231XX_AVDECODER,
352 .demod_xfer_mode = 0,
353 .ctl_pin_status_mask = 0xFFFFFFC4,
354 .agc_analog_digital_select_gpio = 0x0c,
355 .gpio_pin_status_mask = 0x4001000,
356 .tuner_i2c_master = 1,
357 .demod_i2c_master = 2,
358 .has_dvb = 1,
359 .demod_addr = 0x0e,
360 .norm = V4L2_STD_NTSC,
361
362 .input = {{
363 .type = CX231XX_VMUX_TELEVISION,
364 .vmux = CX231XX_VIN_3_1,
365 .amux = CX231XX_AMUX_VIDEO,
366 .gpio = 0,
367 }, {
368 .type = CX231XX_VMUX_COMPOSITE1,
369 .vmux = CX231XX_VIN_2_1,
370 .amux = CX231XX_AMUX_LINE_IN,
371 .gpio = 0,
372 }, {
373 .type = CX231XX_VMUX_SVIDEO,
374 .vmux = CX231XX_VIN_1_1 |
375 (CX231XX_VIN_1_2 << 8) |
376 CX25840_SVIDEO_ON,
377 .amux = CX231XX_AMUX_LINE_IN,
378 .gpio = 0,
379 } },
380 },
343 381
344 382
345 383
@@ -352,6 +390,8 @@ const unsigned int cx231xx_bcount = ARRAY_SIZE(cx231xx_boards);
352struct usb_device_id cx231xx_id_table[] = { 390struct usb_device_id cx231xx_id_table[] = {
353 {USB_DEVICE(0x0572, 0x5A3C), 391 {USB_DEVICE(0x0572, 0x5A3C),
354 .driver_info = CX231XX_BOARD_UNKNOWN}, 392 .driver_info = CX231XX_BOARD_UNKNOWN},
393 {USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x4000,0x4fff),
394 .driver_info = CX231XX_BOARD_UNKNOWN},
355 {USB_DEVICE(0x0572, 0x58A2), 395 {USB_DEVICE(0x0572, 0x58A2),
356 .driver_info = CX231XX_BOARD_CNXT_CARRAERA}, 396 .driver_info = CX231XX_BOARD_CNXT_CARRAERA},
357 {USB_DEVICE(0x0572, 0x58A1), 397 {USB_DEVICE(0x0572, 0x58A1),
@@ -366,8 +406,8 @@ struct usb_device_id cx231xx_id_table[] = {
366 .driver_info = CX231XX_BOARD_CNXT_RDE_250}, 406 .driver_info = CX231XX_BOARD_CNXT_RDE_250},
367 {USB_DEVICE(0x0572, 0x58A0), 407 {USB_DEVICE(0x0572, 0x58A0),
368 .driver_info = CX231XX_BOARD_CNXT_RDU_250}, 408 .driver_info = CX231XX_BOARD_CNXT_RDU_250},
369 {USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x4000,0x4fff), 409 {USB_DEVICE(0x2040, 0xb120),
370 .driver_info = CX231XX_BOARD_UNKNOWN}, 410 .driver_info = CX231XX_BOARD_HAUPPAUGE_EXETER},
371 {}, 411 {},
372}; 412};
373 413
@@ -515,6 +555,8 @@ void cx231xx_register_i2c_ir(struct cx231xx *dev)
515 break; 555 break;
516 case CX231XX_BOARD_CNXT_VIDEO_GRABBER: 556 case CX231XX_BOARD_CNXT_VIDEO_GRABBER:
517 break; 557 break;
558 case CX231XX_BOARD_HAUPPAUGE_EXETER:
559 break;
518 default: 560 default:
519 break; 561 break;
520 } 562 }
@@ -559,6 +601,7 @@ void cx231xx_card_setup(struct cx231xx *dev)
559 case CX231XX_BOARD_CNXT_RDE_253S: 601 case CX231XX_BOARD_CNXT_RDE_253S:
560 case CX231XX_BOARD_CNXT_RDU_253S: 602 case CX231XX_BOARD_CNXT_RDU_253S:
561 case CX231XX_BOARD_CNXT_VIDEO_GRABBER: 603 case CX231XX_BOARD_CNXT_VIDEO_GRABBER:
604 case CX231XX_BOARD_HAUPPAUGE_EXETER:
562 if (dev->board.tuner_type != TUNER_ABSENT) { 605 if (dev->board.tuner_type != TUNER_ABSENT) {
563 dev->sd_tuner = v4l2_i2c_new_subdev(&dev->v4l2_dev, 606 dev->sd_tuner = v4l2_i2c_new_subdev(&dev->v4l2_dev,
564 &dev->i2c_bus[1].i2c_adap, 607 &dev->i2c_bus[1].i2c_adap,