xref: /linux/sound/soc/mediatek/common/mtk-afe-platform-driver.h (revision 8dd06ef34b6e2f41b29fbf5fc1663780f2524285)
13a280ed1SRyder Lee /* SPDX-License-Identifier: GPL-2.0 */
2283b6124SGarlic Tseng /*
3283b6124SGarlic Tseng  * mtk-afe-platform-driver.h  --  Mediatek afe platform driver definition
4283b6124SGarlic Tseng  *
5283b6124SGarlic Tseng  * Copyright (c) 2016 MediaTek Inc.
6283b6124SGarlic Tseng  * Author: Garlic Tseng <garlic.tseng@mediatek.com>
7283b6124SGarlic Tseng  */
8283b6124SGarlic Tseng 
9283b6124SGarlic Tseng #ifndef _MTK_AFE_PLATFORM_DRIVER_H_
10283b6124SGarlic Tseng #define _MTK_AFE_PLATFORM_DRIVER_H_
11283b6124SGarlic Tseng 
12f1b5bf07SKuninori Morimoto #define AFE_PCM_NAME "mtk-afe-pcm"
13f1b5bf07SKuninori Morimoto extern const struct snd_soc_component_driver mtk_afe_pcm_platform;
14283b6124SGarlic Tseng 
1513be427eSKaiChieh Chuang struct mtk_base_afe;
16b3c702f5SKaiChieh Chuang struct snd_pcm;
1713be427eSKaiChieh Chuang struct snd_soc_component;
18b3c702f5SKaiChieh Chuang struct snd_soc_pcm_runtime;
19b3c702f5SKaiChieh Chuang 
20*1fddf424SKuninori Morimoto snd_pcm_uframes_t mtk_afe_pcm_pointer(struct snd_soc_component *component,
21*1fddf424SKuninori Morimoto 				      struct snd_pcm_substream *substream);
22*1fddf424SKuninori Morimoto int mtk_afe_pcm_new(struct snd_soc_component *component,
23*1fddf424SKuninori Morimoto 		    struct snd_soc_pcm_runtime *rtd);
2413be427eSKaiChieh Chuang 
2513be427eSKaiChieh Chuang int mtk_afe_combine_sub_dai(struct mtk_base_afe *afe);
2613be427eSKaiChieh Chuang int mtk_afe_add_sub_dai_control(struct snd_soc_component *component);
27283b6124SGarlic Tseng #endif
28283b6124SGarlic Tseng 
29