]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: cs35l56: Load tunings for the correct speaker models
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Mon, 29 Jan 2024 16:27:32 +0000 (16:27 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 1 Feb 2024 12:57:25 +0000 (12:57 +0000)
commit245eeff18d7a37693815250ae15979ce98c3d190
tree81c0f66feea1941e90d2ad38a2099ce451f88601
parentf4ef5149953f2fc04907ca5b34db3df667dcddef
ASoC: cs35l56: Load tunings for the correct speaker models

If the "spk-id-gpios" property is present it points to GPIOs whose
value must be used to select the correct bin file to match the
speakers.

Some manufacturers use multiple sources of speakers, which need
different tunings for best performance. On these models the type of
speaker fitted is indicated by the values of one or more GPIOs. The
number formed by the GPIOs identifies the tuning required.

The speaker ID must be used in combination with the subsystem ID
(either from PCI SSID or cirrus,firmware-uid property), because the
GPIOs can only indicate variants of a specific model.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: 1a1c3d794ef6 ("ASoC: cs35l56: Use PCI SSID as the firmware UID")
Link: https://msgid.link/r/20240129162737.497-14-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/cs35l56.h
sound/soc/codecs/cs35l56-shared.c
sound/soc/codecs/cs35l56.c
sound/soc/codecs/cs35l56.h