spi: cs42l43: Add bridged cs35l56 amplifiers
authorMaciej Strozek <mstrozek@opensource.cirrus.com>
Tue, 16 Apr 2024 10:09:04 +0000 (11:09 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 16 Apr 2024 11:00:29 +0000 (20:00 +0900)
commit439fbc97502ae16f3e54e05d266d103674cc4f06
tree99d5a777327bf0e0bdb40935d9dd393d326967bd
parented8921188f3568ba1659ff041f21e83565c74ec2
spi: cs42l43: Add bridged cs35l56 amplifiers

On some cs42l43 systems a couple of cs35l56 amplifiers are attached
to the cs42l43's SPI and I2S. On Windows the cs42l43 is controlled
by a SDCA class driver and these two amplifiers are controlled by
firmware running on the cs42l43. However, under Linux the decision
was made to interact with the cs42l43 directly, affording the user
greater control over the audio system. However, this has resulted
in an issue where these two bridged cs35l56 amplifiers are not
populated in ACPI and must be added manually.

Check for the presence of the "01fa-cirrus-sidecar-instances" property
in the SDCA extension unit's ACPI properties to confirm the presence
of these two amplifiers and if they exist add them manually onto the
SPI bus.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20240416100904.3738093-5-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/Kconfig
drivers/spi/spi-cs42l43.c