Lines Matching full: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, in adda_dl_rate_transform() argument
96 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_dl_rate_transform()
102 static unsigned int adda_ul_rate_transform(struct mtk_base_afe *afe, in adda_ul_rate_transform() argument
119 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_ul_rate_transform()
259 static int mtk_adda_ul_src_dmic(struct mtk_base_afe *afe, int id) in mtk_adda_ul_src_dmic() argument
277 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic()
280 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic()
285 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic()
288 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic()
291 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic()
302 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_ul_event() local
303 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mtk_adda_ul_event()
306 dev_info(afe->dev, "%s(), name %s, event 0x%x, mtkaif_dmic %d\n", in mtk_adda_ul_event()
311 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 1); in mtk_adda_ul_event()
316 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0, in mtk_adda_ul_event()
320 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_RX_CFG0, in mtk_adda_ul_event()
323 mtk_adda_ul_src_dmic(afe, MT8192_DAI_ADDA); in mtk_adda_ul_event()
327 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */ in mtk_adda_ul_event()
329 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 1); in mtk_adda_ul_event()
343 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_ch34_ul_event() local
344 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mtk_adda_ch34_ul_event()
348 dev_info(afe->dev, in mtk_adda_ch34_ul_event()
354 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, in mtk_adda_ch34_ul_event()
360 regmap_update_bits(afe->regmap, in mtk_adda_ch34_ul_event()
365 regmap_update_bits(afe->regmap, in mtk_adda_ch34_ul_event()
369 mtk_adda_ul_src_dmic(afe, MT8192_DAI_ADDA_CH34); in mtk_adda_ch34_ul_event()
377 regmap_update_bits(afe->regmap, in mtk_adda_ch34_ul_event()
383 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */ in mtk_adda_ch34_ul_event()
385 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, in mtk_adda_ch34_ul_event()
392 regmap_update_bits(afe->regmap, in mtk_adda_ch34_ul_event()
409 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_pad_top_event() local
410 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mtk_adda_pad_top_event()
415 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x38); in mtk_adda_pad_top_event()
417 regmap_write(afe->regmap, AFE_AUD_PAD_TOP, 0x30); in mtk_adda_pad_top_event()
431 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_mtkaif_cfg_event() local
432 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mtk_adda_mtkaif_cfg_event()
440 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, in mtk_adda_mtkaif_cfg_event()
442 regmap_write(afe->regmap, AFE_ADDA6_MTKAIF_CFG0, in mtk_adda_mtkaif_cfg_event()
448 dev_warn(afe->dev, in mtk_adda_mtkaif_cfg_event()
456 dev_warn(afe->dev, in mtk_adda_mtkaif_cfg_event()
464 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_CFG0, in mtk_adda_mtkaif_cfg_event()
467 regmap_update_bits(afe->regmap, AFE_ADDA6_MTKAIF_CFG0, in mtk_adda_mtkaif_cfg_event()
483 regmap_update_bits(afe->regmap, in mtk_adda_mtkaif_cfg_event()
489 regmap_update_bits(afe->regmap, in mtk_adda_mtkaif_cfg_event()
507 regmap_update_bits(afe->regmap, in mtk_adda_mtkaif_cfg_event()
512 regmap_update_bits(afe->regmap, in mtk_adda_mtkaif_cfg_event()
518 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, in mtk_adda_mtkaif_cfg_event()
520 regmap_write(afe->regmap, AFE_ADDA6_MTKAIF_CFG0, in mtk_adda_mtkaif_cfg_event()
523 regmap_write(afe->regmap, AFE_ADDA_MTKAIF_CFG0, 0x0); in mtk_adda_mtkaif_cfg_event()
524 regmap_write(afe->regmap, AFE_ADDA6_MTKAIF_CFG0, 0x0); in mtk_adda_mtkaif_cfg_event()
539 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_dl_event() local
541 dev_info(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_adda_dl_event()
546 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 0); in mtk_adda_dl_event()
549 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */ in mtk_adda_dl_event()
551 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 0); in mtk_adda_dl_event()
565 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_adda_ch34_dl_event() local
567 dev_info(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_adda_ch34_dl_event()
572 mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, in mtk_adda_ch34_dl_event()
576 /* should delayed 1/fs(smallest is 8k) = 125us before afe off */ in mtk_adda_ch34_dl_event()
578 mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, in mtk_adda_ch34_dl_event()
593 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in stf_positive_gain_get() local
594 struct mt8192_afe_private *afe_priv = afe->platform_priv; in stf_positive_gain_get()
604 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in stf_positive_gain_set() local
605 struct mt8192_afe_private *afe_priv = afe->platform_priv; in stf_positive_gain_set()
611 regmap_update_bits(afe->regmap, in stf_positive_gain_set()
616 dev_warn(afe->dev, "%s(), gain_db %d invalid\n", in stf_positive_gain_set()
626 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8192_adda_dmic_get() local
627 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mt8192_adda_dmic_get()
637 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8192_adda_dmic_set() local
638 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mt8192_adda_dmic_set()
643 dev_info(afe->dev, "%s(), kcontrol name %s, dmic_on %d\n", in mt8192_adda_dmic_set()
655 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8192_adda6_only_get() local
656 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mt8192_adda6_only_get()
666 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8192_adda6_only_set() local
667 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mt8192_adda6_only_set()
672 dev_info(afe->dev, "%s(), kcontrol name %s, mtkaif_adda6_only %d\n", in mt8192_adda6_only_set()
729 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_stf_event() local
736 regmap_read(afe->regmap, AFE_ADDA_UL_SRC_CON0, &ul_rate); in mtk_stf_event()
751 regmap_read(afe->regmap, AFE_SIDETONE_CON1, ®_value); in mtk_stf_event()
753 dev_info(afe->dev, "%s(), name %s, event 0x%x, ul_rate 0x%x, AFE_SIDETONE_CON1 0x%x\n", in mtk_stf_event()
759 regmap_update_bits(afe->regmap, in mtk_stf_event()
763 regmap_update_bits(afe->regmap, in mtk_stf_event()
768 regmap_update_bits(afe->regmap, in mtk_stf_event()
773 regmap_update_bits(afe->regmap, in mtk_stf_event()
779 regmap_read(afe->regmap, AFE_SIDETONE_CON0, ®_value); in mtk_stf_event()
785 regmap_update_bits(afe->regmap, in mtk_stf_event()
797 regmap_read(afe->regmap, in mtk_stf_event()
805 dev_warn(afe->dev, in mtk_stf_event()
814 regmap_update_bits(afe->regmap, in mtk_stf_event()
822 regmap_update_bits(afe->regmap, in mtk_stf_event()
828 regmap_update_bits(afe->regmap, in mtk_stf_event()
832 regmap_update_bits(afe->regmap, in mtk_stf_event()
1162 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_adda_hw_params() local
1166 dev_info(afe->dev, "%s(), id %d, stream %d, rate %d\n", in mtk_dai_adda_hw_params()
1177 dl_src2_con0 = adda_dl_rate_transform(afe, rate) << in mtk_dai_adda_hw_params()
1200 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON0, 0); in mtk_dai_adda_hw_params()
1201 regmap_write(afe->regmap, AFE_ADDA_PREDIS_CON1, 0); in mtk_dai_adda_hw_params()
1203 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1205 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1209 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1216 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1222 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1225 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1231 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1233 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1236 regmap_write(afe->regmap, AFE_ADDA_3RD_DAC_DL_SRC2_CON0, in mtk_dai_adda_hw_params()
1238 regmap_write(afe->regmap, AFE_ADDA_3RD_DAC_DL_SRC2_CON1, in mtk_dai_adda_hw_params()
1242 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1249 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1255 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1258 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1267 voice_mode = adda_ul_rate_transform(afe, rate); in mtk_dai_adda_hw_params()
1281 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1283 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1285 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1287 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1289 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1292 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1296 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1302 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1310 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1312 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1314 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1316 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1318 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1321 regmap_write(afe->regmap, in mtk_dai_adda_hw_params()
1325 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1331 regmap_update_bits(afe->regmap, in mtk_dai_adda_hw_params()
1344 mtk_adda_ul_src_dmic(afe, id); in mtk_dai_adda_hw_params()
1439 int mt8192_dai_adda_register(struct mtk_base_afe *afe) in mt8192_dai_adda_register() argument
1442 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mt8192_dai_adda_register()
1444 dev_info(afe->dev, "%s()\n", __func__); in mt8192_dai_adda_register()
1446 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt8192_dai_adda_register()
1450 list_add(&dai->list, &afe->sub_dais); in mt8192_dai_adda_register()