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

Ricardo Rivera-Matos <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.sound,gmane.linux.drivers.devicetree
Message-ID <[email protected]>

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 <[email protected]>
>> ---
>>   .../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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.