Lines Matching +full:mixer +full:- +full:mode

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * ak4671.c -- audio driver for AK4671
119 * from -24 to 6 dB in 6 dB steps (mute instead of -30 dB)
121 static DECLARE_TLV_DB_SCALE(out1_tlv, -3000, 600, 1);
125 * from -33 to 6 dB in 3 dB steps (mute instead of -33 dB)
127 static DECLARE_TLV_DB_SCALE(out2_tlv, -3300, 300, 1);
131 * from -6 to 3 dB in 3 dB steps
133 static DECLARE_TLV_DB_SCALE(out3_tlv, -600, 300, 0);
137 * from -15 to 30 dB in 3 dB steps
138 * REVISIT: The actual min value(0x01) is -12 dB and the reg value 0x00 is not
141 static DECLARE_TLV_DB_SCALE(mic_amp_tlv, -1500, 300, 0);
161 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in ak4671_out2_event()
304 SND_SOC_DAPM_MIXER("LOUT1 Mixer", AK4671_LOUT1_POWER_MANAGERMENT, 0, 0,
307 SND_SOC_DAPM_MIXER("ROUT1 Mixer", AK4671_LOUT1_POWER_MANAGERMENT, 1, 0,
310 SND_SOC_DAPM_MIXER_E("LOUT2 Mixer", AK4671_LOUT2_POWER_MANAGERMENT,
315 SND_SOC_DAPM_MIXER_E("ROUT2 Mixer", AK4671_LOUT2_POWER_MANAGERMENT,
320 SND_SOC_DAPM_MIXER("LOUT3 Mixer", AK4671_LOUT3_POWER_MANAGERMENT, 0, 0,
323 SND_SOC_DAPM_MIXER("ROUT3 Mixer", AK4671_LOUT3_POWER_MANAGERMENT, 1, 0,
347 {"LOUT1", NULL, "LOUT1 Mixer"},
348 {"ROUT1", NULL, "ROUT1 Mixer"},
351 {"LOUT3", NULL, "LOUT3 Mixer"},
352 {"ROUT3", NULL, "ROUT3 Mixer"},
354 {"LOUT1 Mixer", "DACL", "DAC Left"},
355 {"ROUT1 Mixer", "DACR", "DAC Right"},
356 {"LOUT2 Mixer", "DACHL", "DAC Left"},
357 {"ROUT2 Mixer", "DACHR", "DAC Right"},
358 {"LOUT2 Mix Amp", NULL, "LOUT2 Mixer"},
359 {"ROUT2 Mix Amp", NULL, "ROUT2 Mixer"},
360 {"LOUT3 Mixer", "DACSL", "DAC Left"},
361 {"ROUT3 Mixer", "DACSR", "DAC Right"},
392 {"LOUT1 Mixer", "LINL1", "LIN1 Mixing Circuit"},
393 {"ROUT1 Mixer", "RINR1", "RIN1 Mixing Circuit"},
394 {"LOUT2 Mixer", "LINH1", "LIN1 Mixing Circuit"},
395 {"ROUT2 Mixer", "RINH1", "RIN1 Mixing Circuit"},
396 {"LOUT3 Mixer", "LINS1", "LIN1 Mixing Circuit"},
397 {"ROUT3 Mixer", "RINS1", "RIN1 Mixing Circuit"},
399 {"LOUT1 Mixer", "LINL2", "LIN2 Mixing Circuit"},
400 {"ROUT1 Mixer", "RINR2", "RIN2 Mixing Circuit"},
401 {"LOUT2 Mixer", "LINH2", "LIN2 Mixing Circuit"},
402 {"ROUT2 Mixer", "RINH2", "RIN2 Mixing Circuit"},
403 {"LOUT3 Mixer", "LINS2", "LIN2 Mixing Circuit"},
404 {"ROUT3 Mixer", "RINS2", "RIN2 Mixing Circuit"},
406 {"LOUT1 Mixer", "LINL3", "LIN3 Mixing Circuit"},
407 {"ROUT1 Mixer", "RINR3", "RIN3 Mixing Circuit"},
408 {"LOUT2 Mixer", "LINH3", "LIN3 Mixing Circuit"},
409 {"ROUT2 Mixer", "RINH3", "RIN3 Mixing Circuit"},
410 {"LOUT3 Mixer", "LINS3", "LIN3 Mixing Circuit"},
411 {"ROUT3 Mixer", "RINS3", "RIN3 Mixing Circuit"},
413 {"LOUT1 Mixer", "LINL4", "LIN4 Mixing Circuit"},
414 {"ROUT1 Mixer", "RINR4", "RIN4 Mixing Circuit"},
415 {"LOUT2 Mixer", "LINH4", "LIN4 Mixing Circuit"},
416 {"ROUT2 Mixer", "RINH4", "RIN4 Mixing Circuit"},
417 {"LOUT3 Mixer", "LINS4", "LIN4 Mixing Circuit"},
418 {"ROUT3 Mixer", "RINS4", "RIN4 Mixing Circuit"},
425 struct snd_soc_component *component = dai->component; in ak4671_hw_params()
460 return -EINVAL; in ak4671_hw_params()
471 struct snd_soc_component *component = dai->component; in ak4671_set_dai_sysclk()
506 return -EINVAL; in ak4671_set_dai_sysclk()
516 struct snd_soc_component *component = dai->component; in ak4671_set_dai_fmt()
517 u8 mode; in ak4671_set_dai_fmt() local
521 mode = snd_soc_component_read(component, AK4671_PLL_MODE_SELECT1); in ak4671_set_dai_fmt()
525 mode |= AK4671_M_S; in ak4671_set_dai_fmt()
528 mode &= ~(AK4671_M_S); in ak4671_set_dai_fmt()
531 return -EINVAL; in ak4671_set_dai_fmt()
551 return -EINVAL; in ak4671_set_dai_fmt()
554 /* set mode and format */ in ak4671_set_dai_fmt()
555 snd_soc_component_write(component, AK4671_PLL_MODE_SELECT1, mode); in ak4671_set_dai_fmt()
592 .name = "ak4671-hifi",
639 dev_err(&client->dev, "Failed to create regmap: %d\n", ret); in ak4671_i2c_probe()
643 ret = devm_snd_soc_register_component(&client->dev, in ak4671_i2c_probe()
656 .name = "ak4671-codec",