Hi Weidong,
Thanks for your help. I just posted a fragment of DAP config.
Each DAP sub-block should work in pass through mode by default, so sound should always output from line-out when audio route switched to I2S_IN -> DAP -> DAC -> LINEOUT from I2S_IN -> DAC -> LINEOUT
We only need PEQ/GEQ function, and other sub-blocks work in pass through mode.
Could you give me a simple sample (regardless of any parameter value)?
Our complete configs:
snd_soc_write(codec, SGTL5000_DAP_CTRL, 0x0001);
snd_soc_write(codec, SGTL5000_CHIP_SSS_CTRL, 0x70);
snd_soc_write(codec, SGTL5000_DAP_PEQ, 0x0002);
snd_soc_write(codec, SGTL5000_DAP_AUDIO_EQ, 0x0001);
/* PEQ0 */
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B0_MSB, 0x5E6AA>> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B0_LSB, 0x5E6AA & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B1_MSB, 0xCC6A1 >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B1_LSB, 0xCC6A1 & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B2_MSB, 0xF958E >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B2_LSB, 0xF958E & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A1_MSB, 0x33960 >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A1_LSB, 0x33960 & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A2_MSB, 0xE83CA >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A2_LSB, 0xE83CA & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_FLT_COEF_ACCESS, (1 << 8 | 0));
/* PEQ1 */
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B0_MSB, 0x402B7 >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B0_LSB, 0x402B7 & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B1_MSB, 0x80D5D >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B1_LSB, 0x80D5D & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B2_MSB, 0x3F021 >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_B2_LSB, 0x3F021 & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A1_MSB, 0x7F2A4 >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A1_LSB, 0x7F2A4 & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A2_MSB, 0xC0D29 >> 4);
snd_soc_write(codec, SGTL5000_DAP_COEF_WR_A2_LSB, 0xC0D29 & 0x000f);
snd_soc_write(codec, SGTL5000_DAP_FLT_COEF_ACCESS, (1 << 8 | 1));