Re: [PATCH v1 06/10] ASoC: dt-bindings: add wsa881x-i2c binding for analog mode

Krzysztof Kozlowski
2024-12-12T07:23:29Z

On 11/12/2024 21:35, Alexey Klimov wrote:
> On Fri Nov 1, 2024 at 7:57 AM GMT, Krzysztof Kozlowski wrote:
>> On Fri, Nov 01, 2024 at 05:31:50AM +0000, Alexey Klimov wrote:
>>> Add binding document for WSA881X family of smart speaker amplifiers
>>> that set to work in analog mode only and configurable via i2c only.
>>> Such devices are found in Qualcomm QRB4210 RB2 boards with
>>> SM4250/SM6115 SoCs.
>>>
>>> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>>> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
>>> ---
>>> .../bindings/sound/qcom,wsa881x-i2c.yaml | 103 ++++++++++++++++++
>>> 1 file changed, 103 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml
>>> new file mode 100644
>>> index 000000000000..51b040b134d2
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml
>>
>> Filename must match compatible.
>>
>>> @@ -0,0 +1,103 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/sound/qcom,wsa881x-i2c.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Qualcomm WSA8810/WSA8815 Class-D Smart Speaker Amplifier in Analog mode
>>> +
>>> +maintainers:
>>> + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>>> + - Alexey Klimov <alexey.klimov@linaro.org>
>>> +
>>> +description: |
>>> + WSA8810 is a class-D smart speaker amplifier and WSA8815
>>> + is a high-output power class-D smart speaker amplifier.
>>> + Their primary operating mode uses a SoundWire digital audio
>>> + interface however the amplifier also supports analog mode and it
>>> + can be controlled via I2C. This binding is for I2C interface.
>>> +
>>> +allOf:
>>> + - $ref: dai-common.yaml#
>>> +
>>> +properties:
>>> + compatible:
>>> + const: qcom,qrb4210-wsa881x-i2c-codec
>>
>> qrb4210 is a name of a board, not codec. i2c is redundant, codec as
>> well. 'x' is not allowed.
>
> qcom,qrb4210-wsa881x-i2c-codec came from qcom-soc.yaml with the advice
> that it should be qcom,SoC-IP.

I am sorry, but qcom,soc.yaml is about SoC. Is this a SoC? It is the
first time I see WSA integrated into the SoC.

>
> Anyway I am working on updating the qcom,wsa881x.yaml as you pointed out
> in another email.
>
>> This is qcom,wsa8810 and qcom,wsa8815 compatible with it.
>>
>
> [..]
>
>>> +
>>> + wsa881x@e {
>>
>> Node names should be generic. See also an explanation and list of
>> examples (not exhaustive) in DT specification:
>> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>
> The best I can come up with is "amplifier", or it should be at least "codec'.

amplifier, speakers, you can check how this is called in 10 existing DTS
files or their bindings for WSA speakers.

Best regards,
Krzysztof