Lines Matching refs:max9860

26 #include "max9860.h"
40 struct max9860_priv *max9860 = container_of(nb, struct max9860_priv,
43 regcache_mark_dirty(max9860->regmap);
44 regcache_cache_only(max9860->regmap, true);
256 struct max9860_priv *max9860 = snd_soc_component_get_drvdata(component);
271 switch (max9860->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
290 switch (max9860->fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
319 switch (max9860->fmt & SND_SOC_DAIFMT_INV_MASK) {
323 switch (max9860->fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
331 switch (max9860->fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
347 ret = regmap_write(max9860->regmap, MAX9860_IFC1A, ifc1a);
353 ret = regmap_write(max9860->regmap, MAX9860_IFC1B, ifc1b);
367 switch (max9860->pclk_rate) {
399 max9860->pclk_rate);
410 sysclk |= max9860->psclk;
412 ret = regmap_write(max9860->regmap,
419 ret = regmap_write(max9860->regmap,
425 ret = regmap_write(max9860->regmap,
434 ret = regmap_update_bits(max9860->regmap, MAX9860_AUDIOCLKHIGH,
449 struct max9860_priv *max9860 = snd_soc_component_get_drvdata(component);
454 max9860->fmt = fmt;
468 .name = "max9860-hifi",
498 struct max9860_priv *max9860 = dev_get_drvdata(component->dev);
507 ret = regmap_update_bits(max9860->regmap, MAX9860_PWRMAN,
517 ret = regmap_update_bits(max9860->regmap, MAX9860_PWRMAN,
545 struct max9860_priv *max9860 = dev_get_drvdata(dev);
548 ret = regmap_update_bits(max9860->regmap, MAX9860_SYSCLK,
555 regulator_disable(max9860->dvddio);
562 struct max9860_priv *max9860 = dev_get_drvdata(dev);
565 ret = regulator_enable(max9860->dvddio);
571 regcache_cache_only(max9860->regmap, false);
572 ret = regcache_sync(max9860->regmap);
578 ret = regmap_update_bits(max9860->regmap, MAX9860_SYSCLK,
579 MAX9860_PSCLK, max9860->psclk);
596 struct max9860_priv *max9860;
603 max9860 = devm_kzalloc(dev, sizeof(struct max9860_priv), GFP_KERNEL);
604 if (!max9860)
607 max9860->dvddio = devm_regulator_get(dev, "DVDDIO");
608 if (IS_ERR(max9860->dvddio))
609 return dev_err_probe(dev, PTR_ERR(max9860->dvddio),
612 max9860->dvddio_nb.notifier_call = max9860_dvddio_event;
614 ret = devm_regulator_register_notifier(max9860->dvddio,
615 &max9860->dvddio_nb);
619 ret = regulator_enable(max9860->dvddio);
625 max9860->regmap = devm_regmap_init_i2c(i2c, &max9860_regmap);
626 if (IS_ERR(max9860->regmap)) {
627 ret = PTR_ERR(max9860->regmap);
631 dev_set_drvdata(dev, max9860);
656 max9860->psclk = 3;
658 max9860->psclk = 2;
660 max9860->psclk = 1;
661 max9860->pclk_rate = mclk_rate >> (max9860->psclk - 1);
662 max9860->psclk <<= MAX9860_PSCLK_SHIFT;
663 dev_dbg(dev, "mclk %lu pclk %lu\n", mclk_rate, max9860->pclk_rate);
665 regcache_cache_bypass(max9860->regmap, true);
667 ret = regmap_write(max9860->regmap,
676 regcache_cache_bypass(max9860->regmap, false);
678 ret = regmap_read(max9860->regmap, MAX9860_INTRSTATUS, &intr);
700 regulator_disable(max9860->dvddio);
707 struct max9860_priv *max9860 = dev_get_drvdata(dev);
710 regulator_disable(max9860->dvddio);
714 { "max9860", },
720 { .compatible = "maxim,max9860", },
730 .name = "max9860",