Re: [PATCH v2 1/2] ASoC: dt-bindings: cs35l45: Adds SYNC properties

From: Ricardo Rivera-Matos

Date: Tue Aug 18 2026 - 09:38:36 EST




On 8/17/26 2:39 AM, Krzysztof Kozlowski wrote:
On Fri, Aug 14, 2026 at 10:34:52PM +0000, Ricardo Rivera-Matos wrote:
Introduces support for the multidevice synchronization (SYNC)
bus. The properties introduced allow for the configuration
of the device's transmitter IDs.

Signed-off-by: Ricardo Rivera-Matos <rriveram@xxxxxxxxxxxxxxxxxxxxx>
---
.../bindings/sound/cirrus,cs35l45.yaml | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)

Sashiko comments are valid.

Sashiko contradicts itself in its own comment.

In Device Tree design, child nodes usually represent distinct
hardware components, sub-devices, buses, or standardized structural elements
rather than serving as logical folders to group related configuration
properties.

Emphasis on the buses part of the list of things that merit a child node. MDSYNC is a bus.

Willing to go either way on this, but I do feel it looks a bit tidier and follows the pattern set by the GPIO nodes already in this DT binding.



diff --git a/Documentation/devicetree/bindings/sound/cirrus,cs35l45.yaml b/Documentation/devicetree/bindings/sound/cirrus,cs35l45.yaml
index 70f6c62aedca..f64ba8c872b9 100644
--- a/Documentation/devicetree/bindings/sound/cirrus,cs35l45.yaml
+++ b/Documentation/devicetree/bindings/sound/cirrus,cs35l45.yaml
@@ -53,6 +53,29 @@ properties:
maximum: 3
default: 2
+ sync:
+ description:
+ Multidevice synchronization (SYNC) bus configuration
+ type: object
+ additionalProperties: false
+ properties:
+ cirrus,sync-lsw-txid:
+ description: |

Do not need '|' unless you need to preserve formatting.

ACK, will fix this in v3.


+ Transmitter ID to use for long software (LSW) data packets
+ on the SYNC bus.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 0
+ maximum: 7
+ default: 0
+ cirrus,sync-sw-txid:
+ description: |
+ Transmitter ID to use for short software (SW) data packets
+ on the SYNC bus.

What is transmitter ID? Why does it differ per board designs?

Transmitter ID sets the arbitration priority in the event two devices clash when transmitting. Higher priority device gets to transmit and the loser(s) try again later. The winner of the original conflict does not transmit again until the bus idles (all losers have transmitted).

Equal priority by setting identical TX IDs breaks the bus and no one wins in the event of a bus clash (never desirable).

If the transducers are dissimilar, then a system integrator would intentionally want a set of these devices to have a higher priority than the other sets.


Best regards,
Krzysztof