Lines Matching refs:max98388
20 #include "max98388.h"
77 struct max98388_priv *max98388 = snd_soc_component_get_drvdata(component);
81 regmap_write(max98388->regmap,
86 regmap_write(max98388->regmap,
89 max98388->tdm_mode = false;
390 static void max98388_reset(struct max98388_priv *max98388, struct device *dev)
395 ret = regmap_update_bits(max98388->regmap,
406 ret = regmap_read(max98388->regmap,
419 struct max98388_priv *max98388 = snd_soc_component_get_drvdata(component);
422 max98388_reset(max98388, component->dev);
425 regmap_write(max98388->regmap,
430 regmap_write(max98388->regmap,
434 regmap_write(max98388->regmap,
438 regmap_write(max98388->regmap,
440 max98388->v_slot);
442 regmap_write(max98388->regmap,
444 max98388->i_slot);
446 regmap_write(max98388->regmap,
449 if (max98388->interleave_mode)
450 regmap_update_bits(max98388->regmap,
456 regmap_update_bits(max98388->regmap,
467 struct max98388_priv *max98388 = snd_soc_component_get_drvdata(component);
484 regmap_update_bits(max98388->regmap,
507 regmap_update_bits(max98388->regmap,
534 struct max98388_priv *max98388 = snd_soc_component_get_drvdata(component);
536 int blr_clk_ratio = params_channels(params) * max98388->ch_size;
539 if (!max98388->tdm_mode) {
548 regmap_update_bits(max98388->regmap,
561 struct max98388_priv *max98388 = snd_soc_component_get_drvdata(component);
584 max98388->ch_size = snd_pcm_format_width(params_format(params));
586 ret = regmap_read(max98388->regmap,
593 ret = regmap_read(max98388->regmap,
599 regmap_write(max98388->regmap,
603 regmap_update_bits(max98388->regmap,
652 regmap_update_bits(max98388->regmap,
658 if (max98388->interleave_mode &&
660 regmap_update_bits(max98388->regmap,
665 regmap_update_bits(max98388->regmap,
673 regmap_write(max98388->regmap,
692 struct max98388_priv *max98388 = snd_soc_component_get_drvdata(component);
700 max98388->tdm_mode = false;
702 max98388->tdm_mode = true;
712 regmap_update_bits(max98388->regmap,
734 regmap_update_bits(max98388->regmap,
744 regmap_update_bits(max98388->regmap,
749 regmap_update_bits(max98388->regmap,
766 regmap_update_bits(max98388->regmap, addr, bits, bits);
835 .name = "max98388-aif1",
856 struct max98388_priv *max98388 = dev_get_drvdata(dev);
858 regcache_cache_only(max98388->regmap, true);
859 regcache_mark_dirty(max98388->regmap);
866 struct max98388_priv *max98388 = dev_get_drvdata(dev);
868 regcache_cache_only(max98388->regmap, false);
869 max98388_reset(max98388, dev);
870 regcache_sync(max98388->regmap);
903 struct max98388_priv *max98388)
908 max98388->v_slot = value & 0xF;
910 max98388->v_slot = 0;
913 max98388->i_slot = value & 0xF;
915 max98388->i_slot = 1;
918 max98388->interleave_mode = true;
920 max98388->interleave_mode = false;
928 struct max98388_priv *max98388 = NULL;
930 max98388 = devm_kzalloc(&i2c->dev, sizeof(*max98388), GFP_KERNEL);
931 if (!max98388)
934 i2c_set_clientdata(i2c, max98388);
937 max98388->regmap = devm_regmap_init_i2c(i2c, &max98388_regmap);
938 if (IS_ERR(max98388->regmap))
939 return dev_err_probe(&i2c->dev, PTR_ERR(max98388->regmap),
943 max98388_read_deveice_property(&i2c->dev, max98388);
946 max98388->reset_gpio = devm_gpiod_get_optional(&i2c->dev,
948 if (IS_ERR(max98388->reset_gpio))
949 return dev_err_probe(&i2c->dev, PTR_ERR(max98388->reset_gpio),
952 if (max98388->reset_gpio) {
954 gpiod_set_value_cansleep(max98388->reset_gpio, 0);
960 ret = regmap_read(max98388->regmap,
980 { "max98388", 0},
987 { .compatible = "adi,max98388", },
1000 .name = "max98388",