# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,q6usb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm ASoC DPCM USB backend DAI

maintainers:
  - Wesley Cheng <quic_wcheng@quicinc.com>

description:
  The USB port is a supported AFE path on the Q6 DSP.  This ASoC DPCM
  backend DAI will communicate the required settings to initialize the
  XHCI host controller properly for enabling the offloaded audio stream.
  Parameters defined under this node will carry settings, which will be
  passed along during the QMI stream enable request and configuration of
  the XHCI host controller.

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    enum:
      - qcom,q6usb

  iommus:
    maxItems: 1

  "#sound-dai-cells":
    const: 1

  qcom,usb-audio-intr-idx:
    description:
      Desired XHCI interrupter number to use.  Depending on the audio DSP
      on the platform, it will operate on a specific XHCI interrupter.
    $ref: /schemas/types.yaml#/definitions/uint16
    maximum: 8

required:
  - compatible
  - "#sound-dai-cells"
  - qcom,usb-audio-intr-idx

additionalProperties: false

examples:
  - |
    dais {
      compatible = "qcom,q6usb";
      #sound-dai-cells = <1>;
      iommus = <&apps_smmu 0x180f 0x0>;
      qcom,usb-audio-intr-idx = /bits/ 16 <2>;
    };
