Lines Matching refs:afe

10 #include "mt8186-afe-clk.h"
11 #include "mt8186-afe-common.h"
12 #include "mt8186-afe-gpio.h"
72 static struct mtk_afe_adda_priv *get_adda_priv_by_name(struct mtk_base_afe *afe,
75 struct mt8186_afe_private *afe_priv = afe->platform_priv;
86 static unsigned int adda_dl_rate_transform(struct mtk_base_afe *afe,
113 dev_dbg(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
120 static unsigned int adda_ul_rate_transform(struct mtk_base_afe *afe,
137 dev_dbg(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
208 static int mtk_adda_ul_src_dmic(struct mtk_base_afe *afe, int id)
222 regmap_update_bits(afe->regmap, reg,
224 regmap_update_bits(afe->regmap, reg,
228 regmap_update_bits(afe->regmap, reg,
231 regmap_update_bits(afe->regmap, reg,
234 regmap_update_bits(afe->regmap, reg,
246 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
247 struct mt8186_afe_private *afe_priv = afe->platform_priv;
250 dev_dbg(afe->dev, "%s(), name %s, event 0x%x, mtkaif_dmic %d\n",
255 mt8186_afe_gpio_request(afe->dev, true, MT8186_DAI_ADDA, 1);
260 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0,
264 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0,
267 mtk_adda_ul_src_dmic(afe, MT8186_DAI_ADDA);
271 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
273 mt8186_afe_gpio_request(afe->dev, false, MT8186_DAI_ADDA, 1);
287 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
288 struct mt8186_afe_private *afe_priv = afe->platform_priv;
293 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x39);
295 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x31);
309 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
310 struct mt8186_afe_private *afe_priv = afe->platform_priv;
318 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, 0x10000);
320 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_CFG0,
327 dev_err(afe->dev,
337 dev_err(afe->dev,
358 regmap_update_bits(afe->regmap,
364 regmap_update_bits(afe->regmap,
371 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, 0x10000);
373 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, 0);
389 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
391 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n",
396 mt8186_afe_gpio_request(afe->dev, true, MT8186_DAI_ADDA, 0);
399 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
401 mt8186_afe_gpio_request(afe->dev, false, MT8186_DAI_ADDA, 0);
414 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
415 struct mt8186_afe_private *afe_priv = afe->platform_priv;
426 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
427 struct mt8186_afe_private *afe_priv = afe->platform_priv;
432 dev_dbg(afe->dev, "%s(), kcontrol name %s, dmic_on %d\n",
542 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
545 adda_priv = get_adda_priv_by_name(afe, w->name);
548 dev_err(afe->dev, "%s(), adda_priv == NULL", __func__);
560 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
563 adda_priv = get_adda_priv_by_name(afe, w->name);
566 dev_err(afe->dev, "%s(), adda_priv == NULL", __func__);
645 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
646 struct mt8186_afe_private *afe_priv = afe->platform_priv;
651 dev_dbg(afe->dev, "%s(), id %d, stream %d, rate %d\n",
661 dl_src2_con0 = adda_dl_rate_transform(afe, rate) <<
684 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON0, 0);
685 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON1, 0);
687 regmap_write(afe->regmap,
689 regmap_write(afe->regmap,
693 regmap_update_bits(afe->regmap,
700 regmap_update_bits(afe->regmap,
704 regmap_update_bits(afe->regmap,
708 regmap_update_bits(afe->regmap,
714 regmap_write(afe->regmap,
717 regmap_update_bits(afe->regmap,
724 unsigned int voice_mode = adda_ul_rate_transform(afe, rate);
738 regmap_write(afe->regmap,
740 regmap_write(afe->regmap,
742 regmap_write(afe->regmap,
744 regmap_write(afe->regmap,
746 regmap_write(afe->regmap,
749 regmap_write(afe->regmap,
753 regmap_update_bits(afe->regmap, AFE_ADDA_TOP_CON0, BIT(0), 0);
756 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0, BIT(0), 0);
765 mtk_adda_ul_src_dmic(afe, id);
829 int mt8186_dai_adda_register(struct mtk_base_afe *afe)
832 struct mt8186_afe_private *afe_priv = afe->platform_priv;
835 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL);
839 list_add(&dai->list, &afe->sub_dais);
852 ret = mt8186_dai_set_priv(afe, MT8186_DAI_ADDA,