18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * mtk-afe-platform-driver.h  --  Mediatek afe platform driver definition
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (c) 2016 MediaTek Inc.
68c2ecf20Sopenharmony_ci * Author: Garlic Tseng <garlic.tseng@mediatek.com>
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#ifndef _MTK_AFE_PLATFORM_DRIVER_H_
108c2ecf20Sopenharmony_ci#define _MTK_AFE_PLATFORM_DRIVER_H_
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#define AFE_PCM_NAME "mtk-afe-pcm"
138c2ecf20Sopenharmony_ciextern const struct snd_soc_component_driver mtk_afe_pcm_platform;
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cistruct mtk_base_afe;
168c2ecf20Sopenharmony_cistruct snd_pcm;
178c2ecf20Sopenharmony_cistruct snd_soc_component;
188c2ecf20Sopenharmony_cistruct snd_soc_pcm_runtime;
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_cisnd_pcm_uframes_t mtk_afe_pcm_pointer(struct snd_soc_component *component,
218c2ecf20Sopenharmony_ci				      struct snd_pcm_substream *substream);
228c2ecf20Sopenharmony_ciint mtk_afe_pcm_new(struct snd_soc_component *component,
238c2ecf20Sopenharmony_ci		    struct snd_soc_pcm_runtime *rtd);
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciint mtk_afe_combine_sub_dai(struct mtk_base_afe *afe);
268c2ecf20Sopenharmony_ciint mtk_afe_add_sub_dai_control(struct snd_soc_component *component);
278c2ecf20Sopenharmony_ci#endif
288c2ecf20Sopenharmony_ci
29