Lines Matching refs:adau1701

104 struct adau1701 {  struct
255 struct adau1701 *adau1701 = i2c_get_clientdata(client); in adau1701_safeload() local
261 ret = regmap_read(adau1701->regmap, ADAU1701_DSPCTRL, &val); in adau1701_safeload()
287 return regmap_update_bits(adau1701->regmap, ADAU1701_DSPCTRL, in adau1701_safeload()
298 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_reset() local
301 sigmadsp_reset(adau1701->sigmadsp); in adau1701_reset()
304 gpio_is_valid(adau1701->gpio_pll_mode[0]) && in adau1701_reset()
305 gpio_is_valid(adau1701->gpio_pll_mode[1])) { in adau1701_reset()
308 gpio_set_value_cansleep(adau1701->gpio_pll_mode[0], 0); in adau1701_reset()
309 gpio_set_value_cansleep(adau1701->gpio_pll_mode[1], 0); in adau1701_reset()
312 gpio_set_value_cansleep(adau1701->gpio_pll_mode[0], 0); in adau1701_reset()
313 gpio_set_value_cansleep(adau1701->gpio_pll_mode[1], 1); in adau1701_reset()
316 gpio_set_value_cansleep(adau1701->gpio_pll_mode[0], 1); in adau1701_reset()
317 gpio_set_value_cansleep(adau1701->gpio_pll_mode[1], 0); in adau1701_reset()
321 gpio_set_value_cansleep(adau1701->gpio_pll_mode[0], 1); in adau1701_reset()
322 gpio_set_value_cansleep(adau1701->gpio_pll_mode[1], 1); in adau1701_reset()
327 adau1701->pll_clkdiv = clkdiv; in adau1701_reset()
329 if (gpio_is_valid(adau1701->gpio_nreset)) { in adau1701_reset()
330 gpio_set_value_cansleep(adau1701->gpio_nreset, 0); in adau1701_reset()
333 gpio_set_value_cansleep(adau1701->gpio_nreset, 1); in adau1701_reset()
343 ret = sigmadsp_setup(adau1701->sigmadsp, rate); in adau1701_reset()
350 regmap_write(adau1701->regmap, ADAU1701_DACSET, ADAU1701_DACSET_DACINIT); in adau1701_reset()
351 regmap_write(adau1701->regmap, ADAU1701_DSPCTRL, ADAU1701_DSPCTRL_CR); in adau1701_reset()
353 regcache_mark_dirty(adau1701->regmap); in adau1701_reset()
354 regcache_sync(adau1701->regmap); in adau1701_reset()
362 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_set_capture_pcm_format() local
380 if (adau1701->dai_fmt == SND_SOC_DAIFMT_RIGHT_J) { in adau1701_set_capture_pcm_format()
395 regmap_update_bits(adau1701->regmap, ADAU1701_SEROCTL, mask, val); in adau1701_set_capture_pcm_format()
403 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_set_playback_pcm_format() local
406 if (adau1701->dai_fmt != SND_SOC_DAIFMT_RIGHT_J) in adau1701_set_playback_pcm_format()
423 regmap_update_bits(adau1701->regmap, ADAU1701_SERICTL, in adau1701_set_playback_pcm_format()
433 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_hw_params() local
434 unsigned int clkdiv = adau1701->sysclk / params_rate(params); in adau1701_hw_params()
443 if (clkdiv != adau1701->pll_clkdiv) { in adau1701_hw_params()
463 regmap_update_bits(adau1701->regmap, ADAU1701_DSPCTRL, in adau1701_hw_params()
476 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_set_dai_fmt() local
536 adau1701->dai_fmt = fmt & SND_SOC_DAIFMT_FORMAT_MASK; in adau1701_set_dai_fmt()
538 regmap_write(adau1701->regmap, ADAU1701_SERICTL, serictl); in adau1701_set_dai_fmt()
539 regmap_update_bits(adau1701->regmap, ADAU1701_SEROCTL, in adau1701_set_dai_fmt()
549 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_set_bias_level() local
558 regmap_update_bits(adau1701->regmap, in adau1701_set_bias_level()
563 regmap_update_bits(adau1701->regmap, in adau1701_set_bias_level()
576 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_digital_mute() local
584 regmap_update_bits(adau1701->regmap, ADAU1701_DSPCTRL, mask, val); in adau1701_digital_mute()
593 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_set_sysclk() local
606 regmap_update_bits(adau1701->regmap, ADAU1701_OSCIPOW, in adau1701_set_sysclk()
608 adau1701->sysclk = freq; in adau1701_set_sysclk()
616 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(dai->codec); in adau1701_startup() local
618 return sigmadsp_restrict_params(adau1701->sigmadsp, substream); in adau1701_startup()
666 struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec); in adau1701_probe() local
668 ret = sigmadsp_attach(adau1701->sigmadsp, &codec->component); in adau1701_probe()
678 adau1701->pll_clkdiv = ADAU1707_CLKDIV_UNSET; in adau1701_probe()
681 ret = adau1701_reset(codec, adau1701->pll_clkdiv, 0); in adau1701_probe()
688 val |= adau1701->pin_config[i] << (i * 4); in adau1701_probe()
690 regmap_write(adau1701->regmap, ADAU1701_PINCONF_0, val); in adau1701_probe()
694 val |= adau1701->pin_config[i + 6] << (i * 4); in adau1701_probe()
696 regmap_write(adau1701->regmap, ADAU1701_PINCONF_1, val); in adau1701_probe()
729 struct adau1701 *adau1701; in adau1701_i2c_probe() local
735 adau1701 = devm_kzalloc(dev, sizeof(*adau1701), GFP_KERNEL); in adau1701_i2c_probe()
736 if (!adau1701) in adau1701_i2c_probe()
739 adau1701->client = client; in adau1701_i2c_probe()
740 adau1701->regmap = devm_regmap_init(dev, NULL, client, in adau1701_i2c_probe()
742 if (IS_ERR(adau1701->regmap)) in adau1701_i2c_probe()
743 return PTR_ERR(adau1701->regmap); in adau1701_i2c_probe()
761 &adau1701->pll_clkdiv); in adau1701_i2c_probe()
764 adau1701->pin_config, in adau1701_i2c_probe()
765 ARRAY_SIZE(adau1701->pin_config)); in adau1701_i2c_probe()
790 adau1701->gpio_nreset = gpio_nreset; in adau1701_i2c_probe()
791 adau1701->gpio_pll_mode[0] = gpio_pll_mode[0]; in adau1701_i2c_probe()
792 adau1701->gpio_pll_mode[1] = gpio_pll_mode[1]; in adau1701_i2c_probe()
794 i2c_set_clientdata(client, adau1701); in adau1701_i2c_probe()
796 adau1701->sigmadsp = devm_sigmadsp_init_i2c(client, in adau1701_i2c_probe()
798 if (IS_ERR(adau1701->sigmadsp)) in adau1701_i2c_probe()
799 return PTR_ERR(adau1701->sigmadsp); in adau1701_i2c_probe()