Lines Matching +full:spi +full:- +full:mux
2 * wm8750.c -- WM8750 ALSA SoC audio driver
22 #include <linux/spi/spi.h>
148 SOC_ENUM("Playback De-emphasis", wm8750_enum[15]),
161 SOC_ENUM("Treble Cut-off", wm8750_enum[2]),
165 SOC_ENUM("3D Lower Cut-off", wm8750_enum[3]),
166 SOC_ENUM("3D Upper Cut-off", wm8750_enum[4]),
189 /* ADCDAC Bit 0 - ADCHPD */
190 /* ADCDAC Bit 4 - HPOR */
191 /* ADCTL1 Bit 2,3 - DATSEL */
192 /* ADCTL1 Bit 4,5 - DMONOMIX */
193 /* ADCTL1 Bit 6,7 - VSEL */
194 /* ADCTL2 Bit 2 - LRCM */
195 /* ADCTL2 Bit 3 - TRI */
196 /* ADCTL3 Bit 5 - HPFLREN */
197 /* ADCTL3 Bit 6 - VROI */
198 /* ADCTL3 Bit 7,8 - ADCLRM */
199 /* ADCIN Bit 4 - LDCM */
200 /* ADCIN Bit 5 - RDCM */
250 /* Left Line Mux */
254 /* Right Line Mux */
258 /* Left PGA Mux */
262 /* Right PGA Mux */
266 /* Out 3 Mux */
270 /* Differential Mux */
274 /* Mono ADC Mux */
300 SND_SOC_DAPM_MUX("Left PGA Mux", WM8750_PWR1, 5, 0,
302 SND_SOC_DAPM_MUX("Right PGA Mux", WM8750_PWR1, 4, 0,
304 SND_SOC_DAPM_MUX("Left Line Mux", SND_SOC_NOPM, 0, 0,
306 SND_SOC_DAPM_MUX("Right Line Mux", SND_SOC_NOPM, 0, 0,
309 SND_SOC_DAPM_MUX("Out3 Mux", SND_SOC_NOPM, 0, 0, &wm8750_out3_controls),
313 SND_SOC_DAPM_MUX("Differential Mux", SND_SOC_NOPM, 0, 0,
315 SND_SOC_DAPM_MUX("Left ADC Mux", SND_SOC_NOPM, 0, 0,
317 SND_SOC_DAPM_MUX("Right ADC Mux", SND_SOC_NOPM, 0, 0,
339 {"Left Mixer", "Left Bypass Switch", "Left Line Mux"},
341 {"Left Mixer", "Right Bypass Switch", "Right Line Mux"},
345 {"Right Mixer", "Left Bypass Switch", "Left Line Mux"},
347 {"Right Mixer", "Right Bypass Switch", "Right Line Mux"},
367 {"Mono Mixer", "Left Bypass Switch", "Left Line Mux"},
369 {"Mono Mixer", "Right Bypass Switch", "Right Line Mux"},
376 {"Out3 Mux", "VREF", "VREF"},
377 {"Out3 Mux", "ROUT1 + Vol", "ROUT1"},
378 {"Out3 Mux", "ROUT1", "Right Mixer"},
379 {"Out3 Mux", "MonoOut", "MONO1"},
380 {"Out 3", NULL, "Out3 Mux"},
383 /* Left Line Mux */
384 {"Left Line Mux", "Line 1", "LINPUT1"},
385 {"Left Line Mux", "Line 2", "LINPUT2"},
386 {"Left Line Mux", "Line 3", "LINPUT3"},
387 {"Left Line Mux", "PGA", "Left PGA Mux"},
388 {"Left Line Mux", "Differential", "Differential Mux"},
390 /* Right Line Mux */
391 {"Right Line Mux", "Line 1", "RINPUT1"},
392 {"Right Line Mux", "Line 2", "RINPUT2"},
393 {"Right Line Mux", "Line 3", "RINPUT3"},
394 {"Right Line Mux", "PGA", "Right PGA Mux"},
395 {"Right Line Mux", "Differential", "Differential Mux"},
397 /* Left PGA Mux */
398 {"Left PGA Mux", "Line 1", "LINPUT1"},
399 {"Left PGA Mux", "Line 2", "LINPUT2"},
400 {"Left PGA Mux", "Line 3", "LINPUT3"},
401 {"Left PGA Mux", "Differential", "Differential Mux"},
403 /* Right PGA Mux */
404 {"Right PGA Mux", "Line 1", "RINPUT1"},
405 {"Right PGA Mux", "Line 2", "RINPUT2"},
406 {"Right PGA Mux", "Line 3", "RINPUT3"},
407 {"Right PGA Mux", "Differential", "Differential Mux"},
409 /* Differential Mux */
410 {"Differential Mux", "Line 1", "LINPUT1"},
411 {"Differential Mux", "Line 1", "RINPUT1"},
412 {"Differential Mux", "Line 2", "LINPUT2"},
413 {"Differential Mux", "Line 2", "RINPUT2"},
415 /* Left ADC Mux */
416 {"Left ADC Mux", "Stereo", "Left PGA Mux"},
417 {"Left ADC Mux", "Mono (Left)", "Left PGA Mux"},
418 {"Left ADC Mux", "Digital Mono", "Left PGA Mux"},
420 /* Right ADC Mux */
421 {"Right ADC Mux", "Stereo", "Right PGA Mux"},
422 {"Right ADC Mux", "Mono (Right)", "Right PGA Mux"},
423 {"Right ADC Mux", "Digital Mono", "Right PGA Mux"},
426 {"Left ADC", NULL, "Left ADC Mux"},
427 {"Right ADC", NULL, "Right ADC Mux"},
499 return -EINVAL; in get_coeff()
505 struct snd_soc_component *component = codec_dai->component; in wm8750_set_dai_sysclk()
514 wm8750->sysclk = freq; in wm8750_set_dai_sysclk()
517 return -EINVAL; in wm8750_set_dai_sysclk()
523 struct snd_soc_component *component = codec_dai->component; in wm8750_set_dai_fmt()
534 return -EINVAL; in wm8750_set_dai_fmt()
554 return -EINVAL; in wm8750_set_dai_fmt()
571 return -EINVAL; in wm8750_set_dai_fmt()
582 struct snd_soc_component *component = dai->component; in wm8750_pcm_hw_params()
586 int coeff = get_coeff(wm8750->sysclk, params_rate(params)); in wm8750_pcm_hw_params()
614 struct snd_soc_component *component = dai->component; in wm8750_mute()
672 .name = "wm8750-hifi",
745 static int wm8750_spi_probe(struct spi_device *spi) in wm8750_spi_probe() argument
751 wm8750 = devm_kzalloc(&spi->dev, sizeof(struct wm8750_priv), in wm8750_spi_probe()
754 return -ENOMEM; in wm8750_spi_probe()
756 regmap = devm_regmap_init_spi(spi, &wm8750_regmap); in wm8750_spi_probe()
760 spi_set_drvdata(spi, wm8750); in wm8750_spi_probe()
762 ret = devm_snd_soc_register_component(&spi->dev, in wm8750_spi_probe()
772 MODULE_DEVICE_TABLE(spi, wm8750_spi_ids);
792 wm8750 = devm_kzalloc(&i2c->dev, sizeof(struct wm8750_priv), in wm8750_i2c_probe()
795 return -ENOMEM; in wm8750_i2c_probe()
803 ret = devm_snd_soc_register_component(&i2c->dev, in wm8750_i2c_probe()
838 printk(KERN_ERR "Failed to register wm8750 SPI driver: %d\n", in wm8750_modinit()