]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
ASoC: nau8540: reset state machine for channel phase sync
authorJohn Hsu <KCHSU0@nuvoton.com>
Tue, 7 Nov 2017 07:23:17 +0000 (15:23 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 7 Nov 2017 10:28:35 +0000 (11:28 +0100)
commite4d0db60e8d25cc62b9b7e32c18e7f6acc136055
treefd6a4353f75dd38ed4f839852ae655d2d5bbb4e3
parent2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e
ASoC: nau8540: reset state machine for channel phase sync

The four channel ADCs in NAU85L40 have difference control registers,
it is hard to synchronous these four channels without correct sequence.
The phase difference will not be a constant and not to conjecture easily.
It may be 2.55 degree, or more ,or less.
Intended to prevent phase difference of channels, the solution as follows:
(1)Channel_Sync need to be enabled.
(2)Do soft reset without affecting register when recording done.

Signed-off-by: John Hsu <KCHSU0@nuvoton.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/nau8540.c
sound/soc/codecs/nau8540.h