Lines Matching full:mclk

217  * @i2smclk: master clock from I2S mclk provider
400 * - mclk on: in stm32_i2s_set_parent_rate()
401 * f_i2s_ck = MCKDIV * mclk-fs * fs in stm32_i2s_set_parent_rate()
402 * Here typical 256 ratio is assumed for mclk-fs in stm32_i2s_set_parent_rate()
403 * - mclk off: in stm32_i2s_set_parent_rate()
467 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_determine_rate() local
468 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_determine_rate()
475 mclk->freq = req->best_parent_rate / i2s->divider; in stm32_i2smclk_determine_rate()
477 req->rate = mclk->freq; in stm32_i2smclk_determine_rate()
485 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_recalc_rate() local
487 return mclk->freq; in stm32_i2smclk_recalc_rate()
493 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_set_rate() local
494 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_set_rate()
505 mclk->freq = rate; in stm32_i2smclk_set_rate()
512 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_enable() local
513 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_enable()
523 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_disable() local
524 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_disable()
542 struct stm32_i2smclk_data *mclk; in stm32_i2s_add_mclk_provider() local
548 mclk = devm_kzalloc(dev, sizeof(*mclk), GFP_KERNEL); in stm32_i2s_add_mclk_provider()
549 if (!mclk) in stm32_i2s_add_mclk_provider()
558 * Forge mclk clock name from parent clock name and suffix. in stm32_i2s_add_mclk_provider()
568 mclk->hw.init = CLK_HW_INIT(mclk_name, pname, &mclk_ops, 0); in stm32_i2s_add_mclk_provider()
569 mclk->i2s_data = i2s; in stm32_i2s_add_mclk_provider()
570 hw = &mclk->hw; in stm32_i2s_add_mclk_provider()
575 dev_err(dev, "mclk register fails with error %d\n", ret); in stm32_i2s_add_mclk_provider()
580 /* register mclk provider */ in stm32_i2s_add_mclk_provider()
751 dev_dbg(cpu_dai->dev, "I2S MCLK frequency is %uHz. mode: %s, dir: %s\n", in stm32_i2s_set_sysclk()
755 /* MCLK generation is available only in master mode */ in stm32_i2s_set_sysclk()
758 dev_dbg(cpu_dai->dev, "No MCLK registered\n"); in stm32_i2s_set_sysclk()
764 /* Release mclk rate only if rate was actually set */ in stm32_i2s_set_sysclk()
783 dev_err(cpu_dai->dev, "Could not set mclk rate\n"); in stm32_i2s_set_sysclk()
817 * mclk on in stm32_i2s_configure_clock()
820 * mclk off in stm32_i2s_configure_clock()
1234 /* Register mclk provider if requested */ in stm32_i2s_parse_dt()