Lines Matching refs:tdm_priv

252 	struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai_id];  in mtk_tdm_en_event()  local
254 if (!tdm_priv) { in mtk_tdm_en_event()
264 mt8192_afe_gpio_request(afe->dev, true, tdm_priv->id, 0); in mtk_tdm_en_event()
267 mt8192_afe_gpio_request(afe->dev, false, tdm_priv->id, 0); in mtk_tdm_en_event()
284 struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai_id]; in mtk_tdm_bck_en_event() local
286 if (!tdm_priv) { in mtk_tdm_bck_en_event()
296 mt8192_mck_enable(afe, tdm_priv->bck_id, tdm_priv->bck_rate); in mtk_tdm_bck_en_event()
299 mt8192_mck_disable(afe, tdm_priv->bck_id); in mtk_tdm_bck_en_event()
316 struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai_id]; in mtk_tdm_mck_en_event() local
318 if (!tdm_priv) { in mtk_tdm_mck_en_event()
328 mt8192_mck_enable(afe, tdm_priv->mclk_id, tdm_priv->mclk_rate); in mtk_tdm_mck_en_event()
331 tdm_priv->mclk_rate = 0; in mtk_tdm_mck_en_event()
332 mt8192_mck_disable(afe, tdm_priv->mclk_id); in mtk_tdm_mck_en_event()
385 struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai_id]; in mtk_afe_tdm_apll_connect() local
391 return (tdm_priv->mclk_apll == cur_apll) ? 1 : 0; in mtk_afe_tdm_apll_connect()
486 struct mtk_afe_tdm_priv *tdm_priv, in mtk_dai_tdm_cal_mclk() argument
507 tdm_priv->mclk_rate = freq; in mtk_dai_tdm_cal_mclk()
508 tdm_priv->mclk_apll = apll; in mtk_dai_tdm_cal_mclk()
520 struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[tdm_id]; in mtk_dai_tdm_hw_params() local
521 unsigned int tdm_out_mode = tdm_priv->tdm_out_mode; in mtk_dai_tdm_hw_params()
530 if (!tdm_priv->mclk_rate) { in mtk_dai_tdm_hw_params()
531 tdm_priv->mclk_rate = rate * tdm_priv->mclk_multiple; in mtk_dai_tdm_hw_params()
533 tdm_priv, in mtk_dai_tdm_hw_params()
534 tdm_priv->mclk_rate); in mtk_dai_tdm_hw_params()
538 tdm_priv->bck_rate = rate * in mtk_dai_tdm_hw_params()
542 if (tdm_priv->bck_rate > tdm_priv->mclk_rate) in mtk_dai_tdm_hw_params()
545 if (tdm_priv->mclk_rate % tdm_priv->bck_rate != 0) in mtk_dai_tdm_hw_params()
551 tdm_priv->mclk_rate, tdm_priv->bck_rate); in mtk_dai_tdm_hw_params()
557 if (tdm_priv->bck_invert) in mtk_dai_tdm_hw_params()
562 if (tdm_priv->lck_invert) in mtk_dai_tdm_hw_params()
565 if (tdm_priv->tdm_out_mode == TDM_OUT_I2S) { in mtk_dai_tdm_hw_params()
568 } else if (tdm_priv->tdm_out_mode == TDM_OUT_DSP_A) { in mtk_dai_tdm_hw_params()
571 } else if (tdm_priv->tdm_out_mode == TDM_OUT_DSP_B) { in mtk_dai_tdm_hw_params()
635 struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai->id]; in mtk_dai_tdm_set_sysclk() local
637 if (!tdm_priv) { in mtk_dai_tdm_set_sysclk()
649 return mtk_dai_tdm_cal_mclk(afe, tdm_priv, freq); in mtk_dai_tdm_set_sysclk()
656 struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai->id]; in mtk_dai_tdm_set_fmt() local
658 if (!tdm_priv) { in mtk_dai_tdm_set_fmt()
666 tdm_priv->tdm_out_mode = TDM_OUT_I2S; in mtk_dai_tdm_set_fmt()
669 tdm_priv->tdm_out_mode = TDM_OUT_DSP_A; in mtk_dai_tdm_set_fmt()
672 tdm_priv->tdm_out_mode = TDM_OUT_DSP_B; in mtk_dai_tdm_set_fmt()
675 tdm_priv->tdm_out_mode = TDM_OUT_I2S; in mtk_dai_tdm_set_fmt()
681 tdm_priv->bck_invert = TDM_BCK_NON_INV; in mtk_dai_tdm_set_fmt()
682 tdm_priv->lck_invert = TDM_LCK_NON_INV; in mtk_dai_tdm_set_fmt()
685 tdm_priv->bck_invert = TDM_BCK_NON_INV; in mtk_dai_tdm_set_fmt()
686 tdm_priv->lck_invert = TDM_LCK_INV; in mtk_dai_tdm_set_fmt()
689 tdm_priv->bck_invert = TDM_BCK_INV; in mtk_dai_tdm_set_fmt()
690 tdm_priv->lck_invert = TDM_LCK_NON_INV; in mtk_dai_tdm_set_fmt()
694 tdm_priv->bck_invert = TDM_BCK_INV; in mtk_dai_tdm_set_fmt()
695 tdm_priv->lck_invert = TDM_LCK_INV; in mtk_dai_tdm_set_fmt()
736 struct mtk_afe_tdm_priv *tdm_priv; in init_tdm_priv_data() local
738 tdm_priv = devm_kzalloc(afe->dev, sizeof(struct mtk_afe_tdm_priv), in init_tdm_priv_data()
740 if (!tdm_priv) in init_tdm_priv_data()
743 tdm_priv->mclk_multiple = 512; in init_tdm_priv_data()
744 tdm_priv->bck_id = MT8192_I2S4_BCK; in init_tdm_priv_data()
745 tdm_priv->mclk_id = MT8192_I2S4_MCK; in init_tdm_priv_data()
746 tdm_priv->id = MT8192_DAI_TDM; in init_tdm_priv_data()
748 return tdm_priv; in init_tdm_priv_data()
754 struct mtk_afe_tdm_priv *tdm_priv; in mt8192_dai_tdm_register() local
771 tdm_priv = init_tdm_priv_data(afe); in mt8192_dai_tdm_register()
772 if (!tdm_priv) in mt8192_dai_tdm_register()
775 afe_priv->dai_priv[MT8192_DAI_TDM] = tdm_priv; in mt8192_dai_tdm_register()