From 35487c093e0f915a007bd4f61207b193ab006253 Mon Sep 17 00:00:00 2001 From: Dmitri Belimov Date: Wed, 21 May 2008 03:16:52 -0300 Subject: [PATCH] --- yaml --- r: 103811 b: refs/heads/master c: f808a9e3cefd577d96d43d308685468c0a03185e h: refs/heads/master i: 103809: 533ea6b0fedb890281460e90e6f7e808f1829bfd 103807: 1a502094f451d2d8fa5577fee73cf24fc7b34a72 v: v3 --- [refs] | 2 +- .../drivers/media/video/saa7134/saa7134-reg.h | 1 + .../media/video/saa7134/saa7134-tvaudio.c | 24 ++++++++++++++----- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 052430017099..ad04ab084dc1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 53af158a901a32dd8639fbe03db5354ab711d8f0 +refs/heads/master: f808a9e3cefd577d96d43d308685468c0a03185e diff --git a/trunk/drivers/media/video/saa7134/saa7134-reg.h b/trunk/drivers/media/video/saa7134/saa7134-reg.h index 86f5eefdb0f6..258792c1784e 100644 --- a/trunk/drivers/media/video/saa7134/saa7134-reg.h +++ b/trunk/drivers/media/video/saa7134/saa7134-reg.h @@ -353,6 +353,7 @@ /* I2S output */ #define SAA7134_I2S_AUDIO_OUTPUT 0x1c0 +#define SAA7134_I2S_AUDIO_CONTROL 0x591 /* test modes */ #define SAA7134_SPECIAL_MODE 0x1d0 diff --git a/trunk/drivers/media/video/saa7134/saa7134-tvaudio.c b/trunk/drivers/media/video/saa7134/saa7134-tvaudio.c index 232af598d947..460d4a35e5f1 100644 --- a/trunk/drivers/media/video/saa7134/saa7134-tvaudio.c +++ b/trunk/drivers/media/video/saa7134/saa7134-tvaudio.c @@ -873,13 +873,25 @@ void saa7134_enable_i2s(struct saa7134_dev *dev) if (!card_is_empress(dev)) return; - i2s_format = (dev->input->amux == TV) ? 0x00 : 0x01; - /* enable I2S audio output for the mpeg encoder */ - saa_writeb(SAA7134_I2S_OUTPUT_SELECT, 0x80); - saa_writeb(SAA7134_I2S_OUTPUT_FORMAT, i2s_format); - saa_writeb(SAA7134_I2S_OUTPUT_LEVEL, 0x0F); - saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x01); + switch (dev->board) { + case SAA7134_BOARD_BEHOLD_M6: + /* configure GPIO for out audio */ + saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x0E000000, 0x00000000); + /* Set I2S format */ + saa_writeb(SAA7134_I2S_AUDIO_CONTROL, 0x00); + /* Start I2S */ + saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x11); + break; + default: + i2s_format = (dev->input->amux == TV) ? 0x00 : 0x01; + + /* enable I2S audio output for the mpeg encoder */ + saa_writeb(SAA7134_I2S_OUTPUT_SELECT, 0x80); + saa_writeb(SAA7134_I2S_OUTPUT_FORMAT, i2s_format); + saa_writeb(SAA7134_I2S_OUTPUT_LEVEL, 0x0F); + saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x01); + } } int saa7134_tvaudio_rx2mode(u32 rx)