[PATCH 00/20] ALSA/ASoC/SOF/Intel: improve support for ES8336-based platforms
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Tue Mar 8 20:25:50 CET 2022
This patchset adds a number of improvements for ES8336-based Intel
platforms, which are not well supported at all in Linux. Since
Christmas 2021, we've seen dozens of reports of broken audio [1].
The fundamental problem is that those platforms were built for Windows
but using an I2S codec - instead of the HDaudio traditional
solution. As a result, we are missing all the usual information needed
to configure the audio card (which I2S, what configuration, DMICs or
not, etc). The situation is similar to Baytrail with all possible
permutations enabled.
Some of the information can be discovered by checking the contents of
the 'NHLT' ACPI table. This helps discover at run-time which SSP to
use, and the number of microphones present. This NHLT-based solution
helps remove quirks that were added earlier.
Unfortunately, there are still a number of platform properties that
are not described by ACPI, just as GPIOs used for speakers, jack
detection inversion, etc. For some case, quirks are still provided in
the machine drivers.
Additional work will likely be needed, e.g. to detect which MCLK needs
to be used, refine the UCM settings, add the ES8326 codec driver, but
this is a first-step towards an 'out of the box' experience on Intel
platforms.
This patchset touches the sound/hda/intel-nhlt parts but should IMHO
be merged in the ASoC tree.
I would like to acknowledge the help of Nikolai Kostrigin, Mauro
Carvalho Chehab, Huajun Li, David Yang (@yangxiaohua2009) and other
GitHub testers.
[1] https://github.com/thesofproject/linux/issues?q=is%3Aissue+is%3Aopen+label%3A%22codec+ES8336%22
Nikolai Kostrigin (1):
ASoC: Intel: soc-acpi: add ESSX8336 support on Cannon Lake machines
Pierre-Louis Bossart (19):
ASoC: soc-acpi: fix kernel-doc descriptor
ASoC: soc-acpi: add information on I2S/TDM link mask
ASoC: SOF: Intel: hda: retrieve DMIC number for I2S boards
ALSA: intel-nhlt: add helper to detect SSP link mask
ASoC: SOF: Intel: hda: report SSP link mask to machine driver
ASoC: Intel: soc-acpi: quirk topology filename dynamically
ALSA: intel-dsp-config: add more ACPI HIDs for ES83x6 devices
ASoC: Intel: soc-acpi: add more ACPI HIDs for ES83x6 devices
ALSA: intel-dspconfig: add ES8336 support for CNL
ASoC: Intel: sof_es8336: make gpio optional
ASoC: Intel: sof_es8336: get codec device with ACPI instead of bus
search
ASoC: Intel: Revert "ASoC: Intel: sof_es8336: add quirk for Huawei D15
2021"
ASoC: Intel: sof_es8336: use NHLT information to set dmic and SSP
ASoC: Intel: sof_es8336: log all quirks
ASoC: Intel: sof_es8336: move comment to the right place
ASoC: Intel: sof_es8336: add support for JD inverted quirk
ASoC: Intel: sof_es8336: extend machine driver to support ES8326 codec
ASoC: Intel: sof_es8336: add cfg-dmics component for UCM support
ASoC: Intel: bytcht_es8316: move comment to the right place
include/sound/intel-nhlt.h | 22 ++-
include/sound/soc-acpi.h | 27 +++-
sound/hda/intel-dsp-config.c | 36 +++--
sound/hda/intel-nhlt.c | 22 +++
sound/soc/intel/boards/Kconfig | 3 +-
sound/soc/intel/boards/bytcht_es8316.c | 2 +-
sound/soc/intel/boards/sof_es8336.c | 142 +++++++++++++-----
.../intel/common/soc-acpi-intel-bxt-match.c | 12 +-
.../intel/common/soc-acpi-intel-cml-match.c | 12 +-
.../intel/common/soc-acpi-intel-cnl-match.c | 14 ++
.../intel/common/soc-acpi-intel-glk-match.c | 12 +-
.../intel/common/soc-acpi-intel-jsl-match.c | 12 +-
.../intel/common/soc-acpi-intel-tgl-match.c | 12 +-
sound/soc/sof/intel/hda.c | 120 ++++++++++++---
14 files changed, 360 insertions(+), 88 deletions(-)
base-commit: 0b7daa6bd0a4cab3b0c6f266a8cb1344ce14ef19
--
2.30.2
More information about the Alsa-devel
mailing list