asoc: lpass-cdc: add RX4/5 for wsa macro
RX4/5 are added on bolero 2.5 and can be used for wsa1 macro. Make this change to add RX4/5. Change-Id: I4fa77fec3cbcb4d01718026cf648e5e7a171ddb2 Signed-off-by: Meng Wang <mengw@codeaurora.org>
This commit is contained in:
@@ -65,6 +65,8 @@ enum {
|
||||
LPASS_CDC_WSA_MACRO_RX_MIX,
|
||||
LPASS_CDC_WSA_MACRO_RX_MIX0 = LPASS_CDC_WSA_MACRO_RX_MIX,
|
||||
LPASS_CDC_WSA_MACRO_RX_MIX1,
|
||||
LPASS_CDC_WSA_MACRO_RX4,
|
||||
LPASS_CDC_WSA_MACRO_RX5,
|
||||
LPASS_CDC_WSA_MACRO_RX_MAX,
|
||||
};
|
||||
|
||||
@@ -98,6 +100,8 @@ enum {
|
||||
INTn_1_INP_SEL_RX1,
|
||||
INTn_1_INP_SEL_RX2,
|
||||
INTn_1_INP_SEL_RX3,
|
||||
INTn_1_INP_SEL_RX4,
|
||||
INTn_1_INP_SEL_RX5,
|
||||
INTn_1_INP_SEL_DEC0,
|
||||
INTn_1_INP_SEL_DEC1,
|
||||
};
|
||||
@@ -108,6 +112,8 @@ enum {
|
||||
INTn_2_INP_SEL_RX1,
|
||||
INTn_2_INP_SEL_RX2,
|
||||
INTn_2_INP_SEL_RX3,
|
||||
INTn_2_INP_SEL_RX4,
|
||||
INTn_2_INP_SEL_RX5,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -275,11 +281,11 @@ static struct snd_soc_dai_driver lpass_cdc_wsa_macro_dai[];
|
||||
static const DECLARE_TLV_DB_SCALE(digital_gain, 0, 1, 0);
|
||||
|
||||
static const char *const rx_text[] = {
|
||||
"ZERO", "RX0", "RX1", "RX_MIX0", "RX_MIX1", "DEC0", "DEC1"
|
||||
"ZERO", "RX0", "RX1", "RX_MIX0", "RX_MIX1", "RX4", "RX5", "DEC0", "DEC1"
|
||||
};
|
||||
|
||||
static const char *const rx_mix_text[] = {
|
||||
"ZERO", "RX0", "RX1", "RX_MIX0", "RX_MIX1"
|
||||
"ZERO", "RX0", "RX1", "RX_MIX0", "RX_MIX1", "RX4", "RX5",
|
||||
};
|
||||
|
||||
static const char *const rx_mix_ec_text[] = {
|
||||
@@ -319,19 +325,19 @@ static SOC_ENUM_SINGLE_EXT_DECL(lpass_cdc_wsa_macro_comp_mode_enum,
|
||||
/* RX INT0 */
|
||||
static const struct soc_enum rx0_prim_inp0_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT0_CFG0,
|
||||
0, 7, rx_text);
|
||||
0, 9, rx_text);
|
||||
|
||||
static const struct soc_enum rx0_prim_inp1_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT0_CFG0,
|
||||
3, 7, rx_text);
|
||||
3, 9, rx_text);
|
||||
|
||||
static const struct soc_enum rx0_prim_inp2_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT0_CFG1,
|
||||
3, 7, rx_text);
|
||||
3, 9, rx_text);
|
||||
|
||||
static const struct soc_enum rx0_mix_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT0_CFG1,
|
||||
0, 5, rx_mix_text);
|
||||
0, 7, rx_mix_text);
|
||||
|
||||
static const struct soc_enum rx0_sidetone_mix_enum =
|
||||
SOC_ENUM_SINGLE(SND_SOC_NOPM, 0, 2, rx_sidetone_mix_text);
|
||||
@@ -354,19 +360,19 @@ static const struct snd_kcontrol_new rx0_sidetone_mix_mux =
|
||||
/* RX INT1 */
|
||||
static const struct soc_enum rx1_prim_inp0_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT1_CFG0,
|
||||
0, 7, rx_text);
|
||||
0, 9, rx_text);
|
||||
|
||||
static const struct soc_enum rx1_prim_inp1_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT1_CFG0,
|
||||
3, 7, rx_text);
|
||||
3, 9, rx_text);
|
||||
|
||||
static const struct soc_enum rx1_prim_inp2_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT1_CFG1,
|
||||
3, 7, rx_text);
|
||||
3, 9, rx_text);
|
||||
|
||||
static const struct soc_enum rx1_mix_chain_enum =
|
||||
SOC_ENUM_SINGLE(LPASS_CDC_WSA_RX_INP_MUX_RX_INT1_CFG1,
|
||||
0, 5, rx_mix_text);
|
||||
0, 7, rx_mix_text);
|
||||
|
||||
static const struct snd_kcontrol_new rx1_prim_inp0_mux =
|
||||
SOC_DAPM_ENUM("WSA_RX1 INP0 Mux", rx1_prim_inp0_chain_enum);
|
||||
@@ -2200,6 +2206,10 @@ static const struct snd_kcontrol_new rx_mux[LPASS_CDC_WSA_MACRO_RX_MAX] = {
|
||||
lpass_cdc_wsa_macro_rx_mux_get, lpass_cdc_wsa_macro_rx_mux_put),
|
||||
SOC_DAPM_ENUM_EXT("WSA RX_MIX1 Mux", rx_mux_enum,
|
||||
lpass_cdc_wsa_macro_rx_mux_get, lpass_cdc_wsa_macro_rx_mux_put),
|
||||
SOC_DAPM_ENUM_EXT("WSA RX4 Mux", rx_mux_enum,
|
||||
lpass_cdc_wsa_macro_rx_mux_get, lpass_cdc_wsa_macro_rx_mux_put),
|
||||
SOC_DAPM_ENUM_EXT("WSA RX5 Mux", rx_mux_enum,
|
||||
lpass_cdc_wsa_macro_rx_mux_get, lpass_cdc_wsa_macro_rx_mux_put),
|
||||
};
|
||||
|
||||
static int lpass_cdc_wsa_macro_vi_feed_mixer_get(struct snd_kcontrol *kcontrol,
|
||||
@@ -2325,11 +2335,17 @@ static const struct snd_soc_dapm_widget lpass_cdc_wsa_macro_dapm_widgets[] = {
|
||||
&rx_mux[LPASS_CDC_WSA_MACRO_RX_MIX0]),
|
||||
SND_SOC_DAPM_MUX("WSA RX_MIX1 MUX", SND_SOC_NOPM, LPASS_CDC_WSA_MACRO_RX_MIX1, 0,
|
||||
&rx_mux[LPASS_CDC_WSA_MACRO_RX_MIX1]),
|
||||
SND_SOC_DAPM_MUX("WSA RX4 MUX", SND_SOC_NOPM, LPASS_CDC_WSA_MACRO_RX4, 0,
|
||||
&rx_mux[LPASS_CDC_WSA_MACRO_RX4]),
|
||||
SND_SOC_DAPM_MUX("WSA RX5 MUX", SND_SOC_NOPM, LPASS_CDC_WSA_MACRO_RX5, 0,
|
||||
&rx_mux[LPASS_CDC_WSA_MACRO_RX5]),
|
||||
|
||||
SND_SOC_DAPM_MIXER("WSA RX0", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
SND_SOC_DAPM_MIXER("WSA RX1", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
SND_SOC_DAPM_MIXER("WSA RX_MIX0", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
SND_SOC_DAPM_MIXER("WSA RX_MIX1", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
SND_SOC_DAPM_MIXER("WSA RX4", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
SND_SOC_DAPM_MIXER("WSA RX5", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
|
||||
SND_SOC_DAPM_MUX_E("WSA_RX0 INP0", SND_SOC_NOPM, 0, 0,
|
||||
&rx0_prim_inp0_mux, lpass_cdc_wsa_macro_enable_swr,
|
||||
@@ -2433,21 +2449,29 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA RX1 MUX", "AIF1_PB", "WSA AIF1 PB"},
|
||||
{"WSA RX_MIX0 MUX", "AIF1_PB", "WSA AIF1 PB"},
|
||||
{"WSA RX_MIX1 MUX", "AIF1_PB", "WSA AIF1 PB"},
|
||||
{"WSA RX4 MUX", "AIF1_PB", "WSA AIF1 PB"},
|
||||
{"WSA RX5 MUX", "AIF1_PB", "WSA AIF1 PB"},
|
||||
|
||||
{"WSA RX0 MUX", "AIF_MIX1_PB", "WSA AIF_MIX1 PB"},
|
||||
{"WSA RX1 MUX", "AIF_MIX1_PB", "WSA AIF_MIX1 PB"},
|
||||
{"WSA RX_MIX0 MUX", "AIF_MIX1_PB", "WSA AIF_MIX1 PB"},
|
||||
{"WSA RX_MIX1 MUX", "AIF_MIX1_PB", "WSA AIF_MIX1 PB"},
|
||||
{"WSA RX4 MUX", "AIF_MIX1_PB", "WSA AIF_MIX1 PB"},
|
||||
{"WSA RX5 MUX", "AIF_MIX1_PB", "WSA AIF_MIX1 PB"},
|
||||
|
||||
{"WSA RX0", NULL, "WSA RX0 MUX"},
|
||||
{"WSA RX1", NULL, "WSA RX1 MUX"},
|
||||
{"WSA RX_MIX0", NULL, "WSA RX_MIX0 MUX"},
|
||||
{"WSA RX_MIX1", NULL, "WSA RX_MIX1 MUX"},
|
||||
{"WSA RX4", NULL, "WSA RX4 MUX"},
|
||||
{"WSA RX5", NULL, "WSA RX5 MUX"},
|
||||
|
||||
{"WSA_RX0 INP0", "RX0", "WSA RX0"},
|
||||
{"WSA_RX0 INP0", "RX1", "WSA RX1"},
|
||||
{"WSA_RX0 INP0", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX0 INP0", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX0 INP0", "RX4", "WSA RX4"},
|
||||
{"WSA_RX0 INP0", "RX5", "WSA RX5"},
|
||||
{"WSA_RX0 INP0", "DEC0", "WSA_TX DEC0_INP"},
|
||||
{"WSA_RX0 INP0", "DEC1", "WSA_TX DEC1_INP"},
|
||||
{"WSA_RX INT0 MIX", NULL, "WSA_RX0 INP0"},
|
||||
@@ -2456,6 +2480,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA_RX0 INP1", "RX1", "WSA RX1"},
|
||||
{"WSA_RX0 INP1", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX0 INP1", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX0 INP1", "RX4", "WSA RX4"},
|
||||
{"WSA_RX0 INP1", "RX5", "WSA RX5"},
|
||||
{"WSA_RX0 INP1", "DEC0", "WSA_TX DEC0_INP"},
|
||||
{"WSA_RX0 INP1", "DEC1", "WSA_TX DEC1_INP"},
|
||||
{"WSA_RX INT0 MIX", NULL, "WSA_RX0 INP1"},
|
||||
@@ -2464,6 +2490,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA_RX0 INP2", "RX1", "WSA RX1"},
|
||||
{"WSA_RX0 INP2", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX0 INP2", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX0 INP2", "RX4", "WSA RX4"},
|
||||
{"WSA_RX0 INP2", "RX5", "WSA RX5"},
|
||||
{"WSA_RX0 INP2", "DEC0", "WSA_TX DEC0_INP"},
|
||||
{"WSA_RX0 INP2", "DEC1", "WSA_TX DEC1_INP"},
|
||||
{"WSA_RX INT0 MIX", NULL, "WSA_RX0 INP2"},
|
||||
@@ -2472,6 +2500,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA_RX0 MIX INP", "RX1", "WSA RX1"},
|
||||
{"WSA_RX0 MIX INP", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX0 MIX INP", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX0 MIX INP", "RX4", "WSA RX4"},
|
||||
{"WSA_RX0 MIX INP", "RX5", "WSA RX5"},
|
||||
{"WSA_RX INT0 SEC MIX", NULL, "WSA_RX0 MIX INP"},
|
||||
|
||||
{"WSA_RX INT0 SEC MIX", NULL, "WSA_RX INT0 MIX"},
|
||||
@@ -2490,6 +2520,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA_RX1 INP0", "RX1", "WSA RX1"},
|
||||
{"WSA_RX1 INP0", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX1 INP0", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX1 INP0", "RX4", "WSA RX4"},
|
||||
{"WSA_RX1 INP0", "RX5", "WSA RX5"},
|
||||
{"WSA_RX1 INP0", "DEC0", "WSA_TX DEC0_INP"},
|
||||
{"WSA_RX1 INP0", "DEC1", "WSA_TX DEC1_INP"},
|
||||
{"WSA_RX INT1 MIX", NULL, "WSA_RX1 INP0"},
|
||||
@@ -2498,6 +2530,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA_RX1 INP1", "RX1", "WSA RX1"},
|
||||
{"WSA_RX1 INP1", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX1 INP1", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX1 INP1", "RX4", "WSA RX4"},
|
||||
{"WSA_RX1 INP1", "RX5", "WSA RX5"},
|
||||
{"WSA_RX1 INP1", "DEC0", "WSA_TX DEC0_INP"},
|
||||
{"WSA_RX1 INP1", "DEC1", "WSA_TX DEC1_INP"},
|
||||
{"WSA_RX INT1 MIX", NULL, "WSA_RX1 INP1"},
|
||||
@@ -2506,6 +2540,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA_RX1 INP2", "RX1", "WSA RX1"},
|
||||
{"WSA_RX1 INP2", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX1 INP2", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX1 INP2", "RX4", "WSA RX4"},
|
||||
{"WSA_RX1 INP2", "RX5", "WSA RX5"},
|
||||
{"WSA_RX1 INP2", "DEC0", "WSA_TX DEC0_INP"},
|
||||
{"WSA_RX1 INP2", "DEC1", "WSA_TX DEC1_INP"},
|
||||
{"WSA_RX INT1 MIX", NULL, "WSA_RX1 INP2"},
|
||||
@@ -2514,6 +2550,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
|
||||
{"WSA_RX1 MIX INP", "RX1", "WSA RX1"},
|
||||
{"WSA_RX1 MIX INP", "RX_MIX0", "WSA RX_MIX0"},
|
||||
{"WSA_RX1 MIX INP", "RX_MIX1", "WSA RX_MIX1"},
|
||||
{"WSA_RX1 MIX INP", "RX4", "WSA RX4"},
|
||||
{"WSA_RX1 MIX INP", "RX5", "WSA RX5"},
|
||||
{"WSA_RX INT1 SEC MIX", NULL, "WSA_RX1 MIX INP"},
|
||||
|
||||
{"WSA_RX INT1 SEC MIX", NULL, "WSA_RX INT1 MIX"},
|
||||
|
Reference in New Issue
Block a user