Lines Matching +full:4 +full:- +full:switch
1 // SPDX-License-Identifier: GPL-2.0-only
3 * ak4535.c -- AK4535 ALSA Soc Audio driver
42 { 4, 0x02 },
57 switch (reg) { in ak4535_volatile()
65 static const char *ak4535_mono_gain[] = {"+6dB", "-17dB"};
66 static const char *ak4535_mono_out[] = {"(L + R)/2", "Hi-Z"};
75 SOC_ENUM_SINGLE(AK4535_DAC, 0, 4, ak4535_deemp),
80 SOC_SINGLE("ALC2 Switch", AK4535_SIG1, 1, 1, 0),
86 SOC_SINGLE("Mic Boost (+20dB) Switch", AK4535_MIC, 0, 1, 0),
87 SOC_ENUM("Mic Select", ak4535_enum[4]),
90 SOC_SINGLE("ALC ZC Time", AK4535_TIMER, 4, 3, 0),
91 SOC_SINGLE("ALC 1 Switch", AK4535_ALC1, 5, 1, 0),
92 SOC_SINGLE("ALC 2 Switch", AK4535_ALC1, 6, 1, 0),
98 SOC_SINGLE("Mic Sidetone Volume", AK4535_VOL, 4, 7, 0),
103 SOC_DAPM_SINGLE("Mic Sidetone Switch", AK4535_SIG1, 4, 1, 0),
104 SOC_DAPM_SINGLE("Mono Playback Switch", AK4535_SIG1, 5, 1, 0),
109 SOC_DAPM_SINGLE("Mic Sidetone Switch", AK4535_SIG2, 4, 1, 0),
110 SOC_DAPM_SINGLE("Playback Switch", AK4535_SIG2, 7, 1, 0),
111 SOC_DAPM_SINGLE("Aux Bypass Switch", AK4535_SIG2, 5, 1, 0),
116 SOC_DAPM_SINGLE("Mic Capture Switch", AK4535_MIC, 2, 1, 0),
117 SOC_DAPM_SINGLE("Aux Capture Switch", AK4535_MIC, 5, 1, 0),
122 SOC_DAPM_ENUM("Input Select", ak4535_enum[4]);
124 /* HP L switch */
126 SOC_DAPM_SINGLE("Switch", AK4535_SIG2, 1, 1, 1);
128 /* HP R switch */
130 SOC_DAPM_SINGLE("Switch", AK4535_SIG2, 0, 1, 1);
132 /* mono 2 switch */
134 SOC_DAPM_SINGLE("Switch", AK4535_SIG1, 0, 1, 0);
136 /* Line out switch */
138 SOC_DAPM_SINGLE("Switch", AK4535_SIG2, 6, 1, 0);
178 SND_SOC_DAPM_PGA("Line Out", AK4535_PM1, 4, 0, NULL, 0),
183 SND_SOC_DAPM_MICBIAS("Mic Ext Bias", AK4535_MIC, 4, 0),
193 {"Stereo Mixer", "Playback Switch", "DAC"},
194 {"Stereo Mixer", "Mic Sidetone Switch", "Mic"},
195 {"Stereo Mixer", "Aux Bypass Switch", "AUX In"},
198 {"Mono1 Mixer", "Mic Sidetone Switch", "Mic"},
199 {"Mono1 Mixer", "Mono Playback Switch", "DAC"},
212 {"Line Out Enable", "Switch", "Line Out"},
221 {"Left HP Enable", "Switch", "HP L Amp"},
226 {"Right HP Enable", "Switch", "HP R Amp"},
232 {"Speaker Enable", "Switch", "Spk Amp"},
237 {"Mono 2 Enable", "Switch", "Stereo Mixer"},
244 {"Input Mixer", "Mic Capture Switch", "Mic"},
245 {"Input Mixer", "Aux Capture Switch", "Aux In"},
251 struct snd_soc_component *component = codec_dai->component; in ak4535_set_dai_sysclk()
254 ak4535->sysclk = freq; in ak4535_set_dai_sysclk()
262 struct snd_soc_component *component = dai->component; in ak4535_hw_params()
268 fs = ak4535->sysclk / rate; in ak4535_hw_params()
271 switch (fs) { in ak4535_hw_params()
290 struct snd_soc_component *component = codec_dai->component; in ak4535_set_dai_fmt()
294 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in ak4535_set_dai_fmt()
302 return -EINVAL; in ak4535_set_dai_fmt()
314 struct snd_soc_component *component = dai->component; in ak4535_mute()
327 switch (level) { in ak4535_set_bias_level()
358 .name = "ak4535-hifi",
412 ak4535 = devm_kzalloc(&i2c->dev, sizeof(struct ak4535_priv), in ak4535_i2c_probe()
415 return -ENOMEM; in ak4535_i2c_probe()
417 ak4535->regmap = devm_regmap_init_i2c(i2c, &ak4535_regmap); in ak4535_i2c_probe()
418 if (IS_ERR(ak4535->regmap)) { in ak4535_i2c_probe()
419 ret = PTR_ERR(ak4535->regmap); in ak4535_i2c_probe()
420 dev_err(&i2c->dev, "Failed to init regmap: %d\n", ret); in ak4535_i2c_probe()
426 ret = devm_snd_soc_register_component(&i2c->dev, in ak4535_i2c_probe()