UPSTREAM: ASoC: da7219: Fix pole orientation detection on certain headsets

It has been recently found that certain 'active' headsets can
be mis-detected as OMTP instead of CTIA, causing obvious issus
with audio quality. This relates to increased resistances which
negatively impacts the pole detection circuitry within the device.

To counter this, ground switches on both headphone channels are
available to enable/disable and these allow for the detection
process to operate as intended, even with active headsets. This
commit adds control of the ground switches to the AAD logic.

Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
Signed-off-by: semi dialog <dialogsemiopen@gmail.com>
Signed-off-by: Adam Thomson <DLG-Adam.Thomson.Opensource@dm.renesas.com>
Link: https://lore.kernel.org/r/e0a627725c189dd50d6ce24571aed87fe2597395.1653916368.git.DLG-Adam.Thomson.Opensource@dm.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 06f5882122e3faa183d76c4ec2c92f4c38e2c7bb)

BUG=b:227277012
TEST=Verified Lenovo Gaming headset H200 can be detected


Change-Id: Ie17ee9c18934a424baf4e204eb7b4f7da4a0c6e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3739685
Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
Reviewed-by: Sean Paul <sean@poorly.run>
Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org>
(cherry picked from commit 95b73d13cc02200230285d248324ef421991d7bf)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3788941
Reviewed-by: Judy Hsiao <judyhsiao@google.com>
1 file changed