On 23/08/2019 16:41, Pierre-Louis Bossart wrote:
On 8/22/19 6:37 PM, Srinivas Kandagatla 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 | 75 +++++++++++++++++++ 1 file changed, 75 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..91aa6c6d6266 --- /dev/null +++ b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: GPL-2.0 +%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
+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(@.*|-[0-9a-f])*$"
+ "#address-cells": + const: 2
+ "#size-cells": + const: 0
+patternProperties: + "^.*@[0-9a-f]+$": + type: object
+ properties: + compatible: + pattern: "^sdw[0-9][0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{2}$"
So is this a 64-bit value, as in the MIPI spec, or is this part of the _ADR description?
Rob did not like encoding compatible string exactly like _ADR encoding.
https://lkml.org/lkml/2019/8/22/490
I also don't get why the first item in in base10?
As this corresponds to Soundwire Version, and I have no visibility of version number encoding after reaching number 9 in this field.
This can be updated once we have more info on how the Version encoding will look like in future.
Idea of limiting regex to [0-9] for version is to enforce some checking!
--srini
+ 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: + Instance ID and Link ID of SoundWire Device Address.
+ required: + - compatible + - reg
+examples: + - | + soundwire@c2d0000 { + #address-cells = <2>; + #size-cells = <0>; + compatible = "qcom,soundwire-v1.5.0"; + reg = <0x0c2d0000 0x2000>;
+ speaker@1 { + compatible = "sdw10217201000"; + reg = <1 0>; + };
+ speaker@2 { + compatible = "sdw10217201000"; + reg = <2 0>; + }; + };
+...