Lines Matching full:afe
14 #include "mt7986-afe-common.h"
121 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_etdm_startup() local
122 struct mt7986_afe_private *afe_priv = afe->platform_priv; in mtk_dai_etdm_startup()
127 return dev_err_probe(afe->dev, ret, "Failed to enable clocks\n"); in mtk_dai_etdm_startup()
129 regmap_update_bits(afe->regmap, AUDIO_TOP_CON2, CLK_OUT5_PDN_MASK, 0); in mtk_dai_etdm_startup()
130 regmap_update_bits(afe->regmap, AUDIO_TOP_CON2, CLK_IN5_PDN_MASK, 0); in mtk_dai_etdm_startup()
138 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_etdm_shutdown() local
139 struct mt7986_afe_private *afe_priv = afe->platform_priv; in mtk_dai_etdm_shutdown()
141 regmap_update_bits(afe->regmap, AUDIO_TOP_CON2, CLK_OUT5_PDN_MASK, in mtk_dai_etdm_shutdown()
143 regmap_update_bits(afe->regmap, AUDIO_TOP_CON2, CLK_IN5_PDN_MASK, in mtk_dai_etdm_shutdown()
163 static int mtk_dai_etdm_config(struct mtk_base_afe *afe, in mtk_dai_etdm_config() argument
168 struct mt7986_afe_private *afe_priv = afe->platform_priv; in mtk_dai_etdm_config()
171 unsigned int etdm_rate = mt7986_etdm_rate_transform(afe->dev, rate); in mtk_dai_etdm_config()
172 unsigned int afe_rate = mt7986_afe_rate_transform(afe->dev, rate); in mtk_dai_etdm_config()
179 dev_dbg(afe->dev, "%s(), stream %d, rate %u, bitwidth %u\n", in mtk_dai_etdm_config()
197 regmap_update_bits(afe->regmap, ETDM_OUT5_CON0, mask, val); in mtk_dai_etdm_config()
200 regmap_update_bits(afe->regmap, ETDM_OUT5_CON4, in mtk_dai_etdm_config()
202 regmap_update_bits(afe->regmap, ETDM_OUT5_CON4, in mtk_dai_etdm_config()
204 regmap_update_bits(afe->regmap, ETDM_OUT5_CON4, in mtk_dai_etdm_config()
208 regmap_update_bits(afe->regmap, ETDM_OUT5_CON5, in mtk_dai_etdm_config()
213 regmap_update_bits(afe->regmap, ETDM_IN5_CON0, mask, val); in mtk_dai_etdm_config()
214 regmap_update_bits(afe->regmap, ETDM_IN5_CON0, in mtk_dai_etdm_config()
218 regmap_update_bits(afe->regmap, ETDM_IN5_CON2, in mtk_dai_etdm_config()
222 regmap_update_bits(afe->regmap, ETDM_IN5_CON3, in mtk_dai_etdm_config()
226 regmap_update_bits(afe->regmap, ETDM_IN5_CON4, in mtk_dai_etdm_config()
240 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_etdm_hw_params() local
242 mtk_dai_etdm_config(afe, params, dai, SNDRV_PCM_STREAM_PLAYBACK); in mtk_dai_etdm_hw_params()
243 mtk_dai_etdm_config(afe, params, dai, SNDRV_PCM_STREAM_CAPTURE); in mtk_dai_etdm_hw_params()
251 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_etdm_trigger() local
253 dev_dbg(afe->dev, "%s(), cmd %d, dai id %d\n", __func__, cmd, dai->id); in mtk_dai_etdm_trigger()
257 regmap_update_bits(afe->regmap, ETDM_IN5_CON0, ETDM_EN_MASK, in mtk_dai_etdm_trigger()
259 regmap_update_bits(afe->regmap, ETDM_OUT5_CON0, ETDM_EN_MASK, in mtk_dai_etdm_trigger()
264 regmap_update_bits(afe->regmap, ETDM_IN5_CON0, ETDM_EN_MASK, in mtk_dai_etdm_trigger()
266 regmap_update_bits(afe->regmap, ETDM_OUT5_CON0, ETDM_EN_MASK, in mtk_dai_etdm_trigger()
278 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_etdm_set_fmt() local
279 struct mt7986_afe_private *afe_priv = afe->platform_priv; in mtk_dai_etdm_set_fmt()
287 dev_warn(afe->dev, "%s(), id %d not support\n", in mtk_dai_etdm_set_fmt()
292 priv_data = devm_kzalloc(afe->dev, sizeof(struct mtk_dai_etdm_priv), in mtk_dai_etdm_set_fmt()
392 int mt7986_dai_etdm_register(struct mtk_base_afe *afe) in mt7986_dai_etdm_register() argument
396 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt7986_dai_etdm_register()
400 list_add(&dai->list, &afe->sub_dais); in mt7986_dai_etdm_register()