Lines Matching refs:iface
42 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
57 iface->slots = slots;
81 iface->slot_width = slot_width;
103 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
107 if (!iface->mclk) {
110 ret = clk_set_rate(iface->mclk, freq);
112 iface->mclk_rate = freq;
121 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
125 if (!iface->mclk) {
142 iface->fmt = fmt;
149 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
163 iface->rate);
168 MAX_SCLK / (iface->slots * iface->slot_width);
175 dev_err(dai->dev, "can't set iface rate constraint\n");
186 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
192 iface->rate = params_rate(params);
200 if (iface->slot_width < width) {
216 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
220 ret = clk_set_rate(iface->lrclk, params_rate(params));
226 switch (iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
249 ret = clk_set_duty_cycle(iface->lrclk, ratio_num, 2);
257 ret = clk_set_phase(iface->lrclk,
258 axg_tdm_lrclk_invert(iface->fmt) ? 180 : 0);
271 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
275 srate = iface->slots * iface->slot_width * params_rate(params);
277 if (!iface->mclk_rate) {
279 clk_set_rate(iface->mclk, 2 * srate);
282 if (iface->mclk_rate % srate) {
285 srate, iface->mclk_rate);
290 ret = clk_set_rate(iface->sclk, srate);
297 ret = clk_set_phase(iface->sclk,
298 axg_tdm_sclk_invert(iface->fmt) ? 0 : 180);
311 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
314 switch (iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
318 if (iface->slots > 2) {
320 iface->slots);
338 if ((iface->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) ==
388 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai);
397 ts = axg_tdm_stream_alloc(iface);
457 struct axg_tdm_iface *iface = snd_soc_component_get_drvdata(component);
465 ret = clk_prepare_enable(iface->mclk);
470 clk_disable_unprepare(iface->mclk);
498 { .compatible = "amlogic,axg-tdm-iface", },
507 struct axg_tdm_iface *iface;
510 iface = devm_kzalloc(dev, sizeof(*iface), GFP_KERNEL);
511 if (!iface)
513 platform_set_drvdata(pdev, iface);
530 iface->sclk = devm_clk_get(dev, "sclk");
531 if (IS_ERR(iface->sclk))
532 return dev_err_probe(dev, PTR_ERR(iface->sclk), "failed to get sclk\n");
535 iface->lrclk = devm_clk_get(dev, "lrclk");
536 if (IS_ERR(iface->lrclk))
537 return dev_err_probe(dev, PTR_ERR(iface->lrclk), "failed to get lrclk\n");
545 iface->mclk = devm_clk_get_optional(dev, "mclk");
546 if (IS_ERR(iface->mclk))
547 return dev_err_probe(dev, PTR_ERR(iface->mclk), "failed to get mclk\n");
557 .name = "axg-tdm-iface",