1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * mt7986-afe-common.h -- MediaTek 7986 audio driver definitions 4 * 5 * Copyright (c) 2023 MediaTek Inc. 6 * Authors: Vic Wu <vic.wu@mediatek.com> 7 * Maso Huang <maso.huang@mediatek.com> 8 */ 9 10 #ifndef _MT_7986_AFE_COMMON_H_ 11 #define _MT_7986_AFE_COMMON_H_ 12 13 #include <sound/soc.h> 14 #include <linux/clk.h> 15 #include <linux/list.h> 16 #include <linux/regmap.h> 17 #include "../common/mtk-base-afe.h" 18 19 enum { 20 MT7986_MEMIF_DL1, 21 MT7986_MEMIF_VUL12, 22 MT7986_MEMIF_NUM, 23 MT7986_DAI_ETDM = MT7986_MEMIF_NUM, 24 MT7986_DAI_NUM, 25 }; 26 27 enum { 28 MT7986_IRQ_0, 29 MT7986_IRQ_1, 30 MT7986_IRQ_2, 31 MT7986_IRQ_NUM, 32 }; 33 34 struct mt7986_afe_private { 35 struct clk_bulk_data *clks; 36 int num_clks; 37 38 int pm_runtime_bypass_reg_ctl; 39 40 /* dai */ 41 void *dai_priv[MT7986_DAI_NUM]; 42 }; 43 44 unsigned int mt7986_afe_rate_transform(struct device *dev, 45 unsigned int rate); 46 47 /* dai register */ 48 int mt7986_dai_etdm_register(struct mtk_base_afe *afe); 49 #endif 50