[alsa-devel] [RFC PATCH 1/5] dt-bindings: soundwire: add slave bindings
Srinivas Kandagatla
srinivas.kandagatla at linaro.org
Tue Jul 2 10:22:01 CEST 2019
Thanks Vinod for taking time to review,
On 01/07/2019 07:11, Vinod Koul wrote:
> On 11-06-19, 11:40, Srinivas Kandagatla wrote:
>> This patch adds bindings for Soundwire Slave devices which includes how
>> SoundWire enumeration address is represented in SoundWire slave device
>> tree nodes.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> ---
>> .../devicetree/bindings/soundwire/bus.txt | 48 +++++++++++++++++++
>> 1 file changed, 48 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/soundwire/bus.txt
>>
>> diff --git a/Documentation/devicetree/bindings/soundwire/bus.txt b/Documentation/devicetree/bindings/soundwire/bus.txt
>> new file mode 100644
>> index 000000000000..19a672b0d528
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soundwire/bus.txt
>
> The bindings are for slave right and the file is bus.txt?
I tried to follow what I have done for SLIMBus.
Do you prefer them to be documented in slave.txt?
>
>> @@ -0,0 +1,48 @@
>> +SoundWire bus bindings.
>> +
>> +SoundWire is a 2-pin multi-drop interface with data and clock line.
>> +It facilitates development of low cost, efficient, high performance systems.
>> +
>> +SoundWire controller bindings are very much specific to vendor.
>> +
>> +Child nodes(SLAVE devices):
>> +Every SoundWire controller node can contain zero or more child nodes
>> +representing slave devices on the bus. Every SoundWire slave device is
>> +uniquely determined by the enumeration address containing 5 fields:
>> +SoundWire Version, Instance ID, Manufacturer ID, Part ID and Class ID
>> +for a device. Addition to below required properties, child nodes can
>> +have device specific bindings.
>> +
>> +Required property for SoundWire child node if it is present:
>> +- compatible: "sdwVER,MFD,PID,CID". The textual representation of
>> + SoundWire Enumeration address comprising SoundWire
>> + Version, Manufacturer ID, Part ID and Class ID,
>> + shall be in lower-case hexadecimal with leading
>> + zeroes suppressed.
>> + Version number '0x10' represents SoundWire 1.0
>> + Version number '0x11' represents SoundWire 1.1
>> + ex: "sdw10,0217,2010,0"
>
> any reason why we want to code version number and not say sdw,1.0,...
> and so on?
For consistency reasons, as other info in hex.
>
>> +
>> +- sdw-instance-id: Should be ('Instance ID') from SoundWire
>> + Enumeration Address. Instance ID is for the cases
>> + where multiple Devices of the same type or Class
>> + are attached to the bus.
>
> instance id is part of the 48bit device id, so wont it make sense to add
> that to compatible as well?
>
So we could have multiple instance of same IP, so adding this to
compatible string does not make sense! As driver has to list all the
possible compatible strings.
>> +
>> +SoundWire example for Qualcomm's SoundWire controller:
>> +
>> +soundwire at c2d0000 {
>> + compatible = "qcom,soundwire-v1.5.0"
>> + reg = <0x0c2d0000 0x2000>;
>> +
>> + spkr_left:wsa8810-left{
>> + compatible = "sdw10,0217,2010,0";
>> + sdw-instance-id = <1>;
>> + ...
>> + };
>> +
>> + spkr_right:wsa8810-right{
>> + compatible = "sdw10,0217,2010,0";
>> + sdw-instance-id = <2>;
>> + ...
>> + };
>> +};
>> --
>> 2.21.0
>
More information about the Alsa-devel
mailing list