From 83716b9a69a414977da6075e1470b54e85d91752 Mon Sep 17 00:00:00 2001 From: Vatsal Bucha Date: Thu, 14 Sep 2017 12:13:13 +0530 Subject: [PATCH] ASoC: wsa881x: fix wsa881x speaker damage wsa881x speaker damage has been reported due to DC at wsa output. Add a register setting which will reset the soundwire when there are any DC or synchronization issues. CRs-Fixed: 2086505 Change-Id: Id2bfb876a5bace891befa613153a88ee54033d76 Signed-off-by: Vatsal Bucha --- asoc/codecs/wsa881x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/asoc/codecs/wsa881x.c b/asoc/codecs/wsa881x.c index 456f68c819..bff0ad5397 100644 --- a/asoc/codecs/wsa881x.c +++ b/asoc/codecs/wsa881x.c @@ -968,6 +968,8 @@ static void wsa881x_init(struct snd_soc_codec *codec) wsa881x->version = snd_soc_read(codec, WSA881X_CHIP_ID1); wsa881x_regmap_defaults(wsa881x->regmap, wsa881x->version); + /* Enable software reset output from soundwire slave */ + snd_soc_update_bits(codec, WSA881X_SWR_RESET_EN, 0x07, 0x07); /* Bring out of analog reset */ snd_soc_update_bits(codec, WSA881X_CDC_RST_CTL, 0x02, 0x02); /* Bring out of digital reset */