162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soundwire/soundwire-controller.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: SoundWire Controller Common Properties
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
1162306a36Sopenharmony_ci  - Vinod Koul <vkoul@kernel.org>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci  SoundWire busses can be described with a node for the SoundWire controller
1562306a36Sopenharmony_ci  device and a set of child nodes for each SoundWire slave on the bus.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  $nodename:
1962306a36Sopenharmony_ci    pattern: "^soundwire(@.*)?$"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  "#address-cells":
2262306a36Sopenharmony_ci    const: 2
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  "#size-cells":
2562306a36Sopenharmony_ci    const: 0
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cipatternProperties:
2862306a36Sopenharmony_ci  "^.*@[0-9a-f],[0-9a-f]$":
2962306a36Sopenharmony_ci    type: object
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci    properties:
3262306a36Sopenharmony_ci      compatible:
3362306a36Sopenharmony_ci        pattern: "^sdw[0-9a-f]{1}[0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{2}$"
3462306a36Sopenharmony_ci        description: Is the textual representation of SoundWire Enumeration
3562306a36Sopenharmony_ci          address. compatible string should contain SoundWire Version ID,
3662306a36Sopenharmony_ci          Manufacturer ID, Part ID and Class ID in order and shall be in
3762306a36Sopenharmony_ci          lower-case hexadecimal with leading zeroes.
3862306a36Sopenharmony_ci          Valid sizes of these fields are
3962306a36Sopenharmony_ci          Version ID is 1 nibble, number '0x1' represents SoundWire 1.0
4062306a36Sopenharmony_ci          and '0x2' represents SoundWire 1.1 and so on.
4162306a36Sopenharmony_ci          MFD is 4 nibbles
4262306a36Sopenharmony_ci          PID is 4 nibbles
4362306a36Sopenharmony_ci          CID is 2 nibbles
4462306a36Sopenharmony_ci          More Information on detail of encoding of these fields can be
4562306a36Sopenharmony_ci          found in MIPI Alliance DisCo & SoundWire 1.0 Specifications.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci      reg:
4862306a36Sopenharmony_ci        maxItems: 1
4962306a36Sopenharmony_ci        description:
5062306a36Sopenharmony_ci          Link ID followed by Instance ID of SoundWire Device Address.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci    required:
5362306a36Sopenharmony_ci      - compatible
5462306a36Sopenharmony_ci      - reg
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_cirequired:
5762306a36Sopenharmony_ci  - "#address-cells"
5862306a36Sopenharmony_ci  - "#size-cells"
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciadditionalProperties: true
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciexamples:
6362306a36Sopenharmony_ci  - |
6462306a36Sopenharmony_ci    soundwire@c2d0000 {
6562306a36Sopenharmony_ci        #address-cells = <2>;
6662306a36Sopenharmony_ci        #size-cells = <0>;
6762306a36Sopenharmony_ci        reg = <0x0c2d0000 0x2000>;
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci        speaker@0,1 {
7062306a36Sopenharmony_ci            compatible = "sdw10217201000";
7162306a36Sopenharmony_ci            reg = <0 1>;
7262306a36Sopenharmony_ci            powerdown-gpios = <&wcdpinctrl 2 0>;
7362306a36Sopenharmony_ci            #thermal-sensor-cells = <0>;
7462306a36Sopenharmony_ci            #sound-dai-cells = <0>;
7562306a36Sopenharmony_ci        };
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci        speaker@0,2 {
7862306a36Sopenharmony_ci            compatible = "sdw10217201000";
7962306a36Sopenharmony_ci            reg = <0 2>;
8062306a36Sopenharmony_ci            powerdown-gpios = <&wcdpinctrl 2 0>;
8162306a36Sopenharmony_ci            #thermal-sensor-cells = <0>;
8262306a36Sopenharmony_ci            #sound-dai-cells = <0>;
8362306a36Sopenharmony_ci        };
8462306a36Sopenharmony_ci    };
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci...
87