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_round_rate() local
468 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_round_rate()
475 mclk->freq = *prate / i2s->divider; in stm32_i2smclk_round_rate()
477 return mclk->freq; in stm32_i2smclk_round_rate()
483 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_recalc_rate() local
485 return mclk->freq; in stm32_i2smclk_recalc_rate()
491 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_set_rate() local
492 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_set_rate()
503 mclk->freq = rate; in stm32_i2smclk_set_rate()
510 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_enable() local
511 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_enable()
521 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_disable() local
522 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_disable()
540 struct stm32_i2smclk_data *mclk; in stm32_i2s_add_mclk_provider() local
546 mclk = devm_kzalloc(dev, sizeof(*mclk), GFP_KERNEL); in stm32_i2s_add_mclk_provider()
547 if (!mclk) in stm32_i2s_add_mclk_provider()
556 * Forge mclk clock name from parent clock name and suffix. in stm32_i2s_add_mclk_provider()
566 mclk->hw.init = CLK_HW_INIT(mclk_name, pname, &mclk_ops, 0); in stm32_i2s_add_mclk_provider()
567 mclk->i2s_data = i2s; in stm32_i2s_add_mclk_provider()
568 hw = &mclk->hw; in stm32_i2s_add_mclk_provider()
573 dev_err(dev, "mclk register fails with error %d\n", ret); in stm32_i2s_add_mclk_provider()
578 /* register mclk provider */ in stm32_i2s_add_mclk_provider()
749 dev_dbg(cpu_dai->dev, "I2S MCLK frequency is %uHz. mode: %s, dir: %s\n", in stm32_i2s_set_sysclk()
753 /* MCLK generation is available only in master mode */ in stm32_i2s_set_sysclk()
756 dev_dbg(cpu_dai->dev, "No MCLK registered\n"); in stm32_i2s_set_sysclk()
762 /* Release mclk rate only if rate was actually set */ in stm32_i2s_set_sysclk()
781 dev_err(cpu_dai->dev, "Could not set mclk rate\n"); in stm32_i2s_set_sysclk()
815 * mclk on in stm32_i2s_configure_clock()
818 * mclk off in stm32_i2s_configure_clock()
1232 /* Register mclk provider if requested */ in stm32_i2s_parse_dt()