162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * mt7986-afe-common.h -- MediaTek 7986 audio driver definitions 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2023 MediaTek Inc. 662306a36Sopenharmony_ci * Authors: Vic Wu <vic.wu@mediatek.com> 762306a36Sopenharmony_ci * Maso Huang <maso.huang@mediatek.com> 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef _MT_7986_AFE_COMMON_H_ 1162306a36Sopenharmony_ci#define _MT_7986_AFE_COMMON_H_ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <sound/soc.h> 1462306a36Sopenharmony_ci#include <linux/clk.h> 1562306a36Sopenharmony_ci#include <linux/list.h> 1662306a36Sopenharmony_ci#include <linux/regmap.h> 1762306a36Sopenharmony_ci#include "../common/mtk-base-afe.h" 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_cienum { 2062306a36Sopenharmony_ci MT7986_MEMIF_DL1, 2162306a36Sopenharmony_ci MT7986_MEMIF_VUL12, 2262306a36Sopenharmony_ci MT7986_MEMIF_NUM, 2362306a36Sopenharmony_ci MT7986_DAI_ETDM = MT7986_MEMIF_NUM, 2462306a36Sopenharmony_ci MT7986_DAI_NUM, 2562306a36Sopenharmony_ci}; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cienum { 2862306a36Sopenharmony_ci MT7986_IRQ_0, 2962306a36Sopenharmony_ci MT7986_IRQ_1, 3062306a36Sopenharmony_ci MT7986_IRQ_2, 3162306a36Sopenharmony_ci MT7986_IRQ_NUM, 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cistruct mt7986_afe_private { 3562306a36Sopenharmony_ci struct clk_bulk_data *clks; 3662306a36Sopenharmony_ci int num_clks; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci int pm_runtime_bypass_reg_ctl; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci /* dai */ 4162306a36Sopenharmony_ci void *dai_priv[MT7986_DAI_NUM]; 4262306a36Sopenharmony_ci}; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciunsigned int mt7986_afe_rate_transform(struct device *dev, 4562306a36Sopenharmony_ci unsigned int rate); 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci/* dai register */ 4862306a36Sopenharmony_ciint mt7986_dai_etdm_register(struct mtk_base_afe *afe); 4962306a36Sopenharmony_ci#endif 50