Lines Matching refs:afe
12 #include "mt8192-afe-clk.h"
13 #include "mt8192-afe-common.h"
14 #include "mt8192-afe-gpio.h"
69 static unsigned int adda_dl_rate_transform(struct mtk_base_afe *afe,
96 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
102 static unsigned int adda_ul_rate_transform(struct mtk_base_afe *afe,
119 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
259 static int mtk_adda_ul_src_dmic(struct mtk_base_afe *afe, int id)
277 regmap_update_bits(afe->regmap, reg,
280 regmap_update_bits(afe->regmap, reg,
285 regmap_update_bits(afe->regmap, reg,
288 regmap_update_bits(afe->regmap, reg,
291 regmap_update_bits(afe->regmap, reg,
302 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
303 struct mt8192_afe_private *afe_priv = afe->platform_priv;
308 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 1);
313 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0,
317 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0,
320 mtk_adda_ul_src_dmic(afe, MT8192_DAI_ADDA);
324 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
326 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 1);
340 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
341 struct mt8192_afe_private *afe_priv = afe->platform_priv;
347 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34,
353 regmap_update_bits(afe->regmap,
358 regmap_update_bits(afe->regmap,
362 mtk_adda_ul_src_dmic(afe, MT8192_DAI_ADDA_CH34);
370 regmap_update_bits(afe->regmap,
376 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
378 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34,
385 regmap_update_bits(afe->regmap,
402 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
403 struct mt8192_afe_private *afe_priv = afe->platform_priv;
408 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x38);
410 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x30);
424 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
425 struct mt8192_afe_private *afe_priv = afe->platform_priv;
433 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0,
435 regmap_write(afe->regmap, AFE_ADDA6_MTKAIF_CFG0,
441 dev_warn(afe->dev,
449 dev_warn(afe->dev,
457 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_CFG0,
460 regmap_update_bits(afe->regmap, AFE_ADDA6_MTKAIF_CFG0,
476 regmap_update_bits(afe->regmap,
482 regmap_update_bits(afe->regmap,
500 regmap_update_bits(afe->regmap,
505 regmap_update_bits(afe->regmap,
511 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0,
513 regmap_write(afe->regmap, AFE_ADDA6_MTKAIF_CFG0,
516 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, 0x0);
517 regmap_write(afe->regmap, AFE_ADDA6_MTKAIF_CFG0, 0x0);
532 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
536 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 0);
539 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
541 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 0);
555 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
559 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34,
563 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
565 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34,
580 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
581 struct mt8192_afe_private *afe_priv = afe->platform_priv;
591 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
592 struct mt8192_afe_private *afe_priv = afe->platform_priv;
599 regmap_update_bits_check(afe->regmap,
615 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
616 struct mt8192_afe_private *afe_priv = afe->platform_priv;
626 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
627 struct mt8192_afe_private *afe_priv = afe->platform_priv;
646 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
647 struct mt8192_afe_private *afe_priv = afe->platform_priv;
657 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
658 struct mt8192_afe_private *afe_priv = afe->platform_priv;
720 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
727 regmap_read(afe->regmap, AFE_ADDA_UL_SRC_CON0, &ul_rate);
742 regmap_read(afe->regmap, AFE_SIDETONE_CON1, ®_value);
747 regmap_update_bits(afe->regmap,
751 regmap_update_bits(afe->regmap,
756 regmap_update_bits(afe->regmap,
761 regmap_update_bits(afe->regmap,
767 regmap_read(afe->regmap, AFE_SIDETONE_CON0, ®_value);
773 regmap_update_bits(afe->regmap,
785 regmap_read(afe->regmap,
793 dev_warn(afe->dev,
802 regmap_update_bits(afe->regmap,
810 regmap_update_bits(afe->regmap,
816 regmap_update_bits(afe->regmap,
820 regmap_update_bits(afe->regmap,
1150 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
1159 dl_src2_con0 = adda_dl_rate_transform(afe, rate) <<
1182 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON0, 0);
1183 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON1, 0);
1185 regmap_write(afe->regmap,
1187 regmap_write(afe->regmap,
1191 regmap_update_bits(afe->regmap,
1198 regmap_update_bits(afe->regmap,
1204 regmap_write(afe->regmap,
1207 regmap_update_bits(afe->regmap,
1213 regmap_write(afe->regmap,
1215 regmap_write(afe->regmap,
1218 regmap_write(afe->regmap, AFE_ADDA_3RD_DAC_DL_SRC2_CON0,
1220 regmap_write(afe->regmap, AFE_ADDA_3RD_DAC_DL_SRC2_CON1,
1224 regmap_update_bits(afe->regmap,
1231 regmap_update_bits(afe->regmap,
1237 regmap_write(afe->regmap,
1240 regmap_update_bits(afe->regmap,
1249 voice_mode = adda_ul_rate_transform(afe, rate);
1263 regmap_write(afe->regmap,
1265 regmap_write(afe->regmap,
1267 regmap_write(afe->regmap,
1269 regmap_write(afe->regmap,
1271 regmap_write(afe->regmap,
1274 regmap_write(afe->regmap,
1278 regmap_update_bits(afe->regmap,
1284 regmap_update_bits(afe->regmap,
1292 regmap_write(afe->regmap,
1294 regmap_write(afe->regmap,
1296 regmap_write(afe->regmap,
1298 regmap_write(afe->regmap,
1300 regmap_write(afe->regmap,
1303 regmap_write(afe->regmap,
1307 regmap_update_bits(afe->regmap,
1313 regmap_update_bits(afe->regmap,
1326 mtk_adda_ul_src_dmic(afe, id);
1421 int mt8192_dai_adda_register(struct mtk_base_afe *afe)
1424 struct mt8192_afe_private *afe_priv = afe->platform_priv;
1426 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL);
1430 list_add(&dai->list, &afe->sub_dais);