Unverified Commit 65e412a0 authored by Shengjiu Wang's avatar Shengjiu Wang Committed by Mark Brown
Browse files

ASoC: wm8962: Use force clear for WM8962_SYSCLK_ENA after reset



When CLOCKING2 is non-volatile register, we need force clear
the WM8962_SYSCLK_ENA bit after reset, for the value in cache
maybe 0 but in hardware it is 1. Otherwise there will issue
as below statement in driver.

/* SYSCLK defaults to on; make sure it is off so we can safely
 * write to registers if the device is declocked.

Fixes: c38b6085 ("ASoC: wm8962: set CLOCKING2 as non-volatile register")
Signed-off-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/1589347835-20554-1-git-send-email-shengjiu.wang@nxp.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 74fcfde7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3798,7 +3798,7 @@ static int wm8962_runtime_resume(struct device *dev)
	/* SYSCLK defaults to on; make sure it is off so we can safely
	 * write to registers if the device is declocked.
	 */
	regmap_update_bits(wm8962->regmap, WM8962_CLOCKING2,
	regmap_write_bits(wm8962->regmap, WM8962_CLOCKING2,
			  WM8962_SYSCLK_ENA, 0);

	/* Ensure we have soft control over all registers */