[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