diff options
author | Mark Brown <broonie@kernel.org> | 2024-10-18 21:01:38 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-10-18 21:01:38 +0100 |
commit | 42fb51612f8298d24232b1ac2cf7ce303d4cfc7e (patch) | |
tree | 13b0a6ed67d723be86b5ad731913de025d4c4b1b /sound/soc/intel | |
parent | 1b9971a4e01b80afbf061ad7cdf84ac6fbbbde8d (diff) | |
parent | 83c062ae81e89f73e3ab85953111a8b3daaaf98e (diff) | |
download | lwn-42fb51612f8298d24232b1ac2cf7ce303d4cfc7e.tar.gz lwn-42fb51612f8298d24232b1ac2cf7ce303d4cfc7e.zip |
ASoC: add support for some new Lenovo laptops with
Merge series from Bard Liao <yung-chuan.liao@linux.intel.com>:
Some SKUs are using host DMICs rather than the cs42l43 DMICs, update the
endpoint structure for these SKUs to remove the DMIC endpoint.
Charles Keepax (4):
ASoC: sdw_utils: Add support for exclusion DAI quirks
ASoC: sdw_utils: Add a quirk to allow the cs42l43 mic DAI to be
ignored
ASoC: Intel: sof_sdw: Add quirk for cs42l43 system using host DMICs
ASoC: Intel: sof_sdw: Add quirks for some new Lenovo laptops
include/sound/soc_sdw_utils.h | 2 ++
sound/soc/intel/boards/sof_sdw.c | 41 +++++++++++++++++++++++++++++
sound/soc/sdw_utils/soc_sdw_utils.c | 5 +++-
3 files changed, 47 insertions(+), 1 deletion(-)
--
2.43.0
Diffstat (limited to 'sound/soc/intel')
-rw-r--r-- | sound/soc/intel/boards/sof_sdw.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c index 0a87aa9347ef..a6e391791bad 100644 --- a/sound/soc/intel/boards/sof_sdw.c +++ b/sound/soc/intel/boards/sof_sdw.c @@ -580,6 +580,47 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = { }, .driver_data = (void *)(SOC_SDW_CODEC_SPKR), }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "3838") + }, + .driver_data = (void *)(SOC_SDW_SIDECAR_AMPS), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "3832") + }, + .driver_data = (void *)(SOC_SDW_SIDECAR_AMPS), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "380E") + }, + .driver_data = (void *)(SOC_SDW_SIDECAR_AMPS), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "233C") + }, + /* Note this quirk excludes the CODEC mic */ + .driver_data = (void *)(SOC_SDW_CODEC_MIC), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "233B") + }, + .driver_data = (void *)(SOC_SDW_SIDECAR_AMPS), + }, /* ArrowLake devices */ { |