162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * mt6797-afe-common.h -- Mediatek 6797 audio driver definitions 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2018 MediaTek Inc. 662306a36Sopenharmony_ci * Author: KaiChieh Chuang <kaichieh.chuang@mediatek.com> 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef _MT_6797_AFE_COMMON_H_ 1062306a36Sopenharmony_ci#define _MT_6797_AFE_COMMON_H_ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <sound/soc.h> 1362306a36Sopenharmony_ci#include <linux/list.h> 1462306a36Sopenharmony_ci#include <linux/regmap.h> 1562306a36Sopenharmony_ci#include "../common/mtk-base-afe.h" 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cienum { 1862306a36Sopenharmony_ci MT6797_MEMIF_DL1, 1962306a36Sopenharmony_ci MT6797_MEMIF_DL2, 2062306a36Sopenharmony_ci MT6797_MEMIF_DL3, 2162306a36Sopenharmony_ci MT6797_MEMIF_VUL, 2262306a36Sopenharmony_ci MT6797_MEMIF_AWB, 2362306a36Sopenharmony_ci MT6797_MEMIF_VUL12, 2462306a36Sopenharmony_ci MT6797_MEMIF_DAI, 2562306a36Sopenharmony_ci MT6797_MEMIF_MOD_DAI, 2662306a36Sopenharmony_ci MT6797_MEMIF_NUM, 2762306a36Sopenharmony_ci MT6797_DAI_ADDA = MT6797_MEMIF_NUM, 2862306a36Sopenharmony_ci MT6797_DAI_PCM_1, 2962306a36Sopenharmony_ci MT6797_DAI_PCM_2, 3062306a36Sopenharmony_ci MT6797_DAI_HOSTLESS_LPBK, 3162306a36Sopenharmony_ci MT6797_DAI_HOSTLESS_SPEECH, 3262306a36Sopenharmony_ci MT6797_DAI_NUM, 3362306a36Sopenharmony_ci}; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_cienum { 3662306a36Sopenharmony_ci MT6797_IRQ_1, 3762306a36Sopenharmony_ci MT6797_IRQ_2, 3862306a36Sopenharmony_ci MT6797_IRQ_3, 3962306a36Sopenharmony_ci MT6797_IRQ_4, 4062306a36Sopenharmony_ci MT6797_IRQ_7, 4162306a36Sopenharmony_ci MT6797_IRQ_NUM, 4262306a36Sopenharmony_ci}; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_cistruct clk; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_cistruct mt6797_afe_private { 4762306a36Sopenharmony_ci struct clk **clk; 4862306a36Sopenharmony_ci}; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciunsigned int mt6797_general_rate_transform(struct device *dev, 5162306a36Sopenharmony_ci unsigned int rate); 5262306a36Sopenharmony_ciunsigned int mt6797_rate_transform(struct device *dev, 5362306a36Sopenharmony_ci unsigned int rate, int aud_blk); 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci/* dai register */ 5662306a36Sopenharmony_ciint mt6797_dai_adda_register(struct mtk_base_afe *afe); 5762306a36Sopenharmony_ciint mt6797_dai_pcm_register(struct mtk_base_afe *afe); 5862306a36Sopenharmony_ciint mt6797_dai_hostless_register(struct mtk_base_afe *afe); 5962306a36Sopenharmony_ci#endif 60