On Thu, Aug 29, 2019 at 9:45 AM Srinivas Kandagatla srinivas.kandagatla@linaro.org wrote:
This patch adds bindings for Soundwire Slave devices that includes how SoundWire enumeration address and Link ID are used to represented in SoundWire slave device tree nodes.
Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org
.../soundwire/soundwire-controller.yaml | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml
diff --git a/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml new file mode 100644 index 000000000000..449b6130ce63 --- /dev/null +++ b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: GPL-2.0
(GPL-2.0-only OR BSD-2-Clause) for new bindings.
+%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soundwire/soundwire-controller.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: SoundWire Controller Generic Binding
+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 Enumerationaddress. compatible string should contain SoundWire Version ID,Manufacturer ID, Part ID and Class ID in order and shall be inlower-case hexadecimal with leading zeroes.Valid sizes of these fields areVersion ID is 1 nibble, number '0x1' represents SoundWire 1.0and '0x2' represents SoundWire 1.1 and so on.MFD is 4 nibblesPID is 4 nibblesCID is 2 nibblesMore Information on detail of encoding of these fields can befound in MIPI Alliance DisCo & SoundWire 1.0 Specifications.reg:maxItems: 1description:Link ID followed by Instance ID of SoundWire Device Address.- additionalProperties: false
I'm pretty sure you'll want nodes with other properties. If not, then why are they in DT? So drop this.
Both the controller and child nodes need to list required properties.
+examples:
- |
- soundwire@c2d0000 {
#address-cells = <2>;#size-cells = <0>;reg = <0x0c2d0000 0x2000>;speaker@0,1 {compatible = "sdw10217201000";reg = <0 1>;};speaker@0,2 {compatible = "sdw10217201000";reg = <0 2>;};- };
+...
2.21.0