xref: /linux/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml (revision 5f8f965287494d55e8ba3551e3727a5e9d0eb702)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soundwire/soundwire-controller.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: SoundWire Controller Generic Binding
8
9maintainers:
10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11  - Vinod Koul <vkoul@kernel.org>
12
13description: |
14  SoundWire busses can be described with a node for the SoundWire controller
15  device and a set of child nodes for each SoundWire slave on the bus.
16
17properties:
18  $nodename:
19    pattern: "^soundwire(@.*)?$"
20
21  "#address-cells":
22    const: 2
23
24  "#size-cells":
25    const: 0
26
27patternProperties:
28  "^.*@[0-9a-f],[0-9a-f]$":
29    type: object
30
31    properties:
32      compatible:
33        pattern: "^sdw[0-9a-f]{1}[0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{2}$"
34        description: Is the textual representation of SoundWire Enumeration
35          address. compatible string should contain SoundWire Version ID,
36          Manufacturer ID, Part ID and Class ID in order and shall be in
37          lower-case hexadecimal with leading zeroes.
38          Valid sizes of these fields are
39          Version ID is 1 nibble, number '0x1' represents SoundWire 1.0
40          and '0x2' represents SoundWire 1.1 and so on.
41          MFD is 4 nibbles
42          PID is 4 nibbles
43          CID is 2 nibbles
44          More Information on detail of encoding of these fields can be
45          found in MIPI Alliance DisCo & SoundWire 1.0 Specifications.
46
47      reg:
48        maxItems: 1
49        description:
50          Link ID followed by Instance ID of SoundWire Device Address.
51
52    required:
53      - compatible
54      - reg
55
56required:
57  - "#address-cells"
58  - "#size-cells"
59
60additionalProperties: true
61
62examples:
63  - |
64    soundwire@c2d0000 {
65        #address-cells = <2>;
66        #size-cells = <0>;
67        reg = <0x0c2d0000 0x2000>;
68
69        speaker@0,1 {
70            compatible = "sdw10217201000";
71            reg = <0 1>;
72            powerdown-gpios = <&wcdpinctrl 2 0>;
73            #thermal-sensor-cells = <0>;
74            #sound-dai-cells = <0>;
75        };
76
77        speaker@0,2 {
78            compatible = "sdw10217201000";
79            reg = <0 2>;
80            powerdown-gpios = <&wcdpinctrl 2 0>;
81            #thermal-sensor-cells = <0>;
82            #sound-dai-cells = <0>;
83        };
84    };
85
86...
87