diff options
| -rw-r--r-- | sound/soc/codecs/wm8960.c | 26 | ||||
| -rw-r--r-- | sound/soc/codecs/wm8962.c | 3 |
2 files changed, 20 insertions, 9 deletions
diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c index e3b7d0c57411..dbd88408861a 100644 --- a/sound/soc/codecs/wm8960.c +++ b/sound/soc/codecs/wm8960.c | |||
| @@ -211,28 +211,38 @@ static int wm8960_put_deemph(struct snd_kcontrol *kcontrol, | |||
| 211 | return wm8960_set_deemph(codec); | 211 | return wm8960_set_deemph(codec); |
| 212 | } | 212 | } |
| 213 | 213 | ||
| 214 | static const DECLARE_TLV_DB_SCALE(adc_tlv, -9700, 50, 0); | 214 | static const DECLARE_TLV_DB_SCALE(adc_tlv, -9750, 50, 1); |
| 215 | static const DECLARE_TLV_DB_SCALE(dac_tlv, -12700, 50, 1); | 215 | static const DECLARE_TLV_DB_SCALE(inpga_tlv, -1725, 75, 0); |
| 216 | static const DECLARE_TLV_DB_SCALE(dac_tlv, -12750, 50, 1); | ||
| 216 | static const DECLARE_TLV_DB_SCALE(bypass_tlv, -2100, 300, 0); | 217 | static const DECLARE_TLV_DB_SCALE(bypass_tlv, -2100, 300, 0); |
| 217 | static const DECLARE_TLV_DB_SCALE(out_tlv, -12100, 100, 1); | 218 | static const DECLARE_TLV_DB_SCALE(out_tlv, -12100, 100, 1); |
| 218 | static const DECLARE_TLV_DB_SCALE(boost_tlv, -1200, 300, 1); | 219 | static const DECLARE_TLV_DB_SCALE(lineinboost_tlv, -1500, 300, 1); |
| 220 | static const unsigned int micboost_tlv[] = { | ||
| 221 | TLV_DB_RANGE_HEAD(2), | ||
| 222 | 0, 1, TLV_DB_SCALE_ITEM(0, 1300, 0), | ||
| 223 | 2, 3, TLV_DB_SCALE_ITEM(2000, 900, 0), | ||
| 224 | }; | ||
| 219 | 225 | ||
| 220 | static const struct snd_kcontrol_new wm8960_snd_controls[] = { | 226 | static const struct snd_kcontrol_new wm8960_snd_controls[] = { |
| 221 | SOC_DOUBLE_R_TLV("Capture Volume", WM8960_LINVOL, WM8960_RINVOL, | 227 | SOC_DOUBLE_R_TLV("Capture Volume", WM8960_LINVOL, WM8960_RINVOL, |
| 222 | 0, 63, 0, adc_tlv), | 228 | 0, 63, 0, inpga_tlv), |
| 223 | SOC_DOUBLE_R("Capture Volume ZC Switch", WM8960_LINVOL, WM8960_RINVOL, | 229 | SOC_DOUBLE_R("Capture Volume ZC Switch", WM8960_LINVOL, WM8960_RINVOL, |
| 224 | 6, 1, 0), | 230 | 6, 1, 0), |
| 225 | SOC_DOUBLE_R("Capture Switch", WM8960_LINVOL, WM8960_RINVOL, | 231 | SOC_DOUBLE_R("Capture Switch", WM8960_LINVOL, WM8960_RINVOL, |
| 226 | 7, 1, 0), | 232 | 7, 1, 0), |
| 227 | 233 | ||
| 228 | SOC_SINGLE_TLV("Right Input Boost Mixer RINPUT3 Volume", | 234 | SOC_SINGLE_TLV("Right Input Boost Mixer RINPUT3 Volume", |
| 229 | WM8960_INBMIX1, 4, 7, 0, boost_tlv), | 235 | WM8960_INBMIX1, 4, 7, 0, lineinboost_tlv), |
| 230 | SOC_SINGLE_TLV("Right Input Boost Mixer RINPUT2 Volume", | 236 | SOC_SINGLE_TLV("Right Input Boost Mixer RINPUT2 Volume", |
| 231 | WM8960_INBMIX1, 1, 7, 0, boost_tlv), | 237 | WM8960_INBMIX1, 1, 7, 0, lineinboost_tlv), |
| 232 | SOC_SINGLE_TLV("Left Input Boost Mixer LINPUT3 Volume", | 238 | SOC_SINGLE_TLV("Left Input Boost Mixer LINPUT3 Volume", |
| 233 | WM8960_INBMIX2, 4, 7, 0, boost_tlv), | 239 | WM8960_INBMIX2, 4, 7, 0, lineinboost_tlv), |
| 234 | SOC_SINGLE_TLV("Left Input Boost Mixer LINPUT2 Volume", | 240 | SOC_SINGLE_TLV("Left Input Boost Mixer LINPUT2 Volume", |
| 235 | WM8960_INBMIX2, 1, 7, 0, boost_tlv), | 241 | WM8960_INBMIX2, 1, 7, 0, lineinboost_tlv), |
| 242 | SOC_SINGLE_TLV("Right Input Boost Mixer RINPUT1 Volume", | ||
| 243 | WM8960_RINPATH, 4, 3, 0, micboost_tlv), | ||
| 244 | SOC_SINGLE_TLV("Left Input Boost Mixer LINPUT1 Volume", | ||
| 245 | WM8960_LINPATH, 4, 3, 0, micboost_tlv), | ||
| 236 | 246 | ||
| 237 | SOC_DOUBLE_R_TLV("Playback Volume", WM8960_LDAC, WM8960_RDAC, | 247 | SOC_DOUBLE_R_TLV("Playback Volume", WM8960_LDAC, WM8960_RDAC, |
| 238 | 0, 255, 0, dac_tlv), | 248 | 0, 255, 0, dac_tlv), |
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index b4eb975da981..293e47a6ff59 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c | |||
| @@ -2944,7 +2944,8 @@ static int wm8962_mute(struct snd_soc_dai *dai, int mute) | |||
| 2944 | WM8962_DAC_MUTE, val); | 2944 | WM8962_DAC_MUTE, val); |
| 2945 | } | 2945 | } |
| 2946 | 2946 | ||
| 2947 | #define WM8962_RATES SNDRV_PCM_RATE_8000_96000 | 2947 | #define WM8962_RATES (SNDRV_PCM_RATE_8000_48000 |\ |
| 2948 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000) | ||
| 2948 | 2949 | ||
| 2949 | #define WM8962_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\ | 2950 | #define WM8962_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\ |
| 2950 | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE) | 2951 | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE) |
