Lines Matching refs:wm9081

553 	struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec);  in wm9081_set_fll()  local
560 if (Fref == wm9081->fll_fref && Fout == wm9081->fll_fout) in wm9081_set_fll()
566 wm9081->fll_fref = 0; in wm9081_set_fll()
567 wm9081->fll_fout = 0; in wm9081_set_fll()
635 wm9081->fll_fref = Fref; in wm9081_set_fll()
636 wm9081->fll_fout = Fout; in wm9081_set_fll()
643 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in configure_clock() local
650 switch (wm9081->sysclk_source) { in configure_clock()
652 if (wm9081->mclk_rate > 12225000) { in configure_clock()
654 wm9081->sysclk_rate = wm9081->mclk_rate / 2; in configure_clock()
656 wm9081->sysclk_rate = wm9081->mclk_rate; in configure_clock()
669 if (wm9081->master && wm9081->bclk) { in configure_clock()
674 target = wm9081->fs * clk_sys_rates[i].ratio; in configure_clock()
676 if (target >= wm9081->bclk && in configure_clock()
684 } else if (wm9081->fs) { in configure_clock()
687 * wm9081->fs; in configure_clock()
700 wm9081->mclk_rate, new_sysclk); in configure_clock()
702 wm9081->sysclk_rate = new_sysclk; in configure_clock()
707 wm9081->sysclk_rate = wm9081->mclk_rate; in configure_clock()
729 dev_dbg(codec->dev, "CLK_SYS is %dHz\n", wm9081->sysclk_rate); in configure_clock()
738 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in clk_sys_event() local
741 switch (wm9081->sysclk_source) { in clk_sys_event()
743 dev_dbg(codec->dev, "Using %dHz MCLK\n", wm9081->mclk_rate); in clk_sys_event()
747 wm9081->mclk_rate); in clk_sys_event()
823 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in wm9081_set_bias_level() local
842 regcache_cache_only(wm9081->regmap, false); in wm9081_set_bias_level()
843 regcache_sync(wm9081->regmap); in wm9081_set_bias_level()
897 regcache_cache_only(wm9081->regmap, true); in wm9081_set_bias_level()
910 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in wm9081_set_dai_fmt() local
918 wm9081->master = 0; in wm9081_set_dai_fmt()
922 wm9081->master = 1; in wm9081_set_dai_fmt()
926 wm9081->master = 1; in wm9081_set_dai_fmt()
930 wm9081->master = 1; in wm9081_set_dai_fmt()
1002 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in wm9081_hw_params() local
1020 wm9081->fs = params_rate(params); in wm9081_hw_params()
1022 if (wm9081->tdm_width) { in wm9081_hw_params()
1027 wm9081->bclk = wm9081->fs * wm9081->tdm_width * slots; in wm9081_hw_params()
1030 wm9081->bclk = 2 * wm9081->fs; in wm9081_hw_params()
1034 wm9081->bclk *= 16; in wm9081_hw_params()
1037 wm9081->bclk *= 20; in wm9081_hw_params()
1041 wm9081->bclk *= 24; in wm9081_hw_params()
1045 wm9081->bclk *= 32; in wm9081_hw_params()
1053 dev_dbg(codec->dev, "Target BCLK is %dHz\n", wm9081->bclk); in wm9081_hw_params()
1061 best_val = abs((wm9081->sysclk_rate / clk_sys_rates[0].ratio) in wm9081_hw_params()
1062 - wm9081->fs); in wm9081_hw_params()
1064 cur_val = abs((wm9081->sysclk_rate / in wm9081_hw_params()
1065 clk_sys_rates[i].ratio) - wm9081->fs); in wm9081_hw_params()
1078 best_val = abs(wm9081->fs - sample_rates[0].rate); in wm9081_hw_params()
1081 cur_val = abs(wm9081->fs - sample_rates[i].rate); in wm9081_hw_params()
1096 cur_val = ((wm9081->sysclk_rate * 10) / bclk_divs[i].div) in wm9081_hw_params()
1097 - wm9081->bclk; in wm9081_hw_params()
1105 wm9081->bclk = (wm9081->sysclk_rate * 10) / bclk_divs[best].div; in wm9081_hw_params()
1107 bclk_divs[best].div, wm9081->bclk); in wm9081_hw_params()
1111 dev_dbg(codec->dev, "LRCLK_RATE is %d\n", wm9081->bclk / wm9081->fs); in wm9081_hw_params()
1112 aif4 |= wm9081->bclk / wm9081->fs; in wm9081_hw_params()
1115 if (wm9081->pdata.num_retune_configs) { in wm9081_hw_params()
1116 struct wm9081_pdata *pdata = &wm9081->pdata; in wm9081_hw_params()
1121 best_val = abs(pdata->retune_configs[0].rate - wm9081->fs); in wm9081_hw_params()
1124 wm9081->fs); in wm9081_hw_params()
1176 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in wm9081_set_sysclk() local
1181 wm9081->sysclk_source = clk_id; in wm9081_set_sysclk()
1182 wm9081->mclk_rate = freq; in wm9081_set_sysclk()
1196 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in wm9081_set_tdm_slot() local
1204 wm9081->tdm_width = slot_width; in wm9081_set_tdm_slot()
1262 struct wm9081_priv *wm9081 = snd_soc_codec_get_drvdata(codec); in wm9081_probe() local
1270 if (!wm9081->pdata.num_retune_configs) { in wm9081_probe()
1312 struct wm9081_priv *wm9081; in wm9081_i2c_probe() local
1316 wm9081 = devm_kzalloc(&i2c->dev, sizeof(struct wm9081_priv), in wm9081_i2c_probe()
1318 if (wm9081 == NULL) in wm9081_i2c_probe()
1321 i2c_set_clientdata(i2c, wm9081); in wm9081_i2c_probe()
1323 wm9081->regmap = devm_regmap_init_i2c(i2c, &wm9081_regmap); in wm9081_i2c_probe()
1324 if (IS_ERR(wm9081->regmap)) { in wm9081_i2c_probe()
1325 ret = PTR_ERR(wm9081->regmap); in wm9081_i2c_probe()
1330 ret = regmap_read(wm9081->regmap, WM9081_SOFTWARE_RESET, &reg); in wm9081_i2c_probe()
1340 ret = wm9081_reset(wm9081->regmap); in wm9081_i2c_probe()
1347 memcpy(&wm9081->pdata, dev_get_platdata(&i2c->dev), in wm9081_i2c_probe()
1348 sizeof(wm9081->pdata)); in wm9081_i2c_probe()
1351 if (wm9081->pdata.irq_high) in wm9081_i2c_probe()
1353 if (!wm9081->pdata.irq_cmos) in wm9081_i2c_probe()
1355 regmap_update_bits(wm9081->regmap, WM9081_INTERRUPT_CONTROL, in wm9081_i2c_probe()
1358 regcache_cache_only(wm9081->regmap, true); in wm9081_i2c_probe()