[PATCH v3 0/2] Introduces MDSYNC support for CS35L45
Ricardo Rivera-Matos <[email protected]>
| Newsgroups | org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
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 v1: - Fixed property parsing namespace issue 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 Ricardo Rivera-Matos (2): ASoC: dt-bindings: cs35l45: Adds SYNC properties ASoC: cs35l45: Adds support for SYNC bus .../bindings/sound/cirrus,cs35l45.yaml | 27 ++++++ sound/soc/codecs/cs35l45-tables.c | 4 + sound/soc/codecs/cs35l45.c | 93 ++++++++++++++++++- sound/soc/codecs/cs35l45.h | 23 +++++ 4 files changed, 143 insertions(+), 4 deletions(-) base-commit: 2792cc1b80b7674cc0751b34a964aad76630c1fa -- 2.43.0