1*0caf1120SChunxu Li /* SPDX-License-Identifier: GPL-2.0 */
2*0caf1120SChunxu Li /*
3*0caf1120SChunxu Li  * mtk-dsp-sof-common.h  --  MediaTek dsp sof common definition
4*0caf1120SChunxu Li  *
5*0caf1120SChunxu Li  * Copyright (c) 2022 MediaTek Inc.
6*0caf1120SChunxu Li  * Author: Chunxu Li <chunxu.li@mediatek.com>
7*0caf1120SChunxu Li  */
8*0caf1120SChunxu Li 
9*0caf1120SChunxu Li #ifndef _MTK_DSP_SOF_COMMON_H_
10*0caf1120SChunxu Li #define _MTK_DSP_SOF_COMMON_H_
11*0caf1120SChunxu Li 
12*0caf1120SChunxu Li #include <sound/soc.h>
13*0caf1120SChunxu Li 
14*0caf1120SChunxu Li struct sof_conn_stream {
15*0caf1120SChunxu Li 	const char *normal_link;
16*0caf1120SChunxu Li 	const char *sof_link;
17*0caf1120SChunxu Li 	const char *sof_dma;
18*0caf1120SChunxu Li 	int stream_dir;
19*0caf1120SChunxu Li };
20*0caf1120SChunxu Li 
21*0caf1120SChunxu Li struct mtk_sof_priv {
22*0caf1120SChunxu Li 	const struct sof_conn_stream *conn_streams;
23*0caf1120SChunxu Li 	int num_streams;
24*0caf1120SChunxu Li 	int (*sof_dai_link_fixup)(struct snd_soc_pcm_runtime *rtd,
25*0caf1120SChunxu Li 				  struct snd_pcm_hw_params *params);
26*0caf1120SChunxu Li };
27*0caf1120SChunxu Li 
28*0caf1120SChunxu Li int mtk_sof_dai_link_fixup(struct snd_soc_pcm_runtime *rtd,
29*0caf1120SChunxu Li 			   struct snd_pcm_hw_params *params);
30*0caf1120SChunxu Li int mtk_sof_card_probe(struct snd_soc_card *card);
31*0caf1120SChunxu Li int mtk_sof_card_late_probe(struct snd_soc_card *card);
32*0caf1120SChunxu Li int mtk_sof_dailink_parse_of(struct snd_soc_card *card, struct device_node *np,
33*0caf1120SChunxu Li 			     const char *propname, struct snd_soc_dai_link *pre_dai_links,
34*0caf1120SChunxu Li 			     int pre_num_links);
35*0caf1120SChunxu Li 
36*0caf1120SChunxu Li #endif
37