This patchset solves a known issue with ES8336 platforms wrt MCLK selection. Most of the devices use the MCLK0 signal, but some devices do use the MCLK1 signal.
The MCLK is defined in the topology, it would be a nightmare to generate more topology files just for one MCLK difference. With a minor extension to the intel-nhlt library, the MCLK information can be found by parsing the NHLT table, and we can override the mclk_id at boot time.
The only known issues for this platform remain the detection of GPIO and microphone connections, currently only possible with manual quirks.
Thanks to Eugene J. Markow for testing this patchset.
Pierre-Louis Bossart (4): ASoC: SOF: add quirk to override topology mclk_id ALSA: hda: intel-nhlt: add intel_nhlt_ssp_mclk_mask() ASoC: SOF: Intel: hda: override mclk_id after parsing NHLT SSP blob ASoC: SOF: Intel: hda: refine SSP count support
include/sound/intel-nhlt.h | 7 ++++ sound/hda/intel-nhlt.c | 61 +++++++++++++++++++++++++++++++++++ sound/soc/sof/intel/hda.c | 34 +++++++++++++++++++ sound/soc/sof/intel/hda.h | 2 ++ sound/soc/sof/intel/mtl.c | 2 +- sound/soc/sof/intel/tgl.c | 8 ++--- sound/soc/sof/ipc3-topology.c | 7 ++++ sound/soc/sof/sof-priv.h | 4 +++ 8 files changed, 120 insertions(+), 5 deletions(-)