Lines Matching refs:max98927

3  * max98927.c  --  MAX98927 ALSA Soc Audio driver
21 #include "max98927.h"
142 struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component);
155 max98927->master = true;
163 regmap_update_bits(max98927->regmap,
179 regmap_update_bits(max98927->regmap,
204 max98927->iface = fmt & SND_SOC_DAIFMT_FORMAT_MASK;
208 regmap_update_bits(max98927->regmap,
213 regmap_update_bits(max98927->regmap,
218 regmap_update_bits(max98927->regmap,
222 regmap_update_bits(max98927->regmap,
227 regmap_update_bits(max98927->regmap,
231 regmap_update_bits(max98927->regmap,
235 regmap_update_bits(max98927->regmap,
264 static int max98927_set_clock(struct max98927_priv *max98927,
267 struct snd_soc_component *component = max98927->component;
269 int blr_clk_ratio = params_channels(params) * max98927->ch_size;
272 if (max98927->master) {
276 if (rate_table[i] >= max98927->sysclk)
283 regmap_update_bits(max98927->regmap,
289 if (!max98927->tdm_mode) {
298 regmap_update_bits(max98927->regmap,
311 struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component);
332 max98927->ch_size = snd_pcm_format_width(params_format(params));
334 regmap_update_bits(max98927->regmap,
376 regmap_update_bits(max98927->regmap,
380 regmap_update_bits(max98927->regmap,
386 if (max98927->interleave_mode &&
388 regmap_update_bits(max98927->regmap,
393 regmap_update_bits(max98927->regmap,
397 return max98927_set_clock(max98927, params);
407 struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component);
411 max98927->tdm_mode = true;
421 regmap_update_bits(max98927->regmap,
443 regmap_update_bits(max98927->regmap,
448 regmap_write(max98927->regmap,
451 regmap_write(max98927->regmap,
456 regmap_write(max98927->regmap,
459 regmap_write(max98927->regmap,
464 regmap_write(max98927->regmap,
467 regmap_write(max98927->regmap,
483 struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component);
485 max98927->sysclk = freq;
500 struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component);
504 max98927->tdm_mode = false;
507 regmap_update_bits(max98927->regmap,
510 regmap_update_bits(max98927->regmap,
515 regmap_update_bits(max98927->regmap,
518 regmap_update_bits(max98927->regmap,
657 .name = "max98927-aif1",
678 struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component);
680 max98927->component = component;
683 regmap_write(max98927->regmap,
687 regmap_write(max98927->regmap,
690 regmap_write(max98927->regmap,
693 regmap_write(max98927->regmap,
696 regmap_write(max98927->regmap,
700 regmap_write(max98927->regmap,
703 regmap_write(max98927->regmap,
707 regmap_write(max98927->regmap,
711 regmap_write(max98927->regmap,
715 regmap_write(max98927->regmap,
718 regmap_write(max98927->regmap,
722 regmap_write(max98927->regmap,
725 regmap_write(max98927->regmap,
728 regmap_write(max98927->regmap,
732 regmap_write(max98927->regmap,
736 regmap_write(max98927->regmap,
739 regmap_write(max98927->regmap,
742 regmap_write(max98927->regmap,
747 regmap_write(max98927->regmap,
749 (max98927->i_l_slot<<MAX98927_PCM_TX_CH_SRC_A_I_SHIFT|
750 max98927->v_l_slot)&0xFF);
752 if (max98927->v_l_slot < 8) {
753 regmap_update_bits(max98927->regmap,
755 1 << max98927->v_l_slot, 0);
756 regmap_update_bits(max98927->regmap,
758 1 << max98927->v_l_slot,
759 1 << max98927->v_l_slot);
761 regmap_update_bits(max98927->regmap,
763 1 << (max98927->v_l_slot - 8), 0);
764 regmap_update_bits(max98927->regmap,
766 1 << (max98927->v_l_slot - 8),
767 1 << (max98927->v_l_slot - 8));
770 if (max98927->i_l_slot < 8) {
771 regmap_update_bits(max98927->regmap,
773 1 << max98927->i_l_slot, 0);
774 regmap_update_bits(max98927->regmap,
776 1 << max98927->i_l_slot,
777 1 << max98927->i_l_slot);
779 regmap_update_bits(max98927->regmap,
781 1 << (max98927->i_l_slot - 8), 0);
782 regmap_update_bits(max98927->regmap,
784 1 << (max98927->i_l_slot - 8),
785 1 << (max98927->i_l_slot - 8));
789 if (max98927->interleave_mode)
790 regmap_update_bits(max98927->regmap,
800 struct max98927_priv *max98927 = dev_get_drvdata(dev);
802 regcache_cache_only(max98927->regmap, true);
803 regcache_mark_dirty(max98927->regmap);
808 struct max98927_priv *max98927 = dev_get_drvdata(dev);
810 regmap_write(max98927->regmap,
812 regcache_cache_only(max98927->regmap, false);
813 regcache_sync(max98927->regmap);
848 struct max98927_priv *max98927)
854 max98927->v_l_slot = value & 0xF;
856 max98927->v_l_slot = 0;
859 max98927->i_l_slot = value & 0xF;
861 max98927->i_l_slot = 1;
870 struct max98927_priv *max98927 = NULL;
872 max98927 = devm_kzalloc(&i2c->dev,
873 sizeof(*max98927), GFP_KERNEL);
875 if (!max98927) {
879 i2c_set_clientdata(i2c, max98927);
885 max98927->interleave_mode = true;
887 max98927->interleave_mode = false;
889 max98927->interleave_mode = false;
892 max98927->regmap
894 if (IS_ERR(max98927->regmap)) {
895 ret = PTR_ERR(max98927->regmap);
902 ret = regmap_read(max98927->regmap,
912 max98927_slot_config(i2c, max98927);
925 { "max98927", 0},
933 { .compatible = "maxim,max98927", },
949 .name = "max98927",