diff options
author | Manoj Gangwal <mgangwal@nvidia.com> | 2014-01-29 11:15:48 +0530 |
---|---|---|
committer | Bharat Nihalani <bnihalani@nvidia.com> | 2014-03-03 21:03:55 -0800 |
commit | c511f3651ee4e2df2db4eb6c7e19d3f88c3dd3d0 (patch) | |
tree | 4c804c1b0eb417564759dce5978cf89a3d402267 /sound | |
parent | e0b90d9d7d9ff19bf054e86493c97ca521cc1eca (diff) |
Asoc:Alc5639: Fix HS det. issue in BIAS OFF state
- This is the fix for the IRQ based headset detection
in BIAS OFF state.
- Change the min codec state to BIAS OFF when it is
in idle.
Bug 1439253
Bug 1423334
Bug 1422595
Bug 1422552
Bug 1432969
Change-Id: If97867e5071a0c966eba6feec31836aba88a0c27
Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com>
Reviewed-on: http://git-master/r/361326
(cherry picked from commit 9822ab695fb87e5bbe5d264610dded10d9e6504c)
Reviewed-on: http://git-master/r/374087
Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/rt5639.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/soc/codecs/rt5639.c b/sound/soc/codecs/rt5639.c index 0378a2d5237a..7f2132a7dc72 100644 --- a/sound/soc/codecs/rt5639.c +++ b/sound/soc/codecs/rt5639.c @@ -51,7 +51,7 @@ static struct rt5639_init_reg init_list[] = { {RT5639_PRIV_INDEX ,0x001B}, //MX6A {RT5639_PRIV_DATA ,0x0200}, //MX6C - {RT5639_GEN_CTRL1 , 0x3f01},/* fa[12:13] = 1'b; + {RT5639_GEN_CTRL1 , 0x3b01},/* fa[12:13] = 1'b; fa[8~11]=1; fa[0]=1 */ {RT5639_ADDA_CLK1 , 0x1114},/* 73[2] = 1'b */ {RT5639_MICBIAS , 0x3030},/* 93[5:4] = 11'b */ @@ -520,7 +520,7 @@ int rt5639_headset_detect(struct snd_soc_codec *codec, int jack_insert) if (SND_SOC_BIAS_OFF == codec->dapm.bias_level) { snd_soc_write(codec, RT5639_PWR_ANLG1, 0xa814); snd_soc_write(codec, RT5639_MICBIAS, 0x3830); - snd_soc_write(codec, RT5639_GEN_CTRL1 , 0x3F01); + snd_soc_write(codec, RT5639_GEN_CTRL1 , 0x3b01); snd_soc_update_bits(codec, RT5639_GLB_CLK, RT5639_SCLK_SRC_MASK, 0x3 << RT5639_SCLK_SRC_SFT); @@ -2978,7 +2978,7 @@ static int rt5639_set_bias_level(struct snd_soc_codec *codec, snd_soc_update_bits(codec, RT5639_PWR_ANLG1, RT5639_PWR_FV1 | RT5639_PWR_FV2, RT5639_PWR_FV1 | RT5639_PWR_FV2); - snd_soc_write(codec, RT5639_GEN_CTRL1, 0x3F01); + snd_soc_write(codec, RT5639_GEN_CTRL1, 0x3b01); codec->cache_only = false; codec->cache_sync = 1; snd_soc_cache_sync(codec); @@ -2989,7 +2989,7 @@ static int rt5639_set_bias_level(struct snd_soc_codec *codec, case SND_SOC_BIAS_OFF: snd_soc_write(codec, RT5639_DEPOP_M1, 0x0004); snd_soc_write(codec, RT5639_DEPOP_M2, 0x1100); - snd_soc_write(codec, RT5639_GEN_CTRL1, 0x3F00); + snd_soc_write(codec, RT5639_GEN_CTRL1, 0x3b01); snd_soc_write(codec, RT5639_PWR_DIG1, 0x0000); snd_soc_write(codec, RT5639_PWR_DIG2, 0x0000); snd_soc_write(codec, RT5639_PWR_VOL, 0x0000); |