Commit dd4689e2 authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Vinod Koul
Browse files

dt-bindings: soundwire: add slave bindings



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: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20190829163514.11221-2-srinivas.kandagatla@linaro.org


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent f1fac63a
Loading
Loading
Loading
Loading
+82 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%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@linaro.org>
  - Vinod Koul <vkoul@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.

    required:
      - compatible
      - reg

required:
  - "#address-cells"
  - "#size-cells"

examples:
  - |
    soundwire@c2d0000 {
        #address-cells = <2>;
        #size-cells = <0>;
        reg = <0x0c2d0000 0x2000>;

        speaker@0,1 {
            compatible = "sdw10217201000";
            reg = <0 1>;
            powerdown-gpios = <&wcdpinctrl 2 0>;
            #thermal-sensor-cells = <0>;
        };

        speaker@0,2 {
            compatible = "sdw10217201000";
            reg = <0 2>;
            powerdown-gpios = <&wcdpinctrl 2 0>;
            #thermal-sensor-cells = <0>;
        };
    };

...