From 352863bfa2098c2261ce5c430a7cfe1558d08a4b Mon Sep 17 00:00:00 2001 From: Sugar Zhang Date: Fri, 22 Sep 2023 11:59:12 +0800 Subject: [PATCH] ASoC: rockchip: pdm: Add support for PATHx controls This patch add support PATHx controls which allow user can select PATHx dynamically. Signed-off-by: Sugar Zhang Change-Id: Ie7d286ed60363734bc25bf3127daab0d8fcc7144 --- sound/soc/rockchip/rockchip_pdm.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sound/soc/rockchip/rockchip_pdm.c b/sound/soc/rockchip/rockchip_pdm.c index 7c445ede5473..43c954d8e11c 100644 --- a/sound/soc/rockchip/rockchip_pdm.c +++ b/sound/soc/rockchip/rockchip_pdm.c @@ -569,7 +569,20 @@ static int rockchip_pdm_filter_delay_put(struct snd_kcontrol *kcontrol, return 1; } +static const char * const rpaths_text[] = { + "From SDI0", "From SDI1", "From SDI2", "From SDI3" }; + +static SOC_ENUM_SINGLE_DECL(rpath3_enum, PDM_CLK_CTRL, 14, rpaths_text); +static SOC_ENUM_SINGLE_DECL(rpath2_enum, PDM_CLK_CTRL, 12, rpaths_text); +static SOC_ENUM_SINGLE_DECL(rpath1_enum, PDM_CLK_CTRL, 10, rpaths_text); +static SOC_ENUM_SINGLE_DECL(rpath0_enum, PDM_CLK_CTRL, 8, rpaths_text); + static const struct snd_kcontrol_new rockchip_pdm_controls[] = { + SOC_ENUM("Receive PATH3 Source Select", rpath3_enum), + SOC_ENUM("Receive PATH2 Source Select", rpath2_enum), + SOC_ENUM("Receive PATH1 Source Select", rpath1_enum), + SOC_ENUM("Receive PATH0 Source Select", rpath0_enum), + { .iface = SNDRV_CTL_ELEM_IFACE_PCM, .name = "PDM Start Delay Ms",