Lines Matching refs:cs4271
24 #include <sound/cs4271.h>
25 #include "cs4271.h"
201 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
203 cs4271->mclk = freq;
211 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
217 cs4271->master = false;
220 cs4271->master = true;
231 ret = regmap_update_bits(cs4271->regmap, CS4271_ADCCTL,
238 ret = regmap_update_bits(cs4271->regmap, CS4271_ADCCTL,
248 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE1,
259 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
263 if (cs4271->deemph) {
267 if (abs(cs4271_deemph[i] - cs4271->rate) <
268 abs(cs4271_deemph[val] - cs4271->rate))
273 ret = regmap_update_bits(cs4271->regmap, CS4271_DACCTL,
284 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
286 ucontrol->value.integer.value[0] = cs4271->deemph;
294 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
296 cs4271->deemph = ucontrol->value.integer.value[0];
344 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
348 if (cs4271->enable_soft_reset) {
362 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
368 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
375 cs4271->rate = params_rate(params);
378 if (cs4271->rate < 50000)
380 else if (cs4271->rate < 100000)
385 ratio = cs4271->mclk / cs4271->rate;
387 if ((cs4271_clk_tab[i].master == cs4271->master) &&
399 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE1,
410 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
423 ret = regmap_update_bits(cs4271->regmap, CS4271_VOLA,
428 ret = regmap_update_bits(cs4271->regmap, CS4271_VOLB,
468 .name = "cs4271-hifi",
489 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
491 if (gpio_is_valid(cs4271->gpio_nreset)) {
492 gpio_direction_output(cs4271->gpio_nreset, 0);
494 gpio_set_value(cs4271->gpio_nreset, 1);
505 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
508 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
513 regcache_mark_dirty(cs4271->regmap);
514 regulator_bulk_disable(ARRAY_SIZE(cs4271->supplies), cs4271->supplies);
522 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
524 ret = regulator_bulk_enable(ARRAY_SIZE(cs4271->supplies),
525 cs4271->supplies);
535 ret = regcache_sync(cs4271->regmap);
540 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
554 { .compatible = "cirrus,cs4271", },
563 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
576 cs4271->enable_soft_reset = true;
580 ret = regulator_bulk_enable(ARRAY_SIZE(cs4271->supplies),
581 cs4271->supplies);
589 cs4271->enable_soft_reset = cs4271plat->enable_soft_reset;
595 ret = regcache_sync(cs4271->regmap);
599 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
604 ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
612 regmap_update_bits(cs4271->regmap, CS4271_MODE2,
621 struct cs4271_private *cs4271 = snd_soc_component_get_drvdata(component);
623 if (gpio_is_valid(cs4271->gpio_nreset))
625 gpio_set_value(cs4271->gpio_nreset, 0);
627 regcache_mark_dirty(cs4271->regmap);
628 regulator_bulk_disable(ARRAY_SIZE(cs4271->supplies), cs4271->supplies);
651 struct cs4271_private *cs4271;
654 cs4271 = devm_kzalloc(dev, sizeof(*cs4271), GFP_KERNEL);
655 if (!cs4271)
659 cs4271->gpio_nreset =
663 cs4271->gpio_nreset = cs4271plat->gpio_nreset;
665 if (gpio_is_valid(cs4271->gpio_nreset)) {
666 ret = devm_gpio_request(dev, cs4271->gpio_nreset,
673 cs4271->supplies[i].supply = supply_names[i];
675 ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(cs4271->supplies),
676 cs4271->supplies);
683 *c = cs4271;
700 struct cs4271_private *cs4271;
706 ret = cs4271_common_probe(dev, &cs4271);
710 dev_set_drvdata(dev, cs4271);
711 cs4271->regmap = regmap;