ASoC: rt1308-sdw: add the default value of some registers
authorShuming Fan <shumingf@realtek.com>
Wed, 19 Oct 2022 09:57:15 +0000 (17:57 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 19 Oct 2022 12:39:33 +0000 (13:39 +0100)
The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: https://github.com/thesofproject/linux/issues/3924
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt1308-sdw.h

index f88f52e..62ce277 100644 (file)
@@ -139,10 +139,12 @@ static const struct reg_default rt1308_reg_defaults[] = {
        { 0x3005, 0x23 },
        { 0x3008, 0x02 },
        { 0x300a, 0x00 },
+       { 0xc000 | (RT1308_DATA_PATH << 4), 0x00 },
        { 0xc003 | (RT1308_DAC_SET << 4), 0x00 },
        { 0xc000 | (RT1308_POWER << 4), 0x00 },
        { 0xc001 | (RT1308_POWER << 4), 0x00 },
        { 0xc002 | (RT1308_POWER << 4), 0x00 },
+       { 0xc000 | (RT1308_POWER_STATUS << 4), 0x00 },
 };
 
 #define RT1308_SDW_OFFSET 0xc000