ASoC: intel: sof_sdw: Add support for cs42l43-cs35l56 sidecar amps
authorMaciej Strozek <mstrozek@opensource.cirrus.com>
Fri, 26 Apr 2024 15:21:23 +0000 (10:21 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 29 Apr 2024 15:10:07 +0000 (00:10 +0900)
commitb831b4dca48dbe0f1f7705b44460dd9ca7f2f940
tree0066174ed93ade266be58d9a00a3153de46927b2
parentda5244180281a18c4c7859674fec308514aaf629
ASoC: intel: sof_sdw: Add support for cs42l43-cs35l56 sidecar amps

The cs42l43 has both a SPI master and an I2S interface, these can
be used to populate 2 cs35l56 amplifiers as sidecar devices along
side the cs42l43. Giving a system that looks like:

  +-----+           +---------+ <- SPI -> +---------+
  | CPU | <- SDW -> | CS42L43 |           | CS35L56 |
  +-----+           +---------+ <- I2S -> +---------+

Add a quirk to specify this feature is present and use it to add
codec to codec DAI link to connect the amplifiers into the sound
card, add appropriate widgets, and setup clocking on the
amplifiers.

Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20240426152123.36284-13-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/Kconfig
sound/soc/intel/boards/Makefile
sound/soc/intel/boards/bridge_cs35l56.c [new file with mode: 0644]
sound/soc/intel/boards/sof_sdw.c
sound/soc/intel/boards/sof_sdw_common.h
sound/soc/intel/boards/sof_sdw_cs42l43.c