Lines Matching defs:adav80x
20 #include "adav80x.h"
141 struct adav80x {
215 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
218 switch (adav80x->clk_src) {
239 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
241 return adav80x->pll_src == ADAV80X_PLL_SRC_XTAL;
285 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
288 if (adav80x->deemph) {
289 switch (adav80x->rate) {
310 return regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL2,
318 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
324 adav80x->deemph = deemph;
333 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
335 ucontrol->value.integer.value[0] = adav80x->deemph;
368 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
406 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][0],
409 regmap_write(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][1],
412 adav80x->dai_fmt[dai->id] = fmt & SND_SOC_DAIFMT_FORMAT_MASK;
420 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
428 regmap_update_bits(adav80x->regmap, ADAV80X_ADC_CTRL1,
437 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
445 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL2,
455 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
475 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][0],
484 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
487 if (adav80x->dai_fmt[dai->id] != SND_SOC_DAIFMT_RIGHT_J)
507 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][1],
517 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
520 if (rate * 256 != adav80x->sysclk)
530 adav80x->rate = rate;
540 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
555 adav80x->sysclk = freq;
557 if (adav80x->clk_src != clk_id) {
560 adav80x->clk_src = clk_id;
569 regmap_write(adav80x->regmap, ADAV80X_ICLK_CTRL1,
571 regmap_write(adav80x->regmap, ADAV80X_ICLK_CTRL2,
592 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_OUTE,
594 adav80x->sysclk_pd[clk_id] = true;
596 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_OUTE,
598 adav80x->sysclk_pd[clk_id] = false;
603 if (adav80x->sysclk_pd[0])
608 if (adav80x->sysclk_pd[1] || adav80x->sysclk_pd[2])
625 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
675 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CTRL1,
677 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CTRL2,
680 if (source != adav80x->pll_src) {
686 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CLK_SRC,
689 adav80x->pll_src = source;
700 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
709 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL1, mask,
713 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL1, mask,
726 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
728 if (!snd_soc_component_active(component) || !adav80x->rate)
732 SNDRV_PCM_HW_PARAM_RATE, adav80x->rate);
739 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
742 adav80x->rate = 0;
763 .name = "adav80x-hifi",
782 .name = "adav80x-aux",
805 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
812 regmap_write(adav80x->regmap, ADAV80X_PLL_OUTE, 0x20);
814 regmap_write(adav80x->regmap, ADAV80X_DAC_CTRL3, 0x6);
821 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
823 regcache_sync(adav80x->regmap);
849 struct adav80x *adav80x;
854 adav80x = devm_kzalloc(dev, sizeof(*adav80x), GFP_KERNEL);
855 if (!adav80x)
858 dev_set_drvdata(dev, adav80x);
859 adav80x->regmap = regmap;