Skip to content

Commit 65e412a

Browse files
TE-N-ShengjiuWangbroonie
authored andcommitted
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: c38b608 ("ASoC: wm8962: set CLOCKING2 as non-volatile register") Signed-off-by: Shengjiu Wang <[email protected]> Acked-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 74fcfde commit 65e412a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

sound/soc/codecs/wm8962.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3798,8 +3798,8 @@ static int wm8962_runtime_resume(struct device *dev)
37983798
/* SYSCLK defaults to on; make sure it is off so we can safely
37993799
* write to registers if the device is declocked.
38003800
*/
3801-
regmap_update_bits(wm8962->regmap, WM8962_CLOCKING2,
3802-
WM8962_SYSCLK_ENA, 0);
3801+
regmap_write_bits(wm8962->regmap, WM8962_CLOCKING2,
3802+
WM8962_SYSCLK_ENA, 0);
38033803

38043804
/* Ensure we have soft control over all registers */
38053805
regmap_update_bits(wm8962->regmap, WM8962_CLOCKING2,

0 commit comments

Comments
 (0)