Lines Matching +full:out +full:- +full:mono
2 * wm8971.c -- WM8971 ALSA SoC Audio driver
103 static const char *wm8971_mono_mux[] = {"Stereo", "Mono (Left)",
104 "Mono (Right)", "Digital Mono"};
142 SOC_SINGLE("Mono Playback ZC Switch", WM8971_MOUTV, 7, 1, 0),
150 SOC_DOUBLE_R("Bypass Mono Playback Volume", WM8971_MOUTM1,
163 SOC_ENUM("Treble Cut-off", wm8971_enum[2]),
184 SOC_ENUM("Playback De-emphasis", wm8971_enum[5]),
211 /* Mono Mixer */
235 /* Mono ADC Mux */
246 SND_SOC_DAPM_MIXER("Mono Mixer", WM8971_PWR2, 2, 0,
250 SND_SOC_DAPM_PGA("Right Out 2", WM8971_PWR2, 3, 0, NULL, 0),
251 SND_SOC_DAPM_PGA("Left Out 2", WM8971_PWR2, 4, 0, NULL, 0),
252 SND_SOC_DAPM_PGA("Right Out 1", WM8971_PWR2, 5, 0, NULL, 0),
253 SND_SOC_DAPM_PGA("Left Out 1", WM8971_PWR2, 6, 0, NULL, 0),
256 SND_SOC_DAPM_PGA("Mono Out 1", WM8971_PWR2, 2, 0, NULL, 0),
280 SND_SOC_DAPM_OUTPUT("MONO"),
300 /* left out 1 */
301 {"Left Out 1", NULL, "Left Mixer"},
302 {"LOUT1", NULL, "Left Out 1"},
304 /* left out 2 */
305 {"Left Out 2", NULL, "Left Mixer"},
306 {"LOUT2", NULL, "Left Out 2"},
308 /* right out 1 */
309 {"Right Out 1", NULL, "Right Mixer"},
310 {"ROUT1", NULL, "Right Out 1"},
312 /* right out 2 */
313 {"Right Out 2", NULL, "Right Mixer"},
314 {"ROUT2", NULL, "Right Out 2"},
316 /* mono mixer */
317 {"Mono Mixer", "Left Playback Switch", "Left DAC"},
318 {"Mono Mixer", "Left Bypass Switch", "Left Line Mux"},
319 {"Mono Mixer", "Right Playback Switch", "Right DAC"},
320 {"Mono Mixer", "Right Bypass Switch", "Right Line Mux"},
322 /* mono out */
323 {"Mono Out", NULL, "Mono Mixer"},
324 {"MONO1", NULL, "Mono Out"},
351 {"Left ADC Mux", "Mono (Left)", "Left PGA Mux"},
352 {"Left ADC Mux", "Digital Mono", "Left PGA Mux"},
356 {"Right ADC Mux", "Mono (Right)", "Right PGA Mux"},
357 {"Right ADC Mux", "Digital Mono", "Right PGA Mux"},
430 return -EINVAL; in get_coeff()
436 struct snd_soc_component *component = codec_dai->component; in wm8971_set_dai_sysclk()
445 wm8971->sysclk = freq; in wm8971_set_dai_sysclk()
448 return -EINVAL; in wm8971_set_dai_sysclk()
454 struct snd_soc_component *component = codec_dai->component; in wm8971_set_dai_fmt()
465 return -EINVAL; in wm8971_set_dai_fmt()
485 return -EINVAL; in wm8971_set_dai_fmt()
502 return -EINVAL; in wm8971_set_dai_fmt()
513 struct snd_soc_component *component = dai->component; in wm8971_pcm_hw_params()
517 int coeff = get_coeff(wm8971->sysclk, params_rate(params)); in wm8971_pcm_hw_params()
545 struct snd_soc_component *component = dai->component; in wm8971_mute()
561 regmap_update_bits(wm8971->regmap, WM8971_PWR1, 0x0180, 0x0100); in wm8971_charge_work()
577 flush_delayed_work(&wm8971->charge_work); in wm8971_set_bias_level()
582 /* charge output caps - set vmid to 5k for quick power up */ in wm8971_set_bias_level()
585 &wm8971->charge_work, msecs_to_jiffies(1000)); in wm8971_set_bias_level()
593 cancel_delayed_work_sync(&wm8971->charge_work); in wm8971_set_bias_level()
615 .name = "wm8971-hifi",
635 INIT_DELAYED_WORK(&wm8971->charge_work, wm8971_charge_work); in wm8971_probe()
684 wm8971 = devm_kzalloc(&i2c->dev, sizeof(struct wm8971_priv), in wm8971_i2c_probe()
687 return -ENOMEM; in wm8971_i2c_probe()
689 wm8971->regmap = devm_regmap_init_i2c(i2c, &wm8971_regmap); in wm8971_i2c_probe()
690 if (IS_ERR(wm8971->regmap)) in wm8971_i2c_probe()
691 return PTR_ERR(wm8971->regmap); in wm8971_i2c_probe()
695 ret = devm_snd_soc_register_component(&i2c->dev, in wm8971_i2c_probe()