Path: blob/master/sound/soc/mediatek/common/mtk-dai-adda-common.c
26450 views
// SPDX-License-Identifier: GPL-2.01/*2* MediaTek ALSA SoC Audio DAI ADDA Common3*4* Copyright (c) 2021 MediaTek Inc.5* Copyright (c) 2024 Collabora Ltd.6* AngeloGioacchino Del Regno <[email protected]>7*/89#include <linux/delay.h>10#include <linux/dev_printk.h>1112#include "mtk-base-afe.h"13#include "mtk-dai-adda-common.h"1415unsigned int mtk_adda_dl_rate_transform(struct mtk_base_afe *afe, u32 rate)16{17switch (rate) {18case 8000:19return MTK_AFE_ADDA_DL_RATE_8K;20case 11025:21return MTK_AFE_ADDA_DL_RATE_11K;22case 12000:23return MTK_AFE_ADDA_DL_RATE_12K;24case 16000:25return MTK_AFE_ADDA_DL_RATE_16K;26case 22050:27return MTK_AFE_ADDA_DL_RATE_22K;28case 24000:29return MTK_AFE_ADDA_DL_RATE_24K;30case 32000:31return MTK_AFE_ADDA_DL_RATE_32K;32case 44100:33return MTK_AFE_ADDA_DL_RATE_44K;34case 48000:35return MTK_AFE_ADDA_DL_RATE_48K;36case 96000:37return MTK_AFE_ADDA_DL_RATE_96K;38case 192000:39return MTK_AFE_ADDA_DL_RATE_192K;40default:41dev_info(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",42__func__, rate);43return MTK_AFE_ADDA_DL_RATE_48K;44}45}46EXPORT_SYMBOL_GPL(mtk_adda_dl_rate_transform);4748unsigned int mtk_adda_ul_rate_transform(struct mtk_base_afe *afe, u32 rate)49{50switch (rate) {51case 8000:52return MTK_AFE_ADDA_UL_RATE_8K;53case 16000:54return MTK_AFE_ADDA_UL_RATE_16K;55case 32000:56return MTK_AFE_ADDA_UL_RATE_32K;57case 48000:58return MTK_AFE_ADDA_UL_RATE_48K;59case 96000:60return MTK_AFE_ADDA_UL_RATE_96K;61case 192000:62return MTK_AFE_ADDA_UL_RATE_192K;63default:64dev_info(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",65__func__, rate);66return MTK_AFE_ADDA_UL_RATE_48K;67}68}69EXPORT_SYMBOL_GPL(mtk_adda_ul_rate_transform);707172