linux_dsm_epyc7002/sound/soc/intel
Hans de Goede 0d3e91da07
ASoC: Intel: bytcht_es8316: Add external speaker mux support
The ES8316 only has a single (amplified) output. The ES8316 appnote showing
the intended usage uses a jack-receptacle which physically disconnects the
speakers from the output when a jack is plugged in.

But all 3 devices using the es8316 which I have (2 Cherry Trail devices and
one Bay Trail CR device), use an analog mux to disconnect the speakers,
driven by a GPIO.

This commit adds support for this, modelling this as a separate speaker
widget / dapm pin-switch which sets the mux to drive the speakers when
selected.

The intend is for userspace to use the recently added jack-detect support
and then automatically select either the Headphone or Speaker output based
on that.

Note this commit includes a workaround for an ACPI table bug which is
present on 2 of the 3 devices I have, see the added comment in the code.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-01-04 15:15:32 +00:00
..
atom ASoC: Intel: Atom: simplify boolean tests 2019-01-03 16:34:12 +00:00
baytrail ASoC: Intel: Baytrail: simplify boolean test 2019-01-03 16:34:11 +00:00
boards ASoC: Intel: bytcht_es8316: Add external speaker mux support 2019-01-04 15:15:32 +00:00
common ASoC: Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660 2018-12-13 14:37:35 +00:00
haswell ASoC: Intel: Haswell: assign booleans to true/false 2019-01-03 16:34:10 +00:00
skylake ASoC: Intel: Skylake: simplify boolean tests 2019-01-03 16:34:08 +00:00
Kconfig ASoC: Intel: atom: Make PCI dependency explicit 2019-01-03 16:33:22 +00:00
Makefile ASoC: Intel: Fix Kconfig with top-level selector 2018-01-08 16:18:48 +00:00