aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885
diff options
context:
space:
mode:
authorSteven Toth <stoth@kernellabs.com>2011-10-10 10:09:55 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-10-14 16:19:27 -0400
commit2cb9ccd4612907c0a30de9be1c694672e0cd8933 (patch)
tree149ebe37ed88206630bb1b1a84a4574f7430593b /drivers/media/video/cx23885
parent52422e3cb146ef643fc0dbe74fa80f1abbe5fc37 (diff)
[media] cx23885: Initial support for the MPX-885 mini-card
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885')
-rw-r--r--drivers/media/video/cx23885/cx23885-cards.c26
-rw-r--r--drivers/media/video/cx23885/cx23885-video.c3
-rw-r--r--drivers/media/video/cx23885/cx23885.h1
3 files changed, 29 insertions, 1 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c
index 969a9a336ac..c3cf08945e4 100644
--- a/drivers/media/video/cx23885/cx23885-cards.c
+++ b/drivers/media/video/cx23885/cx23885-cards.c
@@ -413,6 +413,31 @@ struct cx23885_board cx23885_boards[] = {
413 .vmux = CX25840_COMPOSITE1, 413 .vmux = CX25840_COMPOSITE1,
414 } }, 414 } },
415 }, 415 },
416 [CX23885_BOARD_MPX885] = {
417 .name = "MPX-885",
418 .porta = CX23885_ANALOG_VIDEO,
419 .input = {{
420 .type = CX23885_VMUX_COMPOSITE1,
421 .vmux = CX25840_COMPOSITE1,
422 .amux = CX25840_AUDIO6,
423 .gpio0 = 0,
424 }, {
425 .type = CX23885_VMUX_COMPOSITE2,
426 .vmux = CX25840_COMPOSITE2,
427 .amux = CX25840_AUDIO6,
428 .gpio0 = 0,
429 }, {
430 .type = CX23885_VMUX_COMPOSITE3,
431 .vmux = CX25840_COMPOSITE3,
432 .amux = CX25840_AUDIO7,
433 .gpio0 = 0,
434 }, {
435 .type = CX23885_VMUX_COMPOSITE4,
436 .vmux = CX25840_COMPOSITE4,
437 .amux = CX25840_AUDIO7,
438 .gpio0 = 0,
439 } },
440 },
416}; 441};
417const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); 442const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
418 443
@@ -1442,6 +1467,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
1442 case CX23885_BOARD_LEADTEK_WINFAST_PXTV1200: 1467 case CX23885_BOARD_LEADTEK_WINFAST_PXTV1200:
1443 case CX23885_BOARD_GOTVIEW_X5_3D_HYBRID: 1468 case CX23885_BOARD_GOTVIEW_X5_3D_HYBRID:
1444 case CX23885_BOARD_HAUPPAUGE_HVR1500: 1469 case CX23885_BOARD_HAUPPAUGE_HVR1500:
1470 case CX23885_BOARD_MPX885:
1445 dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev, 1471 dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev,
1446 &dev->i2c_bus[2].i2c_adap, 1472 &dev->i2c_bus[2].i2c_adap,
1447 "cx25840", 0x88 >> 1, NULL); 1473 "cx25840", 0x88 >> 1, NULL);
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c
index adc8f78d4c5..f13c40e653c 100644
--- a/drivers/media/video/cx23885/cx23885-video.c
+++ b/drivers/media/video/cx23885/cx23885-video.c
@@ -502,7 +502,8 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input)
502 v4l2_subdev_call(dev->sd_cx25840, video, s_routing, 502 v4l2_subdev_call(dev->sd_cx25840, video, s_routing,
503 INPUT(input)->vmux, 0, 0); 503 INPUT(input)->vmux, 0, 0);
504 504
505 if (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1800) { 505 if ((dev->board == CX23885_BOARD_HAUPPAUGE_HVR1800) ||
506 (dev->board == CX23885_BOARD_MPX885)) {
506 /* Configure audio routing */ 507 /* Configure audio routing */
507 v4l2_subdev_call(dev->sd_cx25840, audio, s_routing, 508 v4l2_subdev_call(dev->sd_cx25840, audio, s_routing,
508 INPUT(input)->amux, 0, 0); 509 INPUT(input)->amux, 0, 0);
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h
index 2978e97ee03..b205e3263b4 100644
--- a/drivers/media/video/cx23885/cx23885.h
+++ b/drivers/media/video/cx23885/cx23885.h
@@ -86,6 +86,7 @@
86#define CX23885_BOARD_GOTVIEW_X5_3D_HYBRID 29 86#define CX23885_BOARD_GOTVIEW_X5_3D_HYBRID 29
87#define CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF 30 87#define CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF 30
88#define CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H_XC4000 31 88#define CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H_XC4000 31
89#define CX23885_BOARD_MPX885 32
89 90
90#define GPIO_0 0x00000001 91#define GPIO_0 0x00000001
91#define GPIO_1 0x00000002 92#define GPIO_1 0x00000002