Re: [PATCH v3 20/28] ASoC: dt-bindings: Add Q6USB backend bindings

From: Krzysztof Kozlowski
Date: Fri Mar 10 2023 - 04:01:18 EST


On 09/03/2023 00:57, 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@xxxxxxxxxxx>
> ---
> .../bindings/sound/qcom,q6usb-dais.yaml | 49 +++++++++++++++++++
> 1 file changed, 49 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..8477abc511dd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml
> @@ -0,0 +1,49 @@
> +# 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
> +
> +maintainers:
> + - Wesley Cheng <quic_wcheng@xxxxxxxxxxx>
> +
> +description:
> + The Q6USB backend is a supported AFE port on the Q6DSP. This backend
> + driver will communicate the required settings to the QC USB SND class

What does the "driver" mean? Linux driver? Then drop and focus on
hardware/Q6DSP.

> + 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

Can q6usb mean anything else? Why "-dais" suffix?

> +
> + iommus:
> + maxItems: 1
> +
> + "#sound-dai-cells":
> + const: 1
> +
> + qcom,usb-audio-intr-num:
> + description:
> + Desired XHCI interrupter number to use.
> + $ref: /schemas/types.yaml#/definitions/uint32

Why this should be configurable per board or SoC? It's the first use in
DT and in the same time sounds generic...

> +
> +required:
> + - compatible
> + - "#sound-dai-cells"
> + - qcom,usb-audio-intr-num
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + dais {
> + compatible = "qcom,q6usb-dais";
> + #sound-dai-cells = <1>;
> + iommus = <&apps_smmu 0x180f 0x0>;
> + qcom,usb-audio-intr-num = <2>;
> + };

Best regards,
Krzysztof