Lines Matching full:afe
10 #include "mt8183-afe-common.h"
50 static unsigned int adda_dl_rate_transform(struct mtk_base_afe *afe, in adda_dl_rate_transform() argument
77 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_dl_rate_transform()
83 static unsigned int adda_ul_rate_transform(struct mtk_base_afe *afe, in adda_ul_rate_transform() argument
100 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_ul_rate_transform()
147 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_ul_event() local
148 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mtk_adda_ul_event()
150 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_adda_ul_event()
158 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0, in mtk_adda_ul_event()
162 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0, in mtk_adda_ul_event()
164 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0, in mtk_adda_ul_event()
166 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0, in mtk_adda_ul_event()
170 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0, in mtk_adda_ul_event()
172 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0, in mtk_adda_ul_event()
177 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */ in mtk_adda_ul_event()
201 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8183_adda_dmic_get() local
202 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mt8183_adda_dmic_get()
213 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8183_adda_dmic_set() local
214 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mt8183_adda_dmic_set()
222 dev_info(afe->dev, "%s(), kcontrol name %s, mtkaif_dmic %d\n", in mt8183_adda_dmic_set()
301 static int set_mtkaif_rx(struct mtk_base_afe *afe) in set_mtkaif_rx() argument
303 struct mt8183_afe_private *afe_priv = afe->platform_priv; in set_mtkaif_rx()
309 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x38); in set_mtkaif_rx()
310 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x39); in set_mtkaif_rx()
312 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, in set_mtkaif_rx()
326 regmap_update_bits(afe->regmap, in set_mtkaif_rx()
331 regmap_update_bits(afe->regmap, in set_mtkaif_rx()
337 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x31); in set_mtkaif_rx()
338 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, in set_mtkaif_rx()
342 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x31); in set_mtkaif_rx()
343 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, 0x0); in set_mtkaif_rx()
357 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_adda_hw_params() local
360 dev_dbg(afe->dev, "%s(), id %d, stream %d, rate %d\n", in mtk_dai_adda_hw_params()
368 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON0, 0); in mtk_dai_adda_hw_params()
369 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON1, 0); in mtk_dai_adda_hw_params()
372 dl_src2_con0 = adda_dl_rate_transform(afe, rate) << 28; in mtk_dai_adda_hw_params()
402 regmap_write(afe->regmap, AFE_ADDA_DL_SRC2_CON0, dl_src2_con0); in mtk_dai_adda_hw_params()
403 regmap_write(afe->regmap, AFE_ADDA_DL_SRC2_CON1, dl_src2_con1); in mtk_dai_adda_hw_params()
406 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
415 set_mtkaif_rx(afe); in mtk_dai_adda_hw_params()
418 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
423 voice_mode = adda_ul_rate_transform(afe, rate); in mtk_dai_adda_hw_params()
432 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_02_01, 0x00000000); in mtk_dai_adda_hw_params()
433 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_04_03, 0x00003FB8); in mtk_dai_adda_hw_params()
434 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_06_05, 0x3FB80000); in mtk_dai_adda_hw_params()
435 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_08_07, 0x3FB80000); in mtk_dai_adda_hw_params()
436 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_10_09, 0x0000C048); in mtk_dai_adda_hw_params()
438 regmap_write(afe->regmap, AFE_ADDA_UL_SRC_CON0, ul_src_con0); in mtk_dai_adda_hw_params()
441 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
490 int mt8183_dai_adda_register(struct mtk_base_afe *afe) in mt8183_dai_adda_register() argument
494 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt8183_dai_adda_register()
498 list_add(&dai->list, &afe->sub_dais); in mt8183_dai_adda_register()