Merge tag 'for-5.10-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / soundwire / soundwire-controller.yaml
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
7 title: SoundWire Controller Generic Binding
8
9 maintainers:
10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11   - Vinod Koul <vkoul@kernel.org>
12
13 description: |
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
17 properties:
18   $nodename:
19     pattern: "^soundwire(@.*)?$"
20
21   "#address-cells":
22     const: 2
23
24   "#size-cells":
25     const: 0
26
27 patternProperties:
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
56 required:
57   - "#address-cells"
58   - "#size-cells"
59
60 additionalProperties: true
61
62 examples:
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 ...