Lines Matching +full:de +full:- +full:emphasis
1 // SPDX-License-Identifier: GPL-2.0-or-later
37 #define PCM1681_DEEMPH_CONTROL 0x0a /* De-emphasis control */
85 int i, val = -1, enable = 0; in pcm1681_set_deemph()
87 if (priv->deemph) { in pcm1681_set_deemph()
89 if (pcm1681_deemph[i] == priv->rate) { in pcm1681_set_deemph()
96 if (val != -1) { in pcm1681_set_deemph()
97 regmap_update_bits(priv->regmap, PCM1681_DEEMPH_CONTROL, in pcm1681_set_deemph()
105 return regmap_update_bits(priv->regmap, PCM1681_DEEMPH_CONTROL, in pcm1681_set_deemph()
115 ucontrol->value.integer.value[0] = priv->deemph; in pcm1681_get_deemph()
126 priv->deemph = ucontrol->value.integer.value[0]; in pcm1681_put_deemph()
134 struct snd_soc_component *component = codec_dai->component; in pcm1681_set_dai_fmt()
139 dev_err(component->dev, "Invalid clocking mode\n"); in pcm1681_set_dai_fmt()
140 return -EINVAL; in pcm1681_set_dai_fmt()
143 priv->format = format; in pcm1681_set_dai_fmt()
150 struct snd_soc_component *component = dai->component; in pcm1681_mute()
159 return regmap_write(priv->regmap, PCM1681_SOFT_MUTE, val); in pcm1681_mute()
166 struct snd_soc_component *component = dai->component; in pcm1681_hw_params()
170 priv->rate = params_rate(params); in pcm1681_hw_params()
172 switch (priv->format & SND_SOC_DAIFMT_FORMAT_MASK) { in pcm1681_hw_params()
182 return -EINVAL; in pcm1681_hw_params()
192 dev_err(component->dev, "Invalid DAI format\n"); in pcm1681_hw_params()
193 return -EINVAL; in pcm1681_hw_params()
196 ret = regmap_update_bits(priv->regmap, PCM1681_FMT_CONTROL, 0x0f, val); in pcm1681_hw_params()
232 static const DECLARE_TLV_DB_SCALE(pcm1681_dac_tlv, -6350, 50, 1);
247 SOC_SINGLE_BOOL_EXT("De-emphasis Switch", 0,
252 .name = "pcm1681-hifi",
304 priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL); in pcm1681_i2c_probe()
306 return -ENOMEM; in pcm1681_i2c_probe()
308 priv->regmap = devm_regmap_init_i2c(client, &pcm1681_regmap); in pcm1681_i2c_probe()
309 if (IS_ERR(priv->regmap)) { in pcm1681_i2c_probe()
310 ret = PTR_ERR(priv->regmap); in pcm1681_i2c_probe()
311 dev_err(&client->dev, "Failed to create regmap: %d\n", ret); in pcm1681_i2c_probe()
317 return devm_snd_soc_register_component(&client->dev, in pcm1681_i2c_probe()