[PATCH 00/11] ALSA: cs35l56: Add support for factory calibration

Richard Fitzgerald
2025-10-16T10:43:03Z

Until now, all products with an amplifier supported by the cs35l56 driver
have shipped with Microsoft Windows pre-installed. The factory calibration
of speaker protection has therefore been done using the Windows driver.

However, products that ship with a Linux-based distro must be able to
perform the factory calibration procedure from within the Linux-based
environment. This patch series adds that support.

NOTE: unfortunately this is yet another series that is mainly ASoC but
also needs some changes to the HDA driver, and they have build dependencies
on the ASoC code. I suggest taking this all through Mark's tree and we'll
avoid sending any other commits to the HDA driver until it has all landed
in Takashi's tree.

Richard Fitzgerald (11):
ASoC: cs35l56: Read silicon ID during initialization and save it
ASoC: cs-amp-lib: Add helpers for factory calibration
ASoC: cs35l56: Add common code for factory calibration
ASoC: cs35l56: Create sysfs files for factory calibration
ALSA: hda/cs35l56: Create sysfs files for factory calibration
ASoC: cs-amp-lib-test: Add cases for factory calibration helpers
ASoC: cs-amp-lib: Return attributes from cs_amp_get_efi_variable()
ASoC: cs-amp-lib: Add function to write calibration to EFI
ASoC: cs35l56: Add calibration command to store into UEFI
ALSA: hda/cs35l56: Set cal_index to the amp index
ASoC: cs-amp-lib-test: Add test cases for
cs_amp_set_efi_calibration_data()

include/sound/cs-amp-lib.h | 24 +-
include/sound/cs35l56.h | 20 +
sound/hda/codecs/side-codecs/Kconfig | 15 +
sound/hda/codecs/side-codecs/cs35l56_hda.c | 141 +-
sound/soc/codecs/Kconfig | 18 +
sound/soc/codecs/cs-amp-lib-test.c | 1491 +++++++++++++++++++-
sound/soc/codecs/cs-amp-lib.c | 319 ++++-
sound/soc/codecs/cs35l56-shared.c | 321 ++++-
sound/soc/codecs/cs35l56.c | 182 +++
9 files changed, 2477 insertions(+), 54 deletions(-)

--
2.47.3