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);
407 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][0],
410 regmap_write(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][1],
413 adav80x->dai_fmt[dai->id] = fmt & SND_SOC_DAIFMT_FORMAT_MASK;
421 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
429 regmap_update_bits(adav80x->regmap, ADAV80X_ADC_CTRL1,
438 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
446 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL2,
456 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
476 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][0],
485 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
488 if (adav80x->dai_fmt[dai->id] != SND_SOC_DAIFMT_RIGHT_J)
508 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][1],
518 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
521 if (rate * 256 != adav80x->sysclk)
531 adav80x->rate = rate;
541 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
556 adav80x->sysclk = freq;
558 if (adav80x->clk_src != clk_id) {
561 adav80x->clk_src = clk_id;
570 regmap_write(adav80x->regmap, ADAV80X_ICLK_CTRL1,
572 regmap_write(adav80x->regmap, ADAV80X_ICLK_CTRL2,
593 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_OUTE,
595 adav80x->sysclk_pd[clk_id] = true;
597 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_OUTE,
599 adav80x->sysclk_pd[clk_id] = false;
604 if (adav80x->sysclk_pd[0])
609 if (adav80x->sysclk_pd[1] || adav80x->sysclk_pd[2])
626 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
676 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CTRL1,
678 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CTRL2,
681 if (source != adav80x->pll_src) {
687 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CLK_SRC,
690 adav80x->pll_src = source;
701 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
710 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL1, mask,
714 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL1, mask,
727 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
729 if (!snd_soc_component_active(component) || !adav80x->rate)
733 SNDRV_PCM_HW_PARAM_RATE, adav80x->rate);
740 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
743 adav80x->rate = 0;
764 .name = "adav80x-hifi",
783 .name = "adav80x-aux",
806 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
813 regmap_write(adav80x->regmap, ADAV80X_PLL_OUTE, 0x20);
815 regmap_write(adav80x->regmap, ADAV80X_DAC_CTRL3, 0x6);
822 struct adav80x *adav80x = snd_soc_component_get_drvdata(component);
824 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;