[alsa-devel] [PATCH v5 1/4] dt-bindings: soundwire: add slave bindings

Srinivas Kandagatla srinivas.kandagatla at linaro.org
Thu Aug 29 17:47:02 CEST 2019



On 29/08/2019 16:42, Rob Herring wrote:
> On Thu, Aug 29, 2019 at 9:45 AM Srinivas Kandagatla
> <srinivas.kandagatla at linaro.org> wrote:
>>
>> This patch adds bindings for Soundwire Slave devices that includes how
>> SoundWire enumeration address and Link ID are used to represented in
>> SoundWire slave device tree nodes.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> ---
>>   .../soundwire/soundwire-controller.yaml       | 72 +++++++++++++++++++
>>   1 file changed, 72 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml
>> new file mode 100644
>> index 000000000000..449b6130ce63
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml
>> @@ -0,0 +1,72 @@
>> +# SPDX-License-Identifier: GPL-2.0
> 
> (GPL-2.0-only OR BSD-2-Clause) for new bindings.
> 
Okay Sure will do that!
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/soundwire/soundwire-controller.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: SoundWire Controller Generic Binding
>> +
>> +maintainers:
>> +  - Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> +  - Vinod Koul <vkoul at kernel.org>
>> +
>> +description: |
>> +  SoundWire busses can be described with a node for the SoundWire controller
>> +  device and a set of child nodes for each SoundWire slave on the bus.
>> +
>> +properties:
>> +  $nodename:
>> +    pattern: "^soundwire(@.*)?$"
>> +
>> +  "#address-cells":
>> +    const: 2
>> +
>> +  "#size-cells":
>> +    const: 0
>> +
>> +patternProperties:
>> +  "^.*@[0-9a-f],[0-9a-f]$":
>> +    type: object
>> +
>> +    properties:
>> +      compatible:
>> +        pattern: "^sdw[0-9a-f]{1}[0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{2}$"
>> +        description: Is the textual representation of SoundWire Enumeration
>> +          address. compatible string should contain SoundWire Version ID,
>> +          Manufacturer ID, Part ID and Class ID in order and shall be in
>> +          lower-case hexadecimal with leading zeroes.
>> +          Valid sizes of these fields are
>> +          Version ID is 1 nibble, number '0x1' represents SoundWire 1.0
>> +          and '0x2' represents SoundWire 1.1 and so on.
>> +          MFD is 4 nibbles
>> +          PID is 4 nibbles
>> +          CID is 2 nibbles
>> +          More Information on detail of encoding of these fields can be
>> +          found in MIPI Alliance DisCo & SoundWire 1.0 Specifications.
>> +
>> +      reg:
>> +        maxItems: 1
>> +        description:
>> +          Link ID followed by Instance ID of SoundWire Device Address.
>> +
>> +    additionalProperties: false
> 
> I'm pretty sure you'll want nodes with other properties. If not, then
> why are they in DT? So drop this.

will do!
> 
> Both the controller and child nodes need to list required properties.
> 
Okay, will spin that in next version!
Thanks,
srini

>> +
>> +examples:
>> +  - |
>> +    soundwire at c2d0000 {
>> +        #address-cells = <2>;
>> +        #size-cells = <0>;
>> +        reg = <0x0c2d0000 0x2000>;
>> +
>> +        speaker at 0,1 {
>> +            compatible = "sdw10217201000";
>> +            reg = <0 1>;
>> +        };
>> +
>> +        speaker at 0,2 {
>> +            compatible = "sdw10217201000";
>> +            reg = <0 2>;
>> +        };
>> +    };
>> +
>> +...
>> --
>> 2.21.0
>>


More information about the Alsa-devel mailing list