diff options
author | Darron Broad <darron@kewl.org> | 2008-10-11 10:49:30 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-17 16:24:22 -0400 |
commit | 923ac7f7d76116f4dd8d543f398e4811d2b1a30e (patch) | |
tree | 897dad1ed5ab73a268da230ba0c7fb69ad963df6 /drivers/media/video/cx88 | |
parent | 59b1842da1c6f33ad2e8da82d3dfb3445751d964 (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.c | 8 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 2 |
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 | ||
253 | struct cx88_board { | 253 | struct cx88_board { |