Lines Matching defs:afe
9 #include "mt8186-afe-common.h"
99 static unsigned int mtk_get_src_freq_mode(struct mtk_base_afe *afe, int rate)
129 dev_err(afe->dev, "%s(), rate %d invalid!!!\n",
171 static int mtk_set_src_1_param(struct mtk_base_afe *afe, int id)
173 struct mt8186_afe_private *afe_priv = afe->platform_priv;
179 unsigned int out_freq_mode = mtk_get_src_freq_mode(afe, rate_out);
180 unsigned int in_freq_mode = mtk_get_src_freq_mode(afe, rate_in);
183 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON3,
188 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON4,
192 regmap_write(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON5, 0x3f5986);
193 regmap_write(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON5, 0x3f5987);
194 regmap_write(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON6, 0x1fbd);
195 regmap_write(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON2, 0);
204 dev_err(afe->dev, "%s(), iir coeff error, num %d, coeff %p\n",
210 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON0,
214 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON13,
218 regmap_write(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON12,
221 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON0,
225 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON2,
229 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON2,
234 regmap_update_bits(afe->regmap, AFE_GENERAL1_ASRC_2CH_CON2,
241 static int mtk_set_src_2_param(struct mtk_base_afe *afe, int id)
243 struct mt8186_afe_private *afe_priv = afe->platform_priv;
249 unsigned int out_freq_mode = mtk_get_src_freq_mode(afe, rate_out);
250 unsigned int in_freq_mode = mtk_get_src_freq_mode(afe, rate_in);
253 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON3,
258 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON4,
262 regmap_write(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON5, 0x3f5986);
263 regmap_write(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON5, 0x3f5987);
264 regmap_write(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON6, 0x1fbd);
265 regmap_write(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON2, 0);
274 dev_err(afe->dev, "%s(), iir coeff error, num %d, coeff %p\n",
280 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON0,
284 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON13,
288 regmap_write(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON12,
291 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON0,
295 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON2,
299 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON2,
304 regmap_update_bits(afe->regmap, AFE_GENERAL2_ASRC_2CH_CON2,
319 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
320 struct mt8186_afe_private *afe_priv = afe->platform_priv;
332 dev_dbg(afe->dev,
340 mtk_set_src_1_param(afe, id);
342 mtk_set_src_2_param(afe, id);
348 regmap_update_bits(afe->regmap, reg,
352 regmap_update_bits(afe->regmap, reg,
356 regmap_update_bits(afe->regmap, reg,
364 regmap_update_bits(afe->regmap, reg, G_SRC_ASM_ON_MASK_SFT, 0);
366 regmap_update_bits(afe->regmap, reg, G_SRC_CHSET_ON_MASK_SFT, 0);
368 regmap_update_bits(afe->regmap, reg, G_SRC_CHSET_STR_CLR_MASK_SFT, 0);
486 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
487 struct mt8186_afe_private *afe_priv = afe->platform_priv;
495 dev_dbg(afe->dev,
551 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
552 struct mt8186_afe_private *afe_priv = afe->platform_priv;
557 unsigned int rate_reg = mt8186_rate_transform(afe->dev, rate, id);
559 dev_dbg(afe->dev, "%s(), id %d, stream %d, rate %d\n",
583 regmap_update_bits(afe->regmap, GENERAL_ASRC_MODE, mask << sft, rate_reg << sft);
591 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
592 struct mt8186_afe_private *afe_priv = afe->platform_priv;
596 dev_dbg(afe->dev, "%s(), id %d, stream %d\n",
664 int mt8186_dai_src_register(struct mtk_base_afe *afe)
669 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL);
673 list_add(&dai->list, &afe->sub_dais);
684 ret = mt8186_dai_set_priv(afe, MT8186_DAI_SRC_1,
689 ret = mt8186_dai_set_priv(afe, MT8186_DAI_SRC_2,