On Fri, Aug 23, 2019 at 12:23:40PM +0530, Vinod Koul wrote:
On 23-08-19, 00:37, 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
Controller does not make sense here, why not use spec terminology and say "SoundWire Slave Generic Binding"
It's both IMO. It's describing the structure of child devices of a controller (aka a bus).
+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])*$"
'-[0-9a-f]' was to handle cases like spi-gpio or i2c-gpio. Would a bit banged interface be possible here?
- "#address-cells":
- const: 2
- "#size-cells":
- const: 0
+patternProperties:
- "^.*@[0-9a-f]+$":
If there are distinct fields in the address, they are typically comma separated in the unit-address.
- type: object
- properties:
compatible:pattern: "^sdw[0-9][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:Instance ID and Link ID of SoundWire Device Address.This looks better :) Thanks.
Apart from the minor nit above this looks good to me, I can merge the sdw parts if Rob is fine with them.
Thanks
- required:
- compatible- reg+examples:
- |
- soundwire@c2d0000 {
#address-cells = <2>;#size-cells = <0>;compatible = "qcom,soundwire-v1.5.0";
This will probably change once I review it. :)
reg = <0x0c2d0000 0x2000>;speaker@1 {compatible = "sdw10217201000";reg = <1 0>;};speaker@2 {compatible = "sdw10217201000";reg = <2 0>;};- };
+...
2.21.0
-- ~Vinod