[alsa-devel] [RESEND PATCH v4 1/4] dt-bindings: soundwire: add slave bindings
Srinivas Kandagatla
srinivas.kandagatla at linaro.org
Fri Aug 23 17:57:25 CEST 2019
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 at 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 at 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 at c2d0000 {
>> + #address-cells = <2>;
>> + #size-cells = <0>;
>> + compatible = "qcom,soundwire-v1.5.0";
>> + reg = <0x0c2d0000 0x2000>;
>> +
>> + speaker at 1 {
>> + compatible = "sdw10217201000";
>> + reg = <1 0>;
>> + };
>> +
>> + speaker at 2 {
>> + compatible = "sdw10217201000";
>> + reg = <2 0>;
>> + };
>> + };
>> +
>> +...
>>
More information about the Alsa-devel
mailing list