aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-10-21 21:24:49 -0700
committerArve Hjønnevåg <arve@android.com>2011-11-17 17:51:31 -0800
commita7f7af3ac651cddd95d26508cd9ec186e9e96c51 (patch)
tree1ca7e9331b3756c21622f089afc4d63220b372f0 /sound
parenta3022a489d100be357fbcf748eca8056adb06767 (diff)
downloadkernel_samsung_crespo-a7f7af3ac651cddd95d26508cd9ec186e9e96c51.zip
kernel_samsung_crespo-a7f7af3ac651cddd95d26508cd9ec186e9e96c51.tar.gz
kernel_samsung_crespo-a7f7af3ac651cddd95d26508cd9ec186e9e96c51.tar.bz2
ASoC: Tweak gains for voice recognition
The signal level was observed to be very low when doing recordings for voice recognition from headphone sources, and also from main microphone. Change this by: - Increasing the gain for headphone case, applying an additional 3dB in the mic preamp and +30dB from the input mixer. - Removing +6dB digital gain for main mic (since digital gain will only increase the signal level, not recover extra information after ADC has quantized the data). - Updating main mic analogue settings to match normal record for an aggregate change from 21dB to 40.5dB. The most observable user level effect of the above being that the signal meter displayed by the voice search application registers a fairly clear signal while previously the signal levels appeared very flat. Change-Id: I3beaf70ab7649f678e105fa75cd09f2a80749f99 Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8994_herring.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sound/soc/codecs/wm8994_herring.c b/sound/soc/codecs/wm8994_herring.c
index 68dcf18..0650755 100644
--- a/sound/soc/codecs/wm8994_herring.c
+++ b/sound/soc/codecs/wm8994_herring.c
@@ -408,32 +408,32 @@ struct gain_info_t recording_gain_table[RECORDING_GAIN_NUM] = {
.mode = RECORDING_REC_MAIN,
.reg = WM8994_LEFT_LINE_INPUT_1_2_VOLUME, /* 18h */
.mask = WM8994_IN1L_VOL_MASK,
- .gain = WM8994_IN1L_VU | 0x1C
+ .gain = WM8994_IN1L_VU | 0x12 /* 10.5dB */
}, {
.mode = RECORDING_REC_MAIN,
.reg = WM8994_INPUT_MIXER_3, /* 29h */
.mask = WM8994_IN1L_MIXINL_VOL_MASK | WM8994_MIXOUTL_MIXINL_VOL_MASK,
- .gain = 0x0
+ .gain = 0x10 /* 30dB */
}, {
.mode = RECORDING_REC_MAIN,
.reg = WM8994_AIF1_ADC1_LEFT_VOLUME, /* 400h */
.mask = WM8994_AIF1ADC1L_VOL_MASK,
- .gain = WM8994_AIF1ADC1_VU | 0xD0 /* +6dB */
+ .gain = WM8994_AIF1ADC1_VU | 0xc0 /* +0dB */
}, {
.mode = RECORDING_REC_MAIN,
.reg = WM8994_AIF1_ADC1_RIGHT_VOLUME, /* 401h */
.mask = WM8994_AIF1ADC1R_VOL_MASK,
- .gain = WM8994_AIF1ADC1_VU | 0xD0 /* +6dB */
+ .gain = WM8994_AIF1ADC1_VU | 0xc0 /* +0dB */
}, { /* RECOGNITION_HP */
.mode = RECORDING_REC_HP,
.reg = WM8994_RIGHT_LINE_INPUT_1_2_VOLUME, /* 1Ah */
.mask = WM8994_IN1R_VOL_MASK,
- .gain = WM8994_IN1R_VU | 0x10
+ .gain = WM8994_IN1R_VU | 0x12 /* +10.5dB */
}, {
.mode = RECORDING_REC_HP,
.reg = WM8994_INPUT_MIXER_4, /* 2Ah */
.mask = WM8994_IN1R_MIXINR_VOL_MASK | WM8994_MIXOUTR_MIXINR_VOL_MASK,
- .gain = 0x0
+ .gain = 0x10 /* +30dB */
}, {
.mode = RECORDING_REC_HP,
.reg = WM8994_AIF1_ADC1_LEFT_VOLUME, /* 400h */