Lines Matching full:mclk
55 saif->mclk = freq; in mxs_saif_set_dai_sysclk()
75 * Set SAIF clock and MCLK
78 unsigned int mclk, in mxs_saif_set_clk() argument
85 dev_dbg(saif->dev, "mclk %d rate %d\n", mclk, rate); in mxs_saif_set_clk()
110 * If MCLK is used, the SAIF clk ratio needs to match mclk ratio. in mxs_saif_set_clk()
114 * If MCLK is not used, we just set saif clk to 512*fs. in mxs_saif_set_clk()
121 switch (mclk / rate) { in mxs_saif_set_clk()
138 /* SAIF MCLK should be a sub-rate of 512x or 384x */ in mxs_saif_set_clk()
160 * Program the over-sample rate for MCLK output in mxs_saif_set_clk()
162 * The available MCLK range is 32x, 48x... 512x. The rate in mxs_saif_set_clk()
165 switch (mclk / rate) { in mxs_saif_set_clk()
203 * Put and disable MCLK.
221 /* disable MCLK output */ in mxs_saif_put_mclk()
233 * Get MCLK and set clock rate, then enable it
235 * This interface is used for codecs who are using MCLK provided
238 int mxs_saif_get_mclk(unsigned int saif_id, unsigned int mclk, in mxs_saif_get_mclk() argument
259 dev_err(saif->dev, "can not get mclk from a non-master saif\n"); in mxs_saif_get_mclk()
270 ret = mxs_saif_set_clk(saif, mclk, rate); in mxs_saif_get_mclk()
278 /* enable MCLK output */ in mxs_saif_get_mclk()
427 /* mclk should already be set */ in mxs_saif_hw_params()
428 if (!saif->mclk && saif->mclk_in_use) { in mxs_saif_hw_params()
429 dev_err(cpu_dai->dev, "set mclk first\n"); in mxs_saif_hw_params()
441 * If mclk is used, we also set mclk, if not, saif->mclk is in mxs_saif_hw_params()
444 ret = mxs_saif_set_clk(saif, saif->mclk, params_rate(params)); in mxs_saif_hw_params()
715 dev_err(&pdev->dev, "failed to register mclk: %d\n", ret); in mxs_saif_mclk_init()