Re: [RFC PATCH 13/14] ASoC: dt-bindings: Add Q6USB backend bindings

Krzysztof Kozlowski
2022-12-26T12:25:33Z

On 24/12/2022 00:31, Wesley Cheng wrote:
> Add a dt-binding to describe the definition of enabling the Q6 USB backend
> device for audio offloading. The node carries information, which is passed
> along to the QC USB SND class driver counterpart. These parameters will be
> utilized during QMI stream enable requests.
>
> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
> ---
> .../bindings/sound/qcom,q6usb-dais.yaml | 55 +++++++++++++++++++
> 1 file changed, 55 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml
> new file mode 100644
> index 000000000000..e24b4d52fa7e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml
> @@ -0,0 +1,55 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/qcom,q6usb-dais.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm ASoC USB backend DAI

What is "ASoC"? Does not look like Qualcomm name for hardware, but
rather Linux, so should be dropped or changed to SoC or ADSP etc.

> +
> +maintainers:
> + - Wesley Cheng <quic_wcheng@quicinc.com>
> +
> +description:
> + The Q6USB backend is a supported AFE port on the Q6DSP. This backend

What does "supported AFE port" mean? Can an AFE port be unsupported?

> + driver will communicate the required settings to the QC USB SND class

If you mean Linux driver, then please drop entirely all references to
drivers. In other case, please explain more.

> + driver for properly enabling the audio stream. Parameters defined
> + under this node will carry settings, which will be passed along during
> + the QMI stream enable request.
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,q6usb-dais
> +
> + iommus:
> + maxItems: 1
> +
> + "#sound-dai-cells":
> + const: 1
> +
> + qcom,usb-audio-stream-id:
> + description:
> + SID for the Q6DSP processor for IOMMU mapping.

Why this is not part of regular iommus property? It's the first time
something like this appears in Qualcomm hardware, so I wonder why this
DAI is special?

> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + qcom,usb-audio-intr-num:
> + description:
> + Desired XHCI interrupter number to use.

What does it mean? Interrupts are defined with "interrupts" property, so
you need to explain more.

> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> +required:
> + - compatible
> + - '#sound-dai-cells'

Keep consistent quotes - either ' or "

> + - qcom,usb-audio-intr-num
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + usbdai: usbd {

Generic node names, so dai or dais

> + compatible = "qcom,q6usb-dais";
> + #sound-dai-cells = <1>;
> + iommus = <&apps_smmu 0x180f 0x0>;
> + qcom,usb-audio-stream-id = <0xf>;
> + qcom,usb-audio-intr-num = <2>;
> + };

Best regards,
Krzysztof