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