diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2010-10-12 00:39:25 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-10-12 05:59:11 -0400 |
commit | 1422408b34fd27ac7ab4a42e72d4b61553b6f631 (patch) | |
tree | f34113c8e57c91d73c1ca7bc28bd8356d2031911 /sound/soc/codecs | |
parent | fe3e2e7ff2da41bd7a985c4c206e05a95ebe7a6b (diff) |
ASoC: ak4642: simultaneous playback/recorde support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/ak4642.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/soc/codecs/ak4642.c b/sound/soc/codecs/ak4642.c index a95ff4f9f42c..009068f57375 100644 --- a/sound/soc/codecs/ak4642.c +++ b/sound/soc/codecs/ak4642.c | |||
@@ -220,7 +220,7 @@ static int ak4642_dai_startup(struct snd_pcm_substream *substream, | |||
220 | ak4642_write(codec, 0x0e, 0x19); | 220 | ak4642_write(codec, 0x0e, 0x19); |
221 | ak4642_write(codec, 0x09, 0x91); | 221 | ak4642_write(codec, 0x09, 0x91); |
222 | ak4642_write(codec, 0x0c, 0x91); | 222 | ak4642_write(codec, 0x0c, 0x91); |
223 | ak4642_write(codec, 0x00, 0x64); | 223 | snd_soc_update_bits(codec, 0x00, 0x64, 0x64); |
224 | snd_soc_update_bits(codec, PW_MGMT2, PMHP_MASK, PMHP); | 224 | snd_soc_update_bits(codec, PW_MGMT2, PMHP_MASK, PMHP); |
225 | snd_soc_update_bits(codec, PW_MGMT2, HPMTN, HPMTN); | 225 | snd_soc_update_bits(codec, PW_MGMT2, HPMTN, HPMTN); |
226 | } else { | 226 | } else { |
@@ -242,7 +242,7 @@ static int ak4642_dai_startup(struct snd_pcm_substream *substream, | |||
242 | ak4642_write(codec, 0x08, 0xe1); | 242 | ak4642_write(codec, 0x08, 0xe1); |
243 | ak4642_write(codec, 0x0b, 0x00); | 243 | ak4642_write(codec, 0x0b, 0x00); |
244 | ak4642_write(codec, 0x07, 0x21); | 244 | ak4642_write(codec, 0x07, 0x21); |
245 | ak4642_write(codec, 0x00, 0x41); | 245 | snd_soc_update_bits(codec, 0x00, 0x41, 0x41); |
246 | ak4642_write(codec, 0x10, 0x01); | 246 | ak4642_write(codec, 0x10, 0x01); |
247 | } | 247 | } |
248 | 248 | ||
@@ -259,12 +259,12 @@ static void ak4642_dai_shutdown(struct snd_pcm_substream *substream, | |||
259 | /* stop headphone output */ | 259 | /* stop headphone output */ |
260 | snd_soc_update_bits(codec, PW_MGMT2, HPMTN, 0); | 260 | snd_soc_update_bits(codec, PW_MGMT2, HPMTN, 0); |
261 | snd_soc_update_bits(codec, PW_MGMT2, PMHP_MASK, 0); | 261 | snd_soc_update_bits(codec, PW_MGMT2, PMHP_MASK, 0); |
262 | ak4642_write(codec, 0x00, 0x40); | 262 | snd_soc_update_bits(codec, 0x00, 0x64, 0x40); |
263 | ak4642_write(codec, 0x0e, 0x11); | 263 | ak4642_write(codec, 0x0e, 0x11); |
264 | ak4642_write(codec, 0x0f, 0x08); | 264 | ak4642_write(codec, 0x0f, 0x08); |
265 | } else { | 265 | } else { |
266 | /* stop stereo input */ | 266 | /* stop stereo input */ |
267 | ak4642_write(codec, 0x00, 0x40); | 267 | snd_soc_update_bits(codec, 0x00, 0x41, 0x40); |
268 | ak4642_write(codec, 0x10, 0x00); | 268 | ak4642_write(codec, 0x10, 0x00); |
269 | ak4642_write(codec, 0x07, 0x01); | 269 | ak4642_write(codec, 0x07, 0x01); |
270 | } | 270 | } |