asoc: optimize the init sequence for tambora
Optimize the init sequence for tambora, enable TXSCBIAS_CLK and set IBIAS_LDO_DRIVER as 5ua. Change-Id: I639b7051d03d167972f592b155072260d4e02aec Signed-off-by: Yuhui Zhao <quic_yuhuzhao@quicinc.com>
This commit is contained in:
@@ -193,18 +193,12 @@ static int wcd9378_mbhc_free_irq(struct snd_soc_component *component,
|
|||||||
static void wcd9378_mbhc_clk_setup(struct snd_soc_component *component,
|
static void wcd9378_mbhc_clk_setup(struct snd_soc_component *component,
|
||||||
bool enable)
|
bool enable)
|
||||||
{
|
{
|
||||||
if (enable) {
|
if (enable)
|
||||||
snd_soc_component_update_bits(component, WCD9378_MBHC_NEW_CTL_1,
|
snd_soc_component_update_bits(component, WCD9378_MBHC_NEW_CTL_1,
|
||||||
0x80, 0x80);
|
0x80, 0x80);
|
||||||
snd_soc_component_update_bits(component, WCD9378_CDC_ANA_TX_CLK_CTL,
|
else
|
||||||
0x01, 0x01);
|
|
||||||
} else {
|
|
||||||
snd_soc_component_update_bits(component, WCD9378_MBHC_NEW_CTL_1,
|
snd_soc_component_update_bits(component, WCD9378_MBHC_NEW_CTL_1,
|
||||||
0x80, 0x00);
|
0x80, 0x00);
|
||||||
snd_soc_component_update_bits(component, WCD9378_CDC_ANA_TX_CLK_CTL,
|
|
||||||
0x01, 0x00);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wcd9378_mbhc_btn_to_num(struct snd_soc_component *component)
|
static int wcd9378_mbhc_btn_to_num(struct snd_soc_component *component)
|
||||||
|
@@ -315,6 +315,9 @@ static int wcd9378_init_reg(struct snd_soc_component *component)
|
|||||||
WCD9378_ANA_BIAS_PRECHRG_EN_MASK, 0x00);
|
WCD9378_ANA_BIAS_PRECHRG_EN_MASK, 0x00);
|
||||||
/*End Analog Master Bias enable*/
|
/*End Analog Master Bias enable*/
|
||||||
|
|
||||||
|
/*ANA_TXSCBIAS_CLK_EN ENABLE*/
|
||||||
|
snd_soc_component_update_bits(component, WCD9378_CDC_ANA_TX_CLK_CTL,
|
||||||
|
WCD9378_CDC_ANA_TX_CLK_CTL_ANA_TXSCBIAS_CLK_EN_MASK, 0x01);
|
||||||
/*SEQ_BYPASS ENABLE*/
|
/*SEQ_BYPASS ENABLE*/
|
||||||
snd_soc_component_update_bits(component, WCD9378_TX_COM_TXFE_DIV_CTL,
|
snd_soc_component_update_bits(component, WCD9378_TX_COM_TXFE_DIV_CTL,
|
||||||
WCD9378_TX_COM_TXFE_DIV_CTL_SEQ_BYPASS_MASK, 0x80);
|
WCD9378_TX_COM_TXFE_DIV_CTL_SEQ_BYPASS_MASK, 0x80);
|
||||||
@@ -328,6 +331,9 @@ static int wcd9378_init_reg(struct snd_soc_component *component)
|
|||||||
snd_soc_component_update_bits(component, WCD9378_MICB1_TEST_CTL_2,
|
snd_soc_component_update_bits(component, WCD9378_MICB1_TEST_CTL_2,
|
||||||
WCD9378_MICB1_TEST_CTL_2_IBIAS_LDO_DRIVER_MASK, 0x01);
|
WCD9378_MICB1_TEST_CTL_2_IBIAS_LDO_DRIVER_MASK, 0x01);
|
||||||
/*IBIAS_LDO_DRIVER 5e-06*/
|
/*IBIAS_LDO_DRIVER 5e-06*/
|
||||||
|
snd_soc_component_update_bits(component, WCD9378_MICB2_TEST_CTL_2,
|
||||||
|
WCD9378_MICB2_TEST_CTL_2_IBIAS_LDO_DRIVER_MASK, 0x01);
|
||||||
|
/*IBIAS_LDO_DRIVER 5e-06*/
|
||||||
snd_soc_component_update_bits(component, WCD9378_MICB3_TEST_CTL_2,
|
snd_soc_component_update_bits(component, WCD9378_MICB3_TEST_CTL_2,
|
||||||
WCD9378_MICB3_TEST_CTL_2_IBIAS_LDO_DRIVER_MASK, 0x01);
|
WCD9378_MICB3_TEST_CTL_2_IBIAS_LDO_DRIVER_MASK, 0x01);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user