Lines Matching refs:max98373
20 #include "max98373.h"
126 struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
143 regmap_update_bits(max98373->regmap,
166 regmap_update_bits(max98373->regmap,
193 struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
195 int blr_clk_ratio = params_channels(params) * max98373->ch_size;
198 if (!max98373->tdm_mode) {
207 regmap_update_bits(max98373->regmap,
220 struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
241 max98373->ch_size = snd_pcm_format_width(params_format(params));
243 regmap_update_bits(max98373->regmap,
292 regmap_update_bits(max98373->regmap,
296 regmap_update_bits(max98373->regmap,
302 if (max98373->interleave_mode &&
304 regmap_update_bits(max98373->regmap,
309 regmap_update_bits(max98373->regmap,
324 struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
331 max98373->tdm_mode = false;
333 max98373->tdm_mode = true;
343 regmap_update_bits(max98373->regmap,
365 regmap_update_bits(max98373->regmap,
375 regmap_update_bits(max98373->regmap,
379 regmap_write(max98373->regmap,
389 regmap_write(max98373->regmap,
392 regmap_write(max98373->regmap,
458 .name = "max98373-aif1",
480 struct max98373_priv *max98373 = dev_get_drvdata(dev);
484 for (i = 0; i < max98373->cache_num; i++)
485 regmap_read(max98373->regmap, max98373->cache[i].reg, &max98373->cache[i].val);
487 regcache_cache_only(max98373->regmap, true);
488 regcache_mark_dirty(max98373->regmap);
494 struct max98373_priv *max98373 = dev_get_drvdata(dev);
496 regcache_cache_only(max98373->regmap, false);
497 max98373_reset(max98373, dev);
498 regcache_sync(max98373->regmap);
523 struct max98373_priv *max98373 = NULL;
525 max98373 = devm_kzalloc(&i2c->dev, sizeof(*max98373), GFP_KERNEL);
527 if (!max98373) {
531 i2c_set_clientdata(i2c, max98373);
535 max98373->interleave_mode = true;
537 max98373->interleave_mode = false;
540 max98373->regmap = devm_regmap_init_i2c(i2c, &max98373_regmap);
541 if (IS_ERR(max98373->regmap)) {
542 ret = PTR_ERR(max98373->regmap);
548 max98373->cache_num = ARRAY_SIZE(max98373_i2c_cache_reg);
549 max98373->cache = devm_kcalloc(&i2c->dev, max98373->cache_num,
550 sizeof(*max98373->cache),
552 if (!max98373->cache) {
557 for (i = 0; i < max98373->cache_num; i++)
558 max98373->cache[i].reg = max98373_i2c_cache_reg[i];
561 max98373_slot_config(&i2c->dev, max98373);
564 if (gpio_is_valid(max98373->reset_gpio)) {
565 ret = devm_gpio_request(&i2c->dev, max98373->reset_gpio,
569 __func__, max98373->reset_gpio);
572 gpio_direction_output(max98373->reset_gpio, 0);
574 gpio_direction_output(max98373->reset_gpio, 1);
579 ret = regmap_read(max98373->regmap,
598 { "max98373", 0},
606 { .compatible = "maxim,max98373", },
622 .name = "max98373",