]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: tas2781: Fix occasional calibration failture
authorShenghao Ding <shenghao-ding@ti.com>
Fri, 27 Dec 2024 07:49:09 +0000 (15:49 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 7 Jan 2025 11:58:28 +0000 (11:58 +0000)
The root cause is that TAS2781 internal register is not unlocked
before writing data into TAS2781_PRM_TEST_57_REG.

Fixes: 49e2e353fb0d ("ASoC: tas2781: Add Calibration Kcontrols for Chromebook")
Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
Link: https://patch.msgid.link/20241227074909.1974-1-shenghao-ding@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tas2781-i2c.c

index fb8cd2284fe85c3fd06f5f8869ff6609a14853f8..728bf78ae71f30952852535d84ee41c6f4d32681 100644 (file)
@@ -78,7 +78,7 @@ static const struct bulk_reg_val tas2781_cali_start_reg[] = {
        X2781_CL_STT_VAL(TAS2781_PRM_INT_MASK_REG, 0xfe, false),
        X2781_CL_STT_VAL(TAS2781_PRM_CLK_CFG_REG, 0xdd, false),
        X2781_CL_STT_VAL(TAS2781_PRM_RSVD_REG, 0x20, false),
-       X2781_CL_STT_VAL(TAS2781_PRM_TEST_57_REG, 0x14, false),
+       X2781_CL_STT_VAL(TAS2781_PRM_TEST_57_REG, 0x14, true),
        X2781_CL_STT_VAL(TAS2781_PRM_TEST_62_REG, 0x45, true),
        X2781_CL_STT_VAL(TAS2781_PRM_PVDD_UVLO_REG, 0x03, false),
        X2781_CL_STT_VAL(TAS2781_PRM_CHNL_0_REG, 0xa8, false),