Message ID | 20221223233200.26089-14-quic_wcheng@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Introduce QC USB SND audio offloading support | expand |
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
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 + +maintainers: + - Wesley Cheng <quic_wcheng@quicinc.com> + +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 + 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. + $ref: /schemas/types.yaml#/definitions/uint32 + + qcom,usb-audio-intr-num: + description: + Desired XHCI interrupter number to use. + $ref: /schemas/types.yaml#/definitions/uint32 + +required: + - compatible + - '#sound-dai-cells' + - qcom,usb-audio-intr-num + +additionalProperties: false + +examples: + - | + usbdai: usbd { + 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>; + };
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