Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91b30d5c authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: wcd9306: Update DEM-2 mux input based on codec type"

parents a2a8693b 01953e5b
Loading
Loading
Loading
Loading
+28 −3
Original line number Diff line number Diff line
@@ -2562,6 +2562,29 @@ static int tapan_codec_enable_vdd_spkr(struct snd_soc_dapm_widget *w,
	return 0;
}

static int tapan_codec_rx_dem_select(struct snd_soc_dapm_widget *w,
			struct snd_kcontrol *kcontrol, int event)
{

	struct snd_soc_codec *codec = w->codec;

	pr_debug("%s %d %s\n", __func__, event, w->name);
	switch (event) {
	case SND_SOC_DAPM_PRE_PMU:
		if (codec_ver == WCD9306)
			snd_soc_update_bits(codec, TAPAN_A_CDC_RX2_B6_CTL,
					    1 << 5, 1 << 5);
		break;
	case SND_SOC_DAPM_POST_PMD:
		if (codec_ver == WCD9306)
			snd_soc_update_bits(codec, TAPAN_A_CDC_RX2_B6_CTL,
					    1 << 5, 0);
		break;
	}

	return 0;
}

static int tapan_codec_enable_interpolator(struct snd_soc_dapm_widget *w,
	struct snd_kcontrol *kcontrol, int event)
{
@@ -4600,8 +4623,10 @@ static const struct snd_soc_dapm_widget tapan_common_dapm_widgets[] = {

	SND_SOC_DAPM_MIXER("RX1 CHAIN", TAPAN_A_CDC_RX1_B6_CTL, 5, 0,
						NULL, 0),
	SND_SOC_DAPM_MIXER("RX2 CHAIN", TAPAN_A_CDC_RX2_B6_CTL, 5, 0,
						NULL, 0),

	SND_SOC_DAPM_MIXER_E("RX2 CHAIN", SND_SOC_NOPM, 0, 0, NULL,
		0, tapan_codec_rx_dem_select, SND_SOC_DAPM_PRE_PMU |
		SND_SOC_DAPM_POST_PMD),

	SND_SOC_DAPM_MUX_E("CLASS_H_DSM MUX", SND_SOC_NOPM, 0, 0,
		&class_h_dsm_mux, tapan_codec_dsm_mux_event,
@@ -5107,7 +5132,7 @@ static const struct tapan_reg_mask_val tapan_reg_defaults[] = {

	/* RX1 and RX2 defaults */
	TAPAN_REG_VAL(TAPAN_A_CDC_RX1_B6_CTL, 0xA0),
	TAPAN_REG_VAL(TAPAN_A_CDC_RX2_B6_CTL, 0xA0),
	TAPAN_REG_VAL(TAPAN_A_CDC_RX2_B6_CTL, 0x80),

	/* Heaset set Right from RX2 */
	TAPAN_REG_VAL(TAPAN_A_CDC_CONN_RX2_B2_CTL, 0x10),