Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 923ac7f7 authored by Darron Broad's avatar Darron Broad Committed by Mauro Carvalho Chehab
Browse files

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: default avatarDarron Broad <darron@kewl.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 59b1842d
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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 {