From 1cba77c16309e14565d4006bb4373a4866278663 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Wed, 12 Oct 2011 18:39:53 +0100 Subject: [PATCH] ASoC: Update WM5100 accessory detection for revision A Signed-off-by: Mark Brown --- sound/soc/codecs/wm5100.c | 3 +++ sound/soc/codecs/wm5100.h | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c index 02c011d7512e..5d88c99aaea6 100644 --- a/sound/soc/codecs/wm5100.c +++ b/sound/soc/codecs/wm5100.c @@ -2132,6 +2132,9 @@ static void wm5100_set_detect_mode(struct snd_soc_codec *codec, int the_mode) WM5100_ACCDET_SRC, (mode->bias << WM5100_ACCDET_BIAS_SRC_SHIFT) | mode->micd_src << WM5100_ACCDET_SRC_SHIFT); + snd_soc_update_bits(codec, WM5100_MISC_CONTROL, + WM5100_HPCOM_SRC, + mode->micd_src << WM5100_HPCOM_SRC_SHIFT); wm5100->jack_mode = the_mode; diff --git a/sound/soc/codecs/wm5100.h b/sound/soc/codecs/wm5100.h index fa32b1246373..970759636bdc 100644 --- a/sound/soc/codecs/wm5100.h +++ b/sound/soc/codecs/wm5100.h @@ -96,6 +96,7 @@ int wm5100_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack); #define WM5100_MIC_DETECT_1 0x290 #define WM5100_MIC_DETECT_2 0x291 #define WM5100_MIC_DETECT_3 0x292 +#define WM5100_MISC_CONTROL 0x2BB #define WM5100_INPUT_ENABLES 0x301 #define WM5100_INPUT_ENABLES_STATUS 0x302 #define WM5100_IN1L_CONTROL 0x310 @@ -1388,6 +1389,12 @@ int wm5100_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack); #define WM5100_ACCDET_STS_SHIFT 0 /* ACCDET_STS */ #define WM5100_ACCDET_STS_WIDTH 1 /* ACCDET_STS */ +/* + * R699 (0x2BB) - Misc Control + */ +#define WM5100_HPCOM_SRC 0x200 /* HPCOM_SRC */ +#define WM5100_HPCOM_SRC_SHIFT 9 /* HPCOM_SRC */ + /* * R769 (0x301) - Input Enables */