Lines Matching full:mclk
213 * @i2smclk: master clock from I2S mclk provider
337 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_round_rate() local
338 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_round_rate()
345 mclk->freq = *prate / i2s->divider; in stm32_i2smclk_round_rate()
347 return mclk->freq; in stm32_i2smclk_round_rate()
353 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_recalc_rate() local
355 return mclk->freq; in stm32_i2smclk_recalc_rate()
361 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_set_rate() local
362 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_set_rate()
373 mclk->freq = rate; in stm32_i2smclk_set_rate()
380 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_enable() local
381 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_enable()
391 struct stm32_i2smclk_data *mclk = to_mclk_data(hw); in stm32_i2smclk_disable() local
392 struct stm32_i2s_data *i2s = mclk->i2s_data; in stm32_i2smclk_disable()
410 struct stm32_i2smclk_data *mclk; in stm32_i2s_add_mclk_provider() local
416 mclk = devm_kzalloc(dev, sizeof(*mclk), GFP_KERNEL); in stm32_i2s_add_mclk_provider()
417 if (!mclk) in stm32_i2s_add_mclk_provider()
426 * Forge mclk clock name from parent clock name and suffix. in stm32_i2s_add_mclk_provider()
436 mclk->hw.init = CLK_HW_INIT(mclk_name, pname, &mclk_ops, 0); in stm32_i2s_add_mclk_provider()
437 mclk->i2s_data = i2s; in stm32_i2s_add_mclk_provider()
438 hw = &mclk->hw; in stm32_i2s_add_mclk_provider()
443 dev_err(dev, "mclk register fails with error %d\n", ret); in stm32_i2s_add_mclk_provider()
448 /* register mclk provider */ in stm32_i2s_add_mclk_provider()
619 dev_dbg(cpu_dai->dev, "I2S MCLK frequency is %uHz. mode: %s, dir: %s\n", in stm32_i2s_set_sysclk()
623 /* MCLK generation is available only in master mode */ in stm32_i2s_set_sysclk()
626 dev_dbg(cpu_dai->dev, "No MCLK registered\n"); in stm32_i2s_set_sysclk()
632 /* Release mclk rate only if rate was actually set */ in stm32_i2s_set_sysclk()
647 dev_err(cpu_dai->dev, "Could not set mclk rate\n"); in stm32_i2s_set_sysclk()
680 * mclk on in stm32_i2s_configure_clock()
683 * mclk off in stm32_i2s_configure_clock()
1078 /* Register mclk provider if requested */ in stm32_i2s_parse_dt()