Lines Matching +full:out +full:- +full:mono
1 // SPDX-License-Identifier: GPL-2.0-only
3 * wm8510.c -- WM8510 ALSA Soc Audio driver
113 static const char *wm8510_companding[] = { "Off", "NC", "u-law", "A-law" };
131 SOC_ENUM("Playback De-emphasis", wm8510_enum[2]),
173 SOC_SINGLE("Mono Playback Switch", WM8510_MONOMIX, 6, 1, 1),
183 /* Mono Output Mixer */
206 SND_SOC_DAPM_MIXER("Mono Mixer", WM8510_POWER3, 3, 0,
212 SND_SOC_DAPM_PGA("SpkN Out", WM8510_POWER3, 5, 0, NULL, 0),
213 SND_SOC_DAPM_PGA("SpkP Out", WM8510_POWER3, 6, 0, NULL, 0),
214 SND_SOC_DAPM_PGA("Mono Out", WM8510_POWER3, 7, 0, NULL, 0),
234 /* Mono output mixer */
235 {"Mono Mixer", "PCM Playback Switch", "DAC"},
236 {"Mono Mixer", "Aux Playback Switch", "Aux Input"},
237 {"Mono Mixer", "Line Bypass Switch", "Boost Mixer"},
245 {"Mono Out", NULL, "Mono Mixer"},
246 {"MONOOUT", NULL, "Mono Out"},
247 {"SpkN Out", NULL, "Speaker Mixer"},
248 {"SpkP Out", NULL, "Speaker Mixer"},
249 {"SPKOUTN", NULL, "SpkN Out"},
250 {"SPKOUTP", NULL, "SpkP Out"},
266 unsigned int pre_div:4; /* prescale - 1 */
316 struct snd_soc_component *component = codec_dai->component; in wm8510_set_dai_pll()
352 struct snd_soc_component *component = codec_dai->component; in wm8510_set_dai_clkdiv()
377 return -EINVAL; in wm8510_set_dai_clkdiv()
386 struct snd_soc_component *component = codec_dai->component; in wm8510_set_dai_fmt()
398 return -EINVAL; in wm8510_set_dai_fmt()
415 return -EINVAL; in wm8510_set_dai_fmt()
432 return -EINVAL; in wm8510_set_dai_fmt()
444 struct snd_soc_component *component = dai->component; in wm8510_pcm_hw_params()
492 struct snd_soc_component *component = dai->component; in wm8510_mute()
520 regcache_sync(wm8510->regmap); in wm8510_set_bias_level()
558 .name = "wm8510-hifi",
622 wm8510 = devm_kzalloc(&spi->dev, sizeof(struct wm8510_priv), in wm8510_spi_probe()
625 return -ENOMEM; in wm8510_spi_probe()
627 wm8510->regmap = devm_regmap_init_spi(spi, &wm8510_regmap); in wm8510_spi_probe()
628 if (IS_ERR(wm8510->regmap)) in wm8510_spi_probe()
629 return PTR_ERR(wm8510->regmap); in wm8510_spi_probe()
633 ret = devm_snd_soc_register_component(&spi->dev, in wm8510_spi_probe()
655 wm8510 = devm_kzalloc(&i2c->dev, sizeof(struct wm8510_priv), in wm8510_i2c_probe()
658 return -ENOMEM; in wm8510_i2c_probe()
660 wm8510->regmap = devm_regmap_init_i2c(i2c, &wm8510_regmap); in wm8510_i2c_probe()
661 if (IS_ERR(wm8510->regmap)) in wm8510_i2c_probe()
662 return PTR_ERR(wm8510->regmap); in wm8510_i2c_probe()
666 ret = devm_snd_soc_register_component(&i2c->dev, in wm8510_i2c_probe()