// SPDX-License-Identifier: GPL-2.0 /* * MediaTek ALSA SoC Audio DAI ADDA Common * * Copyright (c) 2021 MediaTek Inc. * Copyright (c) 2024 Collabora Ltd. * AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> */ #include <linux/delay.h> #include <linux/dev_printk.h> #include "mtk-base-afe.h" #include "mtk-dai-adda-common.h" unsigned int mtk_adda_dl_rate_transform(struct mtk_base_afe *afe, u32 rate) { switch (rate) { case 8000: return MTK_AFE_ADDA_DL_RATE_8K; case 11025: return MTK_AFE_ADDA_DL_RATE_11K; case 12000: return MTK_AFE_ADDA_DL_RATE_12K; case 16000: return MTK_AFE_ADDA_DL_RATE_16K; case 22050: return MTK_AFE_ADDA_DL_RATE_22K; case 24000: return MTK_AFE_ADDA_DL_RATE_24K; case 32000: return MTK_AFE_ADDA_DL_RATE_32K; case 44100: return MTK_AFE_ADDA_DL_RATE_44K; case 48000: return MTK_AFE_ADDA_DL_RATE_48K; case 96000: return MTK_AFE_ADDA_DL_RATE_96K; case 192000: return MTK_AFE_ADDA_DL_RATE_192K; default: dev_info(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", __func__, rate); return MTK_AFE_ADDA_DL_RATE_48K; } } EXPORT_SYMBOL_GPL(mtk_adda_dl_rate_transform); unsigned int mtk_adda_ul_rate_transform(struct mtk_base_afe *afe, u32 rate) { switch (rate) { case 8000: return MTK_AFE_ADDA_UL_RATE_8K; case 16000: return MTK_AFE_ADDA_UL_RATE_16K; case 32000: return MTK_AFE_ADDA_UL_RATE_32K; case 48000: return MTK_AFE_ADDA_UL_RATE_48K; case 96000: return MTK_AFE_ADDA_UL_RATE_96K; case 192000: return MTK_AFE_ADDA_UL_RATE_192K; default: dev_info(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", __func__, rate); return MTK_AFE_ADDA_UL_RATE_48K; } } EXPORT_SYMBOL_GPL(mtk_adda_ul_rate_transform);