aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88
diff options
context:
space:
mode:
authorDarron Broad <darron@kewl.org>2008-10-11 10:49:30 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-17 16:24:22 -0400
commit923ac7f7d76116f4dd8d543f398e4811d2b1a30e (patch)
tree897dad1ed5ab73a268da230ba0c7fb69ad963df6 /drivers/media/video/cx88
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>
Diffstat (limited to 'drivers/media/video/cx88')
-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 3ef49c7a2514..6986844e33c8 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[] = {
1277 .tuner_addr = ADDR_UNSET, 1277 .tuner_addr = ADDR_UNSET,
1278 .radio_addr = ADDR_UNSET, 1278 .radio_addr = ADDR_UNSET,
1279 .tda9887_conf = TDA9887_PRESENT, 1279 .tda9887_conf = TDA9887_PRESENT,
1280 .audio_chip = V4L2_IDENT_WM8775,
1280 .input = {{ 1281 .input = {{
1281 .type = CX88_VMUX_TELEVISION, 1282 .type = CX88_VMUX_TELEVISION,
1282 .vmux = 0, 1283 .vmux = 0,
1283 .gpio0 = 0x84bf, 1284 .gpio0 = 0x84bf,
1285 .audioroute = 1,
1284 },{ 1286 },{
1285 .type = CX88_VMUX_COMPOSITE1, 1287 .type = CX88_VMUX_COMPOSITE1,
1286 .vmux = 1, 1288 .vmux = 1,
1287 .gpio0 = 0x84bf, 1289 .gpio0 = 0x84bf,
1290 .audioroute = 2,
1288 },{ 1291 },{
1289 .type = CX88_VMUX_SVIDEO, 1292 .type = CX88_VMUX_SVIDEO,
1290 .vmux = 2, 1293 .vmux = 2,
1291 .gpio0 = 0x84bf, 1294 .gpio0 = 0x84bf,
1295 .audioroute = 2,
1292 }}, 1296 }},
1293 .mpeg = CX88_MPEG_DVB, 1297 .mpeg = CX88_MPEG_DVB,
1294 .num_frontends = 2, 1298 .num_frontends = 2,
@@ -1717,6 +1721,7 @@ static const struct cx88_board cx88_boards[] = {
1717 .tuner_addr = ADDR_UNSET, 1721 .tuner_addr = ADDR_UNSET,
1718 .radio_addr = ADDR_UNSET, 1722 .radio_addr = ADDR_UNSET,
1719 .tda9887_conf = TDA9887_PRESENT, 1723 .tda9887_conf = TDA9887_PRESENT,
1724 .audio_chip = V4L2_IDENT_WM8775,
1720 /* 1725 /*
1721 * GPIO0 (WINTV2000) 1726 * GPIO0 (WINTV2000)
1722 * 1727 *
@@ -1751,14 +1756,17 @@ static const struct cx88_board cx88_boards[] = {
1751 .type = CX88_VMUX_TELEVISION, 1756 .type = CX88_VMUX_TELEVISION,
1752 .vmux = 0, 1757 .vmux = 0,
1753 .gpio0 = 0xc4bf, 1758 .gpio0 = 0xc4bf,
1759 .audioroute = 1,
1754 }, { 1760 }, {
1755 .type = CX88_VMUX_COMPOSITE1, 1761 .type = CX88_VMUX_COMPOSITE1,
1756 .vmux = 1, 1762 .vmux = 1,
1757 .gpio0 = 0xc4bf, 1763 .gpio0 = 0xc4bf,
1764 .audioroute = 2,
1758 }, { 1765 }, {
1759 .type = CX88_VMUX_SVIDEO, 1766 .type = CX88_VMUX_SVIDEO,
1760 .vmux = 2, 1767 .vmux = 2,
1761 .gpio0 = 0xc4bf, 1768 .gpio0 = 0xc4bf,
1769 .audioroute = 2,
1762 } }, 1770 } },
1763 /* fixme: Add radio support */ 1771 /* fixme: Add radio support */
1764 .mpeg = CX88_MPEG_DVB, 1772 .mpeg = CX88_MPEG_DVB,
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index 063f7b57e42a..100ffc4b5d90 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -247,7 +247,7 @@ struct cx88_input {
247 enum cx88_itype type; 247 enum cx88_itype type;
248 u32 gpio0, gpio1, gpio2, gpio3; 248 u32 gpio0, gpio1, gpio2, gpio3;
249 unsigned int vmux:2; 249 unsigned int vmux:2;
250 unsigned int audioroute:2; 250 unsigned int audioroute:4;
251}; 251};
252 252
253struct cx88_board { 253struct cx88_board {