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

Commit 7078690c authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "asoc: codecs: Update sequence for HPH path in rouleur"

parents 8206d768 b4364f47
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -320,11 +320,11 @@ static void rouleur_mbhc_micb_ramp_control(struct snd_soc_component *component,
					0x1C, 0x0C);
		snd_soc_component_update_bits(component,
					ROULEUR_ANA_MBHC_MICB2_RAMP,
					0x80, 0x80);
					0xA0, 0x80);
	} else {
		snd_soc_component_update_bits(component,
					ROULEUR_ANA_MBHC_MICB2_RAMP,
					0x80, 0x00);
					0xA0, 0x00);
		snd_soc_component_update_bits(component,
					ROULEUR_ANA_MBHC_MICB2_RAMP,
					0x1C, 0x00);
+2 −0
Original line number Diff line number Diff line
@@ -48,12 +48,14 @@ enum {
#define ROULEUR_ANA_MBHC_MCLK                 (ROULEUR_ANA_BASE_ADDR+0x06D)
#define ROULEUR_ANA_MBHC_ZDET_CALIB_RESULT    (ROULEUR_ANA_BASE_ADDR+0x072)
#define ROULEUR_ANA_NCP_EN                    (ROULEUR_ANA_BASE_ADDR+0x077)
#define ROULEUR_ANA_HPHPA_CNP_CTL_1           (ROULEUR_ANA_BASE_ADDR+0x083)
#define ROULEUR_ANA_HPHPA_CNP_CTL_2           (ROULEUR_ANA_BASE_ADDR+0x084)
#define ROULEUR_ANA_HPHPA_PA_STATUS           (ROULEUR_ANA_BASE_ADDR+0x087)
#define ROULEUR_ANA_HPHPA_FSM_CLK             (ROULEUR_ANA_BASE_ADDR+0x088)
#define ROULEUR_ANA_HPHPA_L_GAIN              (ROULEUR_ANA_BASE_ADDR+0x08B)
#define ROULEUR_ANA_HPHPA_R_GAIN              (ROULEUR_ANA_BASE_ADDR+0x08C)
#define ROULEUR_ANA_HPHPA_SPARE_CTL           (ROULEUR_ANA_BASE_ADDR+0x08E)
#define ROULEUR_SWR_HPHPA_HD2                 (ROULEUR_ANA_BASE_ADDR+0x090)
#define ROULEUR_ANA_SURGE_EN                  (ROULEUR_ANA_BASE_ADDR+0x097)
#define ROULEUR_ANA_COMBOPA_CTL               (ROULEUR_ANA_BASE_ADDR+0x09B)
#define ROULEUR_ANA_RXLDO_CTL                 (ROULEUR_ANA_BASE_ADDR+0x0B2)
+3 −1
Original line number Diff line number Diff line
@@ -41,9 +41,11 @@ static const struct reg_default rouleur_defaults[] = {
	{ ROULEUR_ANA_MBHC_MCLK,                  0x30 },
	{ ROULEUR_ANA_MBHC_ZDET_CALIB_RESULT,     0x00 },
	{ ROULEUR_ANA_NCP_EN,                     0x00 },
	{ ROULEUR_ANA_HPHPA_CNP_CTL_1,            0x54 },
	{ ROULEUR_ANA_HPHPA_CNP_CTL_2,            0x2B },
	{ ROULEUR_ANA_HPHPA_PA_STATUS,            0x00 },
	{ ROULEUR_ANA_HPHPA_FSM_CLK,              0x12 },
	{ ROULEUR_SWR_HPHPA_HD2,                  0x1B },
	{ ROULEUR_ANA_HPHPA_SPARE_CTL,            0x02 },
	{ ROULEUR_ANA_SURGE_EN,                   0x38 },
	{ ROULEUR_ANA_COMBOPA_CTL,                0x35 },
+2 −0
Original line number Diff line number Diff line
@@ -36,10 +36,12 @@ const u8 rouleur_reg_access_analog[ROULEUR_REG(
	[ROULEUR_REG(ROULEUR_ANA_MBHC_MCLK)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_MBHC_ZDET_CALIB_RESULT)] = RD_REG,
	[ROULEUR_REG(ROULEUR_ANA_NCP_EN)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_HPHPA_CNP_CTL_1)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_HPHPA_CNP_CTL_2)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_HPHPA_PA_STATUS)] = RD_REG,
	[ROULEUR_REG(ROULEUR_ANA_HPHPA_FSM_CLK)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_HPHPA_SPARE_CTL)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_SWR_HPHPA_HD2)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_SURGE_EN)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_COMBOPA_CTL)] = RD_WR_REG,
	[ROULEUR_REG(ROULEUR_ANA_RXLDO_CTL)] = RD_WR_REG,
+20 −1
Original line number Diff line number Diff line
@@ -110,6 +110,9 @@ static int rouleur_init_reg(struct snd_soc_component *component)
	/* Enable surge protection */
	snd_soc_component_update_bits(component, ROULEUR_ANA_SURGE_EN,
					0xC0, 0xC0);
	/* Disable mic bias pull down */
	snd_soc_component_update_bits(component, ROULEUR_ANA_MICBIAS_MICB_1_2_EN,
					0x01, 0x00);
	return 0;
}

@@ -432,6 +435,12 @@ static int rouleur_codec_hphl_dac_event(struct snd_soc_dapm_widget *w,
	switch (event) {
	case SND_SOC_DAPM_PRE_PMU:
		rouleur_rx_clk_enable(component);
		snd_soc_component_update_bits(component,
				ROULEUR_ANA_HPHPA_CNP_CTL_1,
				0x02, 0x02);
		snd_soc_component_update_bits(component,
				ROULEUR_SWR_HPHPA_HD2,
				0x38, 0x38);
		set_bit(HPH_COMP_DELAY, &rouleur->status_mask);
		break;
	case SND_SOC_DAPM_POST_PMU:
@@ -497,6 +506,12 @@ static int rouleur_codec_hphr_dac_event(struct snd_soc_dapm_widget *w,
	switch (event) {
	case SND_SOC_DAPM_PRE_PMU:
		rouleur_rx_clk_enable(component);
		snd_soc_component_update_bits(component,
				ROULEUR_ANA_HPHPA_CNP_CTL_1,
				0x02, 0x02);
		snd_soc_component_update_bits(component,
				ROULEUR_SWR_HPHPA_HD2,
				0x07, 0x07);
		set_bit(HPH_COMP_DELAY, &rouleur->status_mask);
		break;
	case SND_SOC_DAPM_POST_PMU:
@@ -1204,6 +1219,8 @@ int rouleur_micbias_control(struct snd_soc_component *component,
		rouleur->micb_ref[micb_index]++;
		if (rouleur->micb_ref[micb_index] == 1) {
			rouleur_global_mbias_enable(component);
			snd_soc_component_update_bits(component, micb_reg,
				0x80, 0x80);
			snd_soc_component_update_bits(component,
				micb_reg, enable_mask, enable_mask);
			if (post_on_event)
@@ -1227,6 +1244,8 @@ int rouleur_micbias_control(struct snd_soc_component *component,
					&rouleur->mbhc->wcd_mbhc);
                        snd_soc_component_update_bits(component, micb_reg,
                                enable_mask, 0x00);
			snd_soc_component_update_bits(component, micb_reg,
				0x80, 0x00);
			rouleur_global_mbias_disable(component);
			if (post_off_event && rouleur->mbhc)
				blocking_notifier_call_chain(