summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-12 18:39:53 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-13 12:20:24 +0100
commit1cba77c16309e14565d4006bb4373a4866278663 (patch)
tree1b6b2b0b285ce2ac41b52fdbbf15b341c8b92523
parent7c04241acbdaf97f1448dcccd27ea0fcd1a57684 (diff)
downloadlinux-1cba77c16309e14565d4006bb4373a4866278663.tar.bz2
ASoC: Update WM5100 accessory detection for revision A
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/codecs/wm5100.c3
-rw-r--r--sound/soc/codecs/wm5100.h7
2 files changed, 10 insertions, 0 deletions
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
@@ -1389,6 +1390,12 @@ int wm5100_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack);
#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
*/
#define WM5100_IN4L_ENA 0x0080 /* IN4L_ENA */