Lines Matching +full:de +full:- +full:emphasis

1 // SPDX-License-Identifier: GPL-2.0-or-later
36 #define PCM1681_DEEMPH_CONTROL 0x0a /* De-emphasis control */
84 int i, val = -1, enable = 0; in pcm1681_set_deemph()
86 if (priv->deemph) { in pcm1681_set_deemph()
88 if (pcm1681_deemph[i] == priv->rate) { in pcm1681_set_deemph()
95 if (val != -1) { in pcm1681_set_deemph()
96 regmap_update_bits(priv->regmap, PCM1681_DEEMPH_CONTROL, in pcm1681_set_deemph()
104 return regmap_update_bits(priv->regmap, PCM1681_DEEMPH_CONTROL, in pcm1681_set_deemph()
114 ucontrol->value.integer.value[0] = priv->deemph; in pcm1681_get_deemph()
125 priv->deemph = ucontrol->value.integer.value[0]; in pcm1681_put_deemph()
133 struct snd_soc_component *component = codec_dai->component; in pcm1681_set_dai_fmt()
138 dev_err(component->dev, "Invalid clocking mode\n"); in pcm1681_set_dai_fmt()
139 return -EINVAL; in pcm1681_set_dai_fmt()
142 priv->format = format; in pcm1681_set_dai_fmt()
149 struct snd_soc_component *component = dai->component; in pcm1681_mute()
158 return regmap_write(priv->regmap, PCM1681_SOFT_MUTE, val); in pcm1681_mute()
165 struct snd_soc_component *component = dai->component; in pcm1681_hw_params()
169 priv->rate = params_rate(params); in pcm1681_hw_params()
171 switch (priv->format & SND_SOC_DAIFMT_FORMAT_MASK) { in pcm1681_hw_params()
181 return -EINVAL; in pcm1681_hw_params()
191 dev_err(component->dev, "Invalid DAI format\n"); in pcm1681_hw_params()
192 return -EINVAL; in pcm1681_hw_params()
195 ret = regmap_update_bits(priv->regmap, PCM1681_FMT_CONTROL, 0x0f, val); in pcm1681_hw_params()
231 static const DECLARE_TLV_DB_SCALE(pcm1681_dac_tlv, -6350, 50, 1);
246 SOC_SINGLE_BOOL_EXT("De-emphasis Switch", 0,
251 .name = "pcm1681-hifi",
303 priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL); in pcm1681_i2c_probe()
305 return -ENOMEM; in pcm1681_i2c_probe()
307 priv->regmap = devm_regmap_init_i2c(client, &pcm1681_regmap); in pcm1681_i2c_probe()
308 if (IS_ERR(priv->regmap)) { in pcm1681_i2c_probe()
309 ret = PTR_ERR(priv->regmap); in pcm1681_i2c_probe()
310 dev_err(&client->dev, "Failed to create regmap: %d\n", ret); in pcm1681_i2c_probe()
316 return devm_snd_soc_register_component(&client->dev, in pcm1681_i2c_probe()