arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / sound / soc / mediatek / common / mtk-dsp-sof-common.h
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