18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/soundwire/soundwire-controller.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: SoundWire Controller Generic Binding
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
118c2ecf20Sopenharmony_ci  - Vinod Koul <vkoul@kernel.org>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription: |
148c2ecf20Sopenharmony_ci  SoundWire busses can be described with a node for the SoundWire controller
158c2ecf20Sopenharmony_ci  device and a set of child nodes for each SoundWire slave on the bus.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciproperties:
188c2ecf20Sopenharmony_ci  $nodename:
198c2ecf20Sopenharmony_ci    pattern: "^soundwire(@.*)?$"
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  "#address-cells":
228c2ecf20Sopenharmony_ci    const: 2
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  "#size-cells":
258c2ecf20Sopenharmony_ci    const: 0
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_cipatternProperties:
288c2ecf20Sopenharmony_ci  "^.*@[0-9a-f],[0-9a-f]$":
298c2ecf20Sopenharmony_ci    type: object
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci    properties:
328c2ecf20Sopenharmony_ci      compatible:
338c2ecf20Sopenharmony_ci        pattern: "^sdw[0-9a-f]{1}[0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{2}$"
348c2ecf20Sopenharmony_ci        description: Is the textual representation of SoundWire Enumeration
358c2ecf20Sopenharmony_ci          address. compatible string should contain SoundWire Version ID,
368c2ecf20Sopenharmony_ci          Manufacturer ID, Part ID and Class ID in order and shall be in
378c2ecf20Sopenharmony_ci          lower-case hexadecimal with leading zeroes.
388c2ecf20Sopenharmony_ci          Valid sizes of these fields are
398c2ecf20Sopenharmony_ci          Version ID is 1 nibble, number '0x1' represents SoundWire 1.0
408c2ecf20Sopenharmony_ci          and '0x2' represents SoundWire 1.1 and so on.
418c2ecf20Sopenharmony_ci          MFD is 4 nibbles
428c2ecf20Sopenharmony_ci          PID is 4 nibbles
438c2ecf20Sopenharmony_ci          CID is 2 nibbles
448c2ecf20Sopenharmony_ci          More Information on detail of encoding of these fields can be
458c2ecf20Sopenharmony_ci          found in MIPI Alliance DisCo & SoundWire 1.0 Specifications.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci      reg:
488c2ecf20Sopenharmony_ci        maxItems: 1
498c2ecf20Sopenharmony_ci        description:
508c2ecf20Sopenharmony_ci          Link ID followed by Instance ID of SoundWire Device Address.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci    required:
538c2ecf20Sopenharmony_ci      - compatible
548c2ecf20Sopenharmony_ci      - reg
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_cirequired:
578c2ecf20Sopenharmony_ci  - "#address-cells"
588c2ecf20Sopenharmony_ci  - "#size-cells"
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciadditionalProperties: true
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ciexamples:
638c2ecf20Sopenharmony_ci  - |
648c2ecf20Sopenharmony_ci    soundwire@c2d0000 {
658c2ecf20Sopenharmony_ci        #address-cells = <2>;
668c2ecf20Sopenharmony_ci        #size-cells = <0>;
678c2ecf20Sopenharmony_ci        reg = <0x0c2d0000 0x2000>;
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci        speaker@0,1 {
708c2ecf20Sopenharmony_ci            compatible = "sdw10217201000";
718c2ecf20Sopenharmony_ci            reg = <0 1>;
728c2ecf20Sopenharmony_ci            powerdown-gpios = <&wcdpinctrl 2 0>;
738c2ecf20Sopenharmony_ci            #thermal-sensor-cells = <0>;
748c2ecf20Sopenharmony_ci            #sound-dai-cells = <0>;
758c2ecf20Sopenharmony_ci        };
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci        speaker@0,2 {
788c2ecf20Sopenharmony_ci            compatible = "sdw10217201000";
798c2ecf20Sopenharmony_ci            reg = <0 2>;
808c2ecf20Sopenharmony_ci            powerdown-gpios = <&wcdpinctrl 2 0>;
818c2ecf20Sopenharmony_ci            #thermal-sensor-cells = <0>;
828c2ecf20Sopenharmony_ci            #sound-dai-cells = <0>;
838c2ecf20Sopenharmony_ci        };
848c2ecf20Sopenharmony_ci    };
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci...
87