Lines Matching +full:boost +full:- +full:bypass
2 * wm8974.c -- WM8974 ALSA Soc Audio driver
4 * Copyright 2006-2009 Wolfson Microelectronics PLC.
59 static const char *wm8974_companding[] = {"Off", "NC", "u-law", "A-law" };
95 static const DECLARE_TLV_DB_SCALE(digital_tlv, -12750, 50, 1);
96 static const DECLARE_TLV_DB_SCALE(eq_tlv, -1200, 100, 0);
97 static const DECLARE_TLV_DB_SCALE(inpga_tlv, -1200, 75, 0);
98 static const DECLARE_TLV_DB_SCALE(spk_tlv, -5700, 100, 0);
107 SOC_ENUM("Playback De-emphasis", wm8974_enum[2]),
143 SOC_SINGLE("DAC Playback Limiter Boost", WM8974_DACLIM2, 0, 15, 0),
169 SOC_SINGLE("Capture Boost(+20dB)", WM8974_ADCBOOST, 8, 1, 0),
179 SOC_DAPM_SINGLE("Line Bypass Switch", WM8974_SPKMIX, 1, 1, 0),
186 SOC_DAPM_SINGLE("Line Bypass Switch", WM8974_MONOMIX, 1, 1, 0),
191 /* Boost mixer */
203 /* AUX Input boost vol */
207 /* Mic Input boost vol */
227 SND_SOC_DAPM_MIXER("Boost Mixer", WM8974_POWER2, 4, 0,
244 {"Mono Mixer", "Line Bypass Switch", "Boost Mixer"},
249 {"Speaker Mixer", "Line Bypass Switch", "Boost Mixer"},
259 /* Boost Mixer */
260 {"ADC", NULL, "Boost Mixer"},
261 {"Boost Mixer", "Aux Switch", "Aux Input"},
262 {"Boost Mixer", NULL, "Input PGA"},
263 {"Boost Mixer", NULL, "MICP"},
296 pll_div->pre_div = 1; in pll_factors()
299 pll_div->pre_div = 0; in pll_factors()
306 pll_div->n = Ndiv; in pll_factors()
321 pll_div->k = K; in pll_factors()
327 struct snd_soc_component *component = codec_dai->component; in wm8974_set_dai_pll()
364 struct snd_soc_component *component = codec_dai->component; in wm8974_set_dai_clkdiv()
381 return -EINVAL; in wm8974_set_dai_clkdiv()
421 struct snd_soc_component *component = dai->component; in wm8974_update_clocks()
428 if (!priv->mclk || !priv->fs) in wm8974_update_clocks()
431 fs256 = 256 * priv->fs; in wm8974_update_clocks()
433 f = wm8974_get_mclkdiv(priv->mclk, fs256, &mclkdiv); in wm8974_update_clocks()
435 if (f != priv->mclk) { in wm8974_update_clocks()
440 wm8974_set_dai_pll(dai, 0, 0, priv->mclk, fpll); in wm8974_update_clocks()
449 struct snd_soc_component *component = dai->component; in wm8974_set_dai_sysclk()
453 return -EINVAL; in wm8974_set_dai_sysclk()
455 priv->mclk = freq; in wm8974_set_dai_sysclk()
463 struct snd_soc_component *component = codec_dai->component; in wm8974_set_dai_fmt()
475 return -EINVAL; in wm8974_set_dai_fmt()
492 return -EINVAL; in wm8974_set_dai_fmt()
509 return -EINVAL; in wm8974_set_dai_fmt()
521 struct snd_soc_component *component = dai->component; in wm8974_pcm_hw_params()
527 priv->fs = params_rate(params); in wm8974_pcm_hw_params()
576 struct snd_soc_component *component = dai->component; in wm8974_mute()
603 regcache_sync(dev_get_regmap(component->dev, NULL)); in wm8974_set_bias_level()
639 .name = "wm8974-hifi",
672 dev_err(component->dev, "Failed to issue reset\n"); in wm8974_probe()
702 priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL); in wm8974_i2c_probe()
704 return -ENOMEM; in wm8974_i2c_probe()
712 ret = devm_snd_soc_register_component(&i2c->dev, in wm8974_i2c_probe()