Lines Matching defs:max98373

19 #include "max98373.h"
20 #include "max98373-sdw.h"
248 struct max98373_priv *max98373 = dev_get_drvdata(dev);
250 regcache_cache_only(max98373->regmap, true);
251 regcache_mark_dirty(max98373->regmap);
258 struct max98373_priv *max98373 = dev_get_drvdata(dev);
261 if (!max98373->first_hw_init)
276 regcache_cache_only(max98373->regmap, false);
277 regcache_sync(max98373->regmap);
350 struct max98373_priv *max98373 = dev_get_drvdata(dev);
352 if (max98373->first_hw_init) {
353 regcache_cache_only(max98373->regmap, false);
354 regcache_cache_bypass(max98373->regmap, true);
360 if (!max98373->first_hw_init) {
377 max98373_reset(max98373, dev);
380 regmap_write(max98373->regmap, MAX98373_R2025_AUDIO_IF_MODE, 3);
382 regmap_write(max98373->regmap, MAX98373_R2047_IV_SENSE_ADC_EN, 3);
384 regmap_write(max98373->regmap, MAX98373_R2036_SOUNDWIRE_CTRL, 5);
386 regmap_write(max98373->regmap, MAX98373_R2028_PCM_SR_SETUP_2, 0x88);
388 regmap_write(max98373->regmap,
391 regmap_write(max98373->regmap,
395 regmap_write(max98373->regmap,
398 regmap_write(max98373->regmap,
402 regmap_write(max98373->regmap,
406 regmap_write(max98373->regmap,
410 regmap_write(max98373->regmap,
412 (max98373->i_slot << MAX98373_PCM_TX_CH_SRC_A_I_SHIFT |
413 max98373->v_slot) & 0xFF);
414 if (max98373->v_slot < 8)
415 regmap_update_bits(max98373->regmap,
417 1 << max98373->v_slot, 0);
419 regmap_update_bits(max98373->regmap,
421 1 << (max98373->v_slot - 8), 0);
423 if (max98373->i_slot < 8)
424 regmap_update_bits(max98373->regmap,
426 1 << max98373->i_slot, 0);
428 regmap_update_bits(max98373->regmap,
430 1 << (max98373->i_slot - 8), 0);
433 regmap_write(max98373->regmap,
435 max98373->spkfb_slot & 0xFF);
438 if (max98373->interleave_mode)
439 regmap_update_bits(max98373->regmap,
445 regmap_update_bits(max98373->regmap,
449 regmap_write(max98373->regmap, MAX98373_R20B5_BDE_EN, 1);
450 regmap_write(max98373->regmap, MAX98373_R20E2_LIMITER_EN, 1);
452 if (max98373->first_hw_init) {
453 regcache_cache_bypass(max98373->regmap, false);
454 regcache_mark_dirty(max98373->regmap);
457 max98373->first_hw_init = true;
458 max98373->hw_init = true;
490 struct max98373_priv *max98373 = dev_get_drvdata(dev);
503 regmap_write(max98373->regmap, MAX98373_R2036_SOUNDWIRE_CTRL, value);
506 regmap_write(max98373->regmap, MAX98373_R2028_PCM_SR_SETUP_2, 0x88);
519 struct max98373_priv *max98373 =
533 if (!max98373->slave)
548 if (max98373->slot && direction == SDW_DATA_DIR_RX) {
549 stream_config.ch_count = max98373->slot;
550 port_config.ch_mask = max98373->rx_mask;
561 ret = sdw_stream_add_slave(max98373->slave, &stream_config,
591 max98373->ch_size = snd_pcm_format_width(params_format(params));
593 regmap_update_bits(max98373->regmap,
641 regmap_update_bits(max98373->regmap,
647 regmap_update_bits(max98373->regmap,
659 struct max98373_priv *max98373 =
664 if (!max98373->slave)
667 sdw_stream_remove_slave(max98373->slave, stream->sdw_stream);
710 struct max98373_priv *max98373 =
718 max98373->tdm_mode = false;
720 max98373->tdm_mode = true;
722 max98373->rx_mask = rx_mask;
723 max98373->slot = slots;
738 .name = "max98373-aif1",
759 struct max98373_priv *max98373;
764 max98373 = devm_kzalloc(dev, sizeof(*max98373), GFP_KERNEL);
765 if (!max98373)
768 dev_set_drvdata(dev, max98373);
769 max98373->regmap = regmap;
770 max98373->slave = slave;
773 max98373_slot_config(dev, max98373);
775 max98373->hw_init = false;
776 max98373->first_hw_init = false;
791 struct max98373_priv *max98373 = dev_get_drvdata(&slave->dev);
794 max98373->hw_init = false;
799 if (max98373->hw_init || status != SDW_SLAVE_ATTACHED)
843 { .compatible = "maxim,max98373", },
865 .name = "max98373",