mirror_ubuntu-kernels/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml

87 lines
2.3 KiB
YAML

# 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 Common Properties
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"
additionalProperties: true
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>;
#sound-dai-cells = <0>;
};
speaker@0,2 {
compatible = "sdw10217201000";
reg = <0 2>;
powerdown-gpios = <&wcdpinctrl 2 0>;
#thermal-sensor-cells = <0>;
#sound-dai-cells = <0>;
};
};
...