Re: [PATCH 2/2] ASoC: cs35l45: Adds support for SYNC bus
From: Ricardo Rivera-Matos
Date: Tue Aug 11 2026 - 17:13:35 EST
On 8/11/26 12:24 PM, Mark Brown wrote:
On Tue, Aug 11, 2026 at 05:06:03PM +0000, Ricardo Rivera-Matos wrote:
Adds support for the multidevice synchronization (SYNC) bus.
The SYNC bus is an opaque one wire bus that is shared between
Cirrus devices. Initial support only includes software (SW)
data packets.
Given this description...
+ SOC_SINGLE_BOOL_EXT("SYNC Enable", 0, cs35l45_sync_en_get, cs35l45_sync_en_put),
+ SOC_SINGLE("SYNC LSW RX Enable", CS35L45_SYNC_TX_RX_ENABLES,
+ CS35L45_SYNC_LSW_RX_EN_SHIFT, 1, 0),
+ SOC_SINGLE("SYNC LSW TX Enable", CS35L45_SYNC_TX_RX_ENABLES,
+ CS35L45_SYNC_LSW_TX_EN_SHIFT, 1, 0),
+ SOC_SINGLE("SYNC SW RX Enable", CS35L45_SYNC_TX_RX_ENABLES,
+ CS35L45_SYNC_SW_RX_EN_SHIFT, 1, 0),
+ SOC_SINGLE("SYNC SW TX Enable", CS35L45_SYNC_TX_RX_ENABLES,
+ CS35L45_SYNC_SW_TX_EN_SHIFT, 1, 0),
...it's not clear to me why this would be user controllable.
This can be use-case dependent. An example that comes to mind is keeping similar transducers linked during a posture switch.
That is to say, on a four speaker system in landscape orientation, two particular amps are acting as linked tweeters and two amps are acting as unlinked woofers. When rotated into portrait orientation the linking over the SYNC bus needs to be reconfigured to match the new pairings in the portrait use-case.
Ricardo