Lines Matching refs:afe

10 #include "mt8183-afe-common.h"
50 static unsigned int adda_dl_rate_transform(struct mtk_base_afe *afe,
77 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
83 static unsigned int adda_ul_rate_transform(struct mtk_base_afe *afe,
100 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
147 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
148 struct mt8183_afe_private *afe_priv = afe->platform_priv;
150 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n",
158 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0,
162 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0,
164 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0,
166 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0,
170 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0,
172 regmap_update_bits(afe->regmap, AFE_ADDA_UL_SRC_CON0,
177 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
201 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
202 struct mt8183_afe_private *afe_priv = afe->platform_priv;
213 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
214 struct mt8183_afe_private *afe_priv = afe->platform_priv;
222 dev_info(afe->dev, "%s(), kcontrol name %s, mtkaif_dmic %d\n",
301 static int set_mtkaif_rx(struct mtk_base_afe *afe)
303 struct mt8183_afe_private *afe_priv = afe->platform_priv;
309 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x38);
310 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x39);
312 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0,
326 regmap_update_bits(afe->regmap,
331 regmap_update_bits(afe->regmap,
337 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x31);
338 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0,
342 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x31);
343 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, 0x0);
356 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
359 dev_dbg(afe->dev, "%s(), id %d, stream %d, rate %d\n",
367 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON0, 0);
368 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON1, 0);
371 dl_src2_con0 = adda_dl_rate_transform(afe, rate) << 28;
401 regmap_write(afe->regmap, AFE_ADDA_DL_SRC2_CON0, dl_src2_con0);
402 regmap_write(afe->regmap, AFE_ADDA_DL_SRC2_CON1, dl_src2_con1);
405 regmap_update_bits(afe->regmap,
414 set_mtkaif_rx(afe);
417 regmap_update_bits(afe->regmap,
422 voice_mode = adda_ul_rate_transform(afe, rate);
431 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_02_01, 0x00000000);
432 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_04_03, 0x00003FB8);
433 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_06_05, 0x3FB80000);
434 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_08_07, 0x3FB80000);
435 regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_10_09, 0x0000C048);
437 regmap_write(afe->regmap, AFE_ADDA_UL_SRC_CON0, ul_src_con0);
440 regmap_update_bits(afe->regmap,
489 int mt8183_dai_adda_register(struct mtk_base_afe *afe)
493 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL);
497 list_add(&dai->list, &afe->sub_dais);