[PATCH v4 0/2] Introduces MDSYNC support for CS35L45
Ricardo Rivera-Matos <[email protected]>
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260821-sound-for-next-cs35l45-sync-v4-v4-0-20d3a07c3b8d@opensource.cirrus.com> |
The CS35L45 has SYNC pin that can be used as a multi device synchronization (MDSYNC) bus. This pin can send various message types between Cirrus devices. This patch series adds support for long and short DSP messages between CS35L45 devices. Each device on the SYNC bus must have a unique transmitter identifier per message type as the bus arbitrates message priority via this identifier. These identifiers are set by the introduced devicetree properties. The priority assignment is intended to be a static system integration decision. The relevant receiver controls are introduced as mixer controls so they are exposed at runtime to be configured for the appropriate use cases. Changes since v3: - return 0 when controls are unchanged - adds locking to cs35l45_sync_en_put - Enable -> Switch Changes since v2: - snd_soc_kcontrol_component -> snd_kcontrol_chip - only register sync controls if GPIO mux selects SYNC - return 1 on cs35l45_sync_en_put success - drop | in dt property description Changes since v1: - Fixed property parsing namespace issue Signed-off-by: Ricardo Rivera-Matos <[email protected]> --- Ricardo Rivera-Matos (2): ASoC: dt-bindings: cs35l45: Adds SYNC properties ASoC: cs35l45: Adds support for SYNC bus .../devicetree/bindings/sound/cirrus,cs35l45.yaml | 27 ++++++ sound/soc/codecs/cs35l45-tables.c | 4 + sound/soc/codecs/cs35l45.c | 101 ++++++++++++++++++++- sound/soc/codecs/cs35l45.h | 23 +++++ 4 files changed, 151 insertions(+), 4 deletions(-) --- base-commit: 2792cc1b80b7674cc0751b34a964aad76630c1fa change-id: 20260821-sound-for-next-cs35l45-sync-v4-c2664a7bd536 Best regards, -- Ricardo Rivera-Matos <[email protected]>