1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * mt6797-afe-common.h -- Mediatek 6797 audio driver definitions 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2018 MediaTek Inc. 6*4882a593Smuzhiyun * Author: KaiChieh Chuang <kaichieh.chuang@mediatek.com> 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef _MT_6797_AFE_COMMON_H_ 10*4882a593Smuzhiyun #define _MT_6797_AFE_COMMON_H_ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #include <sound/soc.h> 13*4882a593Smuzhiyun #include <linux/list.h> 14*4882a593Smuzhiyun #include <linux/regmap.h> 15*4882a593Smuzhiyun #include "../common/mtk-base-afe.h" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun enum { 18*4882a593Smuzhiyun MT6797_MEMIF_DL1, 19*4882a593Smuzhiyun MT6797_MEMIF_DL2, 20*4882a593Smuzhiyun MT6797_MEMIF_DL3, 21*4882a593Smuzhiyun MT6797_MEMIF_VUL, 22*4882a593Smuzhiyun MT6797_MEMIF_AWB, 23*4882a593Smuzhiyun MT6797_MEMIF_VUL12, 24*4882a593Smuzhiyun MT6797_MEMIF_DAI, 25*4882a593Smuzhiyun MT6797_MEMIF_MOD_DAI, 26*4882a593Smuzhiyun MT6797_MEMIF_NUM, 27*4882a593Smuzhiyun MT6797_DAI_ADDA = MT6797_MEMIF_NUM, 28*4882a593Smuzhiyun MT6797_DAI_PCM_1, 29*4882a593Smuzhiyun MT6797_DAI_PCM_2, 30*4882a593Smuzhiyun MT6797_DAI_HOSTLESS_LPBK, 31*4882a593Smuzhiyun MT6797_DAI_HOSTLESS_SPEECH, 32*4882a593Smuzhiyun MT6797_DAI_NUM, 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun enum { 36*4882a593Smuzhiyun MT6797_IRQ_1, 37*4882a593Smuzhiyun MT6797_IRQ_2, 38*4882a593Smuzhiyun MT6797_IRQ_3, 39*4882a593Smuzhiyun MT6797_IRQ_4, 40*4882a593Smuzhiyun MT6797_IRQ_7, 41*4882a593Smuzhiyun MT6797_IRQ_NUM, 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun struct clk; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun struct mt6797_afe_private { 47*4882a593Smuzhiyun struct clk **clk; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun unsigned int mt6797_general_rate_transform(struct device *dev, 51*4882a593Smuzhiyun unsigned int rate); 52*4882a593Smuzhiyun unsigned int mt6797_rate_transform(struct device *dev, 53*4882a593Smuzhiyun unsigned int rate, int aud_blk); 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun /* dai register */ 56*4882a593Smuzhiyun int mt6797_dai_adda_register(struct mtk_base_afe *afe); 57*4882a593Smuzhiyun int mt6797_dai_pcm_register(struct mtk_base_afe *afe); 58*4882a593Smuzhiyun int mt6797_dai_hostless_register(struct mtk_base_afe *afe); 59*4882a593Smuzhiyun #endif 60