Symbol: adau1701
sound/soc/codecs/adau1701.c
259
struct adau1701 *adau1701 = i2c_get_clientdata(client);
sound/soc/codecs/adau1701.c
265
ret = regmap_read(adau1701->regmap, ADAU1701_DSPCTRL, &val);
sound/soc/codecs/adau1701.c
291
return regmap_update_bits(adau1701->regmap, ADAU1701_DSPCTRL,
sound/soc/codecs/adau1701.c
302
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
306
sigmadsp_reset(adau1701->sigmadsp);
sound/soc/codecs/adau1701.c
308
if (clkdiv != ADAU1707_CLKDIV_UNSET && adau1701->gpio_pll_mode) {
sound/soc/codecs/adau1701.c
328
gpiod_multi_set_value_cansleep(adau1701->gpio_pll_mode, values);
sound/soc/codecs/adau1701.c
331
adau1701->pll_clkdiv = clkdiv;
sound/soc/codecs/adau1701.c
333
if (adau1701->gpio_nreset) {
sound/soc/codecs/adau1701.c
334
gpiod_set_value_cansleep(adau1701->gpio_nreset, 0);
sound/soc/codecs/adau1701.c
337
gpiod_set_value_cansleep(adau1701->gpio_nreset, 1);
sound/soc/codecs/adau1701.c
347
ret = sigmadsp_setup(adau1701->sigmadsp, rate);
sound/soc/codecs/adau1701.c
354
regmap_write(adau1701->regmap, ADAU1701_DACSET, ADAU1701_DACSET_DACINIT);
sound/soc/codecs/adau1701.c
355
regmap_write(adau1701->regmap, ADAU1701_DSPCTRL, ADAU1701_DSPCTRL_CR);
sound/soc/codecs/adau1701.c
357
regcache_mark_dirty(adau1701->regmap);
sound/soc/codecs/adau1701.c
358
regcache_sync(adau1701->regmap);
sound/soc/codecs/adau1701.c
366
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
384
if (adau1701->dai_fmt == SND_SOC_DAIFMT_RIGHT_J) {
sound/soc/codecs/adau1701.c
399
regmap_update_bits(adau1701->regmap, ADAU1701_SEROCTL, mask, val);
sound/soc/codecs/adau1701.c
407
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
410
if (adau1701->dai_fmt != SND_SOC_DAIFMT_RIGHT_J)
sound/soc/codecs/adau1701.c
427
regmap_update_bits(adau1701->regmap, ADAU1701_SERICTL,
sound/soc/codecs/adau1701.c
437
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
438
unsigned int clkdiv = adau1701->sysclk / params_rate(params);
sound/soc/codecs/adau1701.c
447
if (clkdiv != adau1701->pll_clkdiv) {
sound/soc/codecs/adau1701.c
467
regmap_update_bits(adau1701->regmap, ADAU1701_DSPCTRL,
sound/soc/codecs/adau1701.c
480
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
540
adau1701->dai_fmt = fmt & SND_SOC_DAIFMT_FORMAT_MASK;
sound/soc/codecs/adau1701.c
542
regmap_write(adau1701->regmap, ADAU1701_SERICTL, serictl);
sound/soc/codecs/adau1701.c
543
regmap_update_bits(adau1701->regmap, ADAU1701_SEROCTL,
sound/soc/codecs/adau1701.c
553
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
562
regmap_update_bits(adau1701->regmap,
sound/soc/codecs/adau1701.c
567
regmap_update_bits(adau1701->regmap,
sound/soc/codecs/adau1701.c
579
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
587
regmap_update_bits(adau1701->regmap, ADAU1701_DSPCTRL, mask, val);
sound/soc/codecs/adau1701.c
596
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
609
regmap_update_bits(adau1701->regmap, ADAU1701_OSCIPOW,
sound/soc/codecs/adau1701.c
611
adau1701->sysclk = freq;
sound/soc/codecs/adau1701.c
619
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/adau1701.c
621
return sigmadsp_restrict_params(adau1701->sigmadsp, substream);
sound/soc/codecs/adau1701.c
670
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
672
ret = sigmadsp_attach(adau1701->sigmadsp, component);
sound/soc/codecs/adau1701.c
676
ret = regulator_bulk_enable(ARRAY_SIZE(adau1701->supplies),
sound/soc/codecs/adau1701.c
677
adau1701->supplies);
sound/soc/codecs/adau1701.c
689
adau1701->pll_clkdiv = ADAU1707_CLKDIV_UNSET;
sound/soc/codecs/adau1701.c
692
ret = adau1701_reset(component, adau1701->pll_clkdiv, 0);
sound/soc/codecs/adau1701.c
699
val |= adau1701->pin_config[i] << (i * 4);
sound/soc/codecs/adau1701.c
701
regmap_write(adau1701->regmap, ADAU1701_PINCONF_0, val);
sound/soc/codecs/adau1701.c
705
val |= adau1701->pin_config[i + 6] << (i * 4);
sound/soc/codecs/adau1701.c
707
regmap_write(adau1701->regmap, ADAU1701_PINCONF_1, val);
sound/soc/codecs/adau1701.c
713
regulator_bulk_disable(ARRAY_SIZE(adau1701->supplies), adau1701->supplies);
sound/soc/codecs/adau1701.c
719
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
721
if (adau1701->gpio_nreset)
sound/soc/codecs/adau1701.c
722
gpiod_set_value_cansleep(adau1701->gpio_nreset, 0);
sound/soc/codecs/adau1701.c
724
regulator_bulk_disable(ARRAY_SIZE(adau1701->supplies), adau1701->supplies);
sound/soc/codecs/adau1701.c
730
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
732
regulator_bulk_disable(ARRAY_SIZE(adau1701->supplies),
sound/soc/codecs/adau1701.c
733
adau1701->supplies);
sound/soc/codecs/adau1701.c
740
struct adau1701 *adau1701 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1701.c
743
ret = regulator_bulk_enable(ARRAY_SIZE(adau1701->supplies),
sound/soc/codecs/adau1701.c
744
adau1701->supplies);
sound/soc/codecs/adau1701.c
750
return adau1701_reset(component, adau1701->pll_clkdiv, 0);
sound/soc/codecs/adau1701.c
786
struct adau1701 *adau1701;
sound/soc/codecs/adau1701.c
790
adau1701 = devm_kzalloc(dev, sizeof(*adau1701), GFP_KERNEL);
sound/soc/codecs/adau1701.c
791
if (!adau1701)
sound/soc/codecs/adau1701.c
795
adau1701->supplies[i].supply = supply_names[i];
sound/soc/codecs/adau1701.c
797
ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(adau1701->supplies),
sound/soc/codecs/adau1701.c
798
adau1701->supplies);
sound/soc/codecs/adau1701.c
804
ret = regulator_bulk_enable(ARRAY_SIZE(adau1701->supplies),
sound/soc/codecs/adau1701.c
805
adau1701->supplies);
sound/soc/codecs/adau1701.c
811
adau1701->client = client;
sound/soc/codecs/adau1701.c
812
adau1701->regmap = devm_regmap_init(dev, NULL, client,
sound/soc/codecs/adau1701.c
814
if (IS_ERR(adau1701->regmap)) {
sound/soc/codecs/adau1701.c
815
ret = PTR_ERR(adau1701->regmap);
sound/soc/codecs/adau1701.c
822
&adau1701->pll_clkdiv);
sound/soc/codecs/adau1701.c
825
adau1701->pin_config,
sound/soc/codecs/adau1701.c
826
ARRAY_SIZE(adau1701->pin_config));
sound/soc/codecs/adau1701.c
829
adau1701->gpio_nreset = devm_gpiod_get_optional(dev, "reset", GPIOD_IN);
sound/soc/codecs/adau1701.c
831
if (IS_ERR(adau1701->gpio_nreset)) {
sound/soc/codecs/adau1701.c
832
ret = PTR_ERR(adau1701->gpio_nreset);
sound/soc/codecs/adau1701.c
836
adau1701->gpio_pll_mode = devm_gpiod_get_array_optional(dev, "adi,pll-mode", GPIOD_OUT_LOW);
sound/soc/codecs/adau1701.c
838
if (IS_ERR(adau1701->gpio_pll_mode)) {
sound/soc/codecs/adau1701.c
839
ret = PTR_ERR(adau1701->gpio_pll_mode);
sound/soc/codecs/adau1701.c
843
i2c_set_clientdata(client, adau1701);
sound/soc/codecs/adau1701.c
845
adau1701->sigmadsp = devm_sigmadsp_init_i2c(client,
sound/soc/codecs/adau1701.c
847
if (IS_ERR(adau1701->sigmadsp)) {
sound/soc/codecs/adau1701.c
848
ret = PTR_ERR(adau1701->sigmadsp);
sound/soc/codecs/adau1701.c
858
regulator_bulk_disable(ARRAY_SIZE(adau1701->supplies), adau1701->supplies);