asoc: codecs: Add unified SWR Tx mapping support

Add dynamic port enablement for wcd938x and
wcd937x targets to support unified swr tx port
mapping added as part of SWR 1.6 updates.

Change-Id: If0cf823dc51028fd5bd95f5a49ffe05998526be6
Signed-off-by: Ramlal Karra <rkarra@codeaurora.org>
This commit is contained in:
Ramlal Karra
2020-01-27 21:59:36 +05:30
committed by Gerrit - the friendly Code Review server
부모 669089fdbd
커밋 3e2c37d273
8개의 변경된 파일616개의 추가작업 그리고 268개의 파일을 삭제

파일 보기

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
@@ -1489,18 +1489,7 @@ static const struct snd_soc_dapm_widget tx_macro_dapm_widgets_common[] = {
tx_macro_enable_dmic, SND_SOC_DAPM_PRE_PMU |
SND_SOC_DAPM_POST_PMD),
SND_SOC_DAPM_INPUT("TX SWR_MIC0"),
SND_SOC_DAPM_INPUT("TX SWR_MIC1"),
SND_SOC_DAPM_INPUT("TX SWR_MIC2"),
SND_SOC_DAPM_INPUT("TX SWR_MIC3"),
SND_SOC_DAPM_INPUT("TX SWR_MIC4"),
SND_SOC_DAPM_INPUT("TX SWR_MIC5"),
SND_SOC_DAPM_INPUT("TX SWR_MIC6"),
SND_SOC_DAPM_INPUT("TX SWR_MIC7"),
SND_SOC_DAPM_INPUT("TX SWR_MIC8"),
SND_SOC_DAPM_INPUT("TX SWR_MIC9"),
SND_SOC_DAPM_INPUT("TX SWR_MIC10"),
SND_SOC_DAPM_INPUT("TX SWR_MIC11"),
SND_SOC_DAPM_INPUT("TX SWR_INPUT"),
SND_SOC_DAPM_MUX_E("TX DEC0 MUX", SND_SOC_NOPM,
TX_MACRO_DEC0, 0,
@@ -1786,18 +1775,18 @@ static const struct snd_soc_dapm_route tx_audio_map_common[] = {
{"TX DMIC MUX0", "DMIC7", "TX DMIC7"},
{"TX DEC0 MUX", "SWR_MIC", "TX SMIC MUX0"},
{"TX SMIC MUX0", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX0", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX0", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX0", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX0", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX0", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX0", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX0", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX0", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX0", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX0", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX0", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX0", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX0", "SWR_MIC11", "TX SWR_INPUT"},
{"TX DEC1 MUX", "MSM_DMIC", "TX DMIC MUX1"},
{"TX DMIC MUX1", "DMIC0", "TX DMIC0"},
@@ -1810,18 +1799,18 @@ static const struct snd_soc_dapm_route tx_audio_map_common[] = {
{"TX DMIC MUX1", "DMIC7", "TX DMIC7"},
{"TX DEC1 MUX", "SWR_MIC", "TX SMIC MUX1"},
{"TX SMIC MUX1", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX1", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX1", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX1", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX1", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX1", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX1", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX1", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX1", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX1", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX1", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX1", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX1", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX1", "SWR_MIC11", "TX SWR_INPUT"},
{"TX DEC2 MUX", "MSM_DMIC", "TX DMIC MUX2"},
{"TX DMIC MUX2", "DMIC0", "TX DMIC0"},
@@ -1834,18 +1823,18 @@ static const struct snd_soc_dapm_route tx_audio_map_common[] = {
{"TX DMIC MUX2", "DMIC7", "TX DMIC7"},
{"TX DEC2 MUX", "SWR_MIC", "TX SMIC MUX2"},
{"TX SMIC MUX2", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX2", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX2", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX2", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX2", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX2", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX2", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX2", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX2", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX2", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX2", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX2", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX2", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX2", "SWR_MIC11", "TX SWR_INPUT"},
{"TX DEC3 MUX", "MSM_DMIC", "TX DMIC MUX3"},
{"TX DMIC MUX3", "DMIC0", "TX DMIC0"},
@@ -1858,18 +1847,18 @@ static const struct snd_soc_dapm_route tx_audio_map_common[] = {
{"TX DMIC MUX3", "DMIC7", "TX DMIC7"},
{"TX DEC3 MUX", "SWR_MIC", "TX SMIC MUX3"},
{"TX SMIC MUX3", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX3", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX3", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX3", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX3", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX3", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX3", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX3", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX3", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX3", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX3", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX3", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX3", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX3", "SWR_MIC11", "TX SWR_INPUT"},
};
static const struct snd_soc_dapm_route tx_audio_map_v3[] = {
@@ -1904,18 +1893,18 @@ static const struct snd_soc_dapm_route tx_audio_map_v3[] = {
{"TX DMIC MUX4", "DMIC7", "TX DMIC7"},
{"TX DEC4 MUX", "SWR_MIC", "TX SMIC MUX4"},
{"TX SMIC MUX4", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX4", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX4", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX4", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX4", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX4", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX4", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX4", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX4", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX4", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX4", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX4", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX4", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX4", "SWR_MIC11", "TX SWR_INPUT"},
{"TX DEC5 MUX", "MSM_DMIC", "TX DMIC MUX5"},
{"TX DMIC MUX5", "DMIC0", "TX DMIC0"},
@@ -1928,18 +1917,18 @@ static const struct snd_soc_dapm_route tx_audio_map_v3[] = {
{"TX DMIC MUX5", "DMIC7", "TX DMIC7"},
{"TX DEC5 MUX", "SWR_MIC", "TX SMIC MUX5"},
{"TX SMIC MUX5", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX5", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX5", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX5", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX5", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX5", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX5", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX5", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX5", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX5", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX5", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX5", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX5", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX5", "SWR_MIC11", "TX SWR_INPUT"},
{"TX DEC6 MUX", "MSM_DMIC", "TX DMIC MUX6"},
{"TX DMIC MUX6", "DMIC0", "TX DMIC0"},
@@ -1952,18 +1941,18 @@ static const struct snd_soc_dapm_route tx_audio_map_v3[] = {
{"TX DMIC MUX6", "DMIC7", "TX DMIC7"},
{"TX DEC6 MUX", "SWR_MIC", "TX SMIC MUX6"},
{"TX SMIC MUX6", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX6", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX6", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX6", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX6", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX6", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX6", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX6", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX6", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX6", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX6", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX6", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX6", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX6", "SWR_MIC11", "TX SWR_INPUT"},
{"TX DEC7 MUX", "MSM_DMIC", "TX DMIC MUX7"},
{"TX DMIC MUX7", "DMIC0", "TX DMIC0"},
@@ -1976,18 +1965,18 @@ static const struct snd_soc_dapm_route tx_audio_map_v3[] = {
{"TX DMIC MUX7", "DMIC7", "TX DMIC7"},
{"TX DEC7 MUX", "SWR_MIC", "TX SMIC MUX7"},
{"TX SMIC MUX7", "SWR_MIC0", "TX SWR_MIC0"},
{"TX SMIC MUX7", "SWR_MIC1", "TX SWR_MIC1"},
{"TX SMIC MUX7", "SWR_MIC2", "TX SWR_MIC2"},
{"TX SMIC MUX7", "SWR_MIC3", "TX SWR_MIC3"},
{"TX SMIC MUX7", "SWR_MIC4", "TX SWR_MIC4"},
{"TX SMIC MUX7", "SWR_MIC5", "TX SWR_MIC5"},
{"TX SMIC MUX7", "SWR_MIC6", "TX SWR_MIC6"},
{"TX SMIC MUX7", "SWR_MIC7", "TX SWR_MIC7"},
{"TX SMIC MUX7", "SWR_MIC8", "TX SWR_MIC8"},
{"TX SMIC MUX7", "SWR_MIC9", "TX SWR_MIC9"},
{"TX SMIC MUX7", "SWR_MIC10", "TX SWR_MIC10"},
{"TX SMIC MUX7", "SWR_MIC11", "TX SWR_MIC11"},
{"TX SMIC MUX7", "SWR_MIC0", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC1", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC2", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC3", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC4", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC5", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC6", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC7", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC8", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC9", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC10", "TX SWR_INPUT"},
{"TX SMIC MUX7", "SWR_MIC11", "TX SWR_INPUT"},
{"TX SMIC MUX0", NULL, "TX_SWR_CLK"},
{"TX SMIC MUX1", NULL, "TX_SWR_CLK"},
@@ -2864,18 +2853,7 @@ static int tx_macro_init(struct snd_soc_component *component)
snd_soc_dapm_ignore_suspend(dapm, "TX_AIF2 Capture");
snd_soc_dapm_ignore_suspend(dapm, "TX_AIF3 Capture");
if (tx_priv->version >= BOLERO_VERSION_2_0) {
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC0");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC1");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC2");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC3");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC4");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC5");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC6");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC7");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC8");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC9");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC10");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC11");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_INPUT");
} else {
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_ADC0");
snd_soc_dapm_ignore_suspend(dapm, "TX SWR_ADC1");