Lines Matching refs:adav80x
142 struct adav80x { struct
216 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_dapm_sysclk_check() local
219 switch (adav80x->clk_src) { in adav80x_dapm_sysclk_check()
240 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_dapm_pll_check() local
242 return adav80x->pll_src == ADAV80X_PLL_SRC_XTAL; in adav80x_dapm_pll_check()
286 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_deemph() local
289 if (adav80x->deemph) { in adav80x_set_deemph()
290 switch (adav80x->rate) { in adav80x_set_deemph()
311 return regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL2, in adav80x_set_deemph()
319 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_put_deemph() local
325 adav80x->deemph = deemph; in adav80x_put_deemph()
334 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_get_deemph() local
336 ucontrol->value.integer.value[0] = adav80x->deemph; in adav80x_get_deemph()
369 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_dai_fmt() local
407 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][0], in adav80x_set_dai_fmt()
410 regmap_write(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][1], in adav80x_set_dai_fmt()
413 adav80x->dai_fmt[dai->id] = fmt & SND_SOC_DAIFMT_FORMAT_MASK; in adav80x_set_dai_fmt()
421 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_adc_clock() local
429 regmap_update_bits(adav80x->regmap, ADAV80X_ADC_CTRL1, in adav80x_set_adc_clock()
438 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_dac_clock() local
446 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL2, in adav80x_set_dac_clock()
456 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_capture_pcm_format() local
476 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][0], in adav80x_set_capture_pcm_format()
485 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_playback_pcm_format() local
488 if (adav80x->dai_fmt[dai->id] != SND_SOC_DAIFMT_RIGHT_J) in adav80x_set_playback_pcm_format()
508 regmap_update_bits(adav80x->regmap, adav80x_port_ctrl_regs[dai->id][1], in adav80x_set_playback_pcm_format()
518 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_hw_params() local
521 if (rate * 256 != adav80x->sysclk) in adav80x_hw_params()
531 adav80x->rate = rate; in adav80x_hw_params()
541 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_sysclk() local
556 adav80x->sysclk = freq; in adav80x_set_sysclk()
558 if (adav80x->clk_src != clk_id) { in adav80x_set_sysclk()
561 adav80x->clk_src = clk_id; in adav80x_set_sysclk()
570 regmap_write(adav80x->regmap, ADAV80X_ICLK_CTRL1, in adav80x_set_sysclk()
572 regmap_write(adav80x->regmap, ADAV80X_ICLK_CTRL2, in adav80x_set_sysclk()
593 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_OUTE, in adav80x_set_sysclk()
595 adav80x->sysclk_pd[clk_id] = true; in adav80x_set_sysclk()
597 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_OUTE, in adav80x_set_sysclk()
599 adav80x->sysclk_pd[clk_id] = false; in adav80x_set_sysclk()
604 if (adav80x->sysclk_pd[0]) in adav80x_set_sysclk()
609 if (adav80x->sysclk_pd[1] || adav80x->sysclk_pd[2]) in adav80x_set_sysclk()
625 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_pll() local
674 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CTRL1, in adav80x_set_pll()
676 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CTRL2, in adav80x_set_pll()
679 if (source != adav80x->pll_src) { in adav80x_set_pll()
685 regmap_update_bits(adav80x->regmap, ADAV80X_PLL_CLK_SRC, in adav80x_set_pll()
688 adav80x->pll_src = source; in adav80x_set_pll()
699 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_set_bias_level() local
708 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL1, mask, in adav80x_set_bias_level()
712 regmap_update_bits(adav80x->regmap, ADAV80X_DAC_CTRL1, mask, in adav80x_set_bias_level()
726 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_dai_startup() local
728 if (!snd_soc_codec_is_active(codec) || !adav80x->rate) in adav80x_dai_startup()
732 SNDRV_PCM_HW_PARAM_RATE, adav80x->rate, adav80x->rate); in adav80x_dai_startup()
739 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_dai_shutdown() local
742 adav80x->rate = 0; in adav80x_dai_shutdown()
804 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_probe() local
811 regmap_write(adav80x->regmap, ADAV80X_PLL_OUTE, 0x20); in adav80x_probe()
813 regmap_write(adav80x->regmap, ADAV80X_DAC_CTRL3, 0x6); in adav80x_probe()
820 struct adav80x *adav80x = snd_soc_codec_get_drvdata(codec); in adav80x_resume() local
822 regcache_sync(adav80x->regmap); in adav80x_resume()
846 struct adav80x *adav80x; in adav80x_bus_probe() local
851 adav80x = devm_kzalloc(dev, sizeof(*adav80x), GFP_KERNEL); in adav80x_bus_probe()
852 if (!adav80x) in adav80x_bus_probe()
855 dev_set_drvdata(dev, adav80x); in adav80x_bus_probe()
856 adav80x->regmap = regmap; in adav80x_bus_probe()