aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarron Broad <darron@kewl.org>2008-10-11 11:49:30 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-17 17:24:22 -0300
commit923ac7f7d76116f4dd8d543f398e4811d2b1a30e (patch)
tree897dad1ed5ab73a268da230ba0c7fb69ad963df6
parent59b1842da1c6f33ad2e8da82d3dfb3445751d964 (diff)
V4L/DVB (9228): cx88: Add audio routing for the hvr-3000/4000
This adds audio routing on the hvr-3000/4000 This is a preliminary patch for later routing requirements. This adds line-in support on the 2 cards mentioned. It is also apparent that there is an initial open fault for line-in when opening composite/s-video. This will be fixed later. It was also noticed that the bit-field for audio routing which was 2 bits needs an increase as the WM8775 for example, allows a value 4 bits wide for it's audio mux. Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/cx88/cx88-cards.c8
-rw-r--r--drivers/media/video/cx88/cx88.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 3ef49c7a251..6986844e33c 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1277,18 +1277,22 @@ static const struct cx88_board cx88_boards[] = {
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
+ .audio_chip = V4L2_IDENT_WM8775,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
.gpio0 = 0x84bf,
+ .audioroute = 1,
},{
.type = CX88_VMUX_COMPOSITE1,
.vmux = 1,
.gpio0 = 0x84bf,
+ .audioroute = 2,
},{
.type = CX88_VMUX_SVIDEO,
.vmux = 2,
.gpio0 = 0x84bf,
+ .audioroute = 2,
}},
.mpeg = CX88_MPEG_DVB,
.num_frontends = 2,
@@ -1717,6 +1721,7 @@ static const struct cx88_board cx88_boards[] = {
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
+ .audio_chip = V4L2_IDENT_WM8775,
/*
* GPIO0 (WINTV2000)
*
@@ -1751,14 +1756,17 @@ static const struct cx88_board cx88_boards[] = {
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
.gpio0 = 0xc4bf,
+ .audioroute = 1,
}, {
.type = CX88_VMUX_COMPOSITE1,
.vmux = 1,
.gpio0 = 0xc4bf,
+ .audioroute = 2,
}, {
.type = CX88_VMUX_SVIDEO,
.vmux = 2,
.gpio0 = 0xc4bf,
+ .audioroute = 2,
} },
/* fixme: Add radio support */
.mpeg = CX88_MPEG_DVB,
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index 063f7b57e42..100ffc4b5d9 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -247,7 +247,7 @@ struct cx88_input {
enum cx88_itype type;
u32 gpio0, gpio1, gpio2, gpio3;
unsigned int vmux:2;
- unsigned int audioroute:2;
+ unsigned int audioroute:4;
};
struct cx88_board {