Browse Source

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>
Darron Broad 16 years ago
parent
commit
923ac7f7d7
2 changed files with 9 additions and 1 deletions
  1. 8 0
      drivers/media/video/cx88/cx88-cards.c
  2. 1 1
      drivers/media/video/cx88/cx88.h

+ 8 - 0
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,

+ 1 - 1
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 {