xref: /freebsd/sys/contrib/device-tree/Bindings/sound/qcom,q6asm-dais.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/qcom,q6asm-dais.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Qualcomm Audio Stream Manager (Q6ASM)
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotmaintainers:
107ef62cebSEmmanuel Vadot  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
117ef62cebSEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
127ef62cebSEmmanuel Vadot
137ef62cebSEmmanuel Vadotdescription:
147ef62cebSEmmanuel Vadot  Q6ASM is one of the APR audio services on Q6DSP. Each of its subnodes
157ef62cebSEmmanuel Vadot  represent a dai with board specific configuration.
167ef62cebSEmmanuel Vadot
177ef62cebSEmmanuel Vadotproperties:
187ef62cebSEmmanuel Vadot  compatible:
197ef62cebSEmmanuel Vadot    enum:
207ef62cebSEmmanuel Vadot      - qcom,q6asm-dais
217ef62cebSEmmanuel Vadot
227ef62cebSEmmanuel Vadot  iommus:
237ef62cebSEmmanuel Vadot    maxItems: 1
247ef62cebSEmmanuel Vadot
257ef62cebSEmmanuel Vadot  "#sound-dai-cells":
267ef62cebSEmmanuel Vadot    const: 1
277ef62cebSEmmanuel Vadot
287ef62cebSEmmanuel Vadot  "#address-cells":
297ef62cebSEmmanuel Vadot    const: 1
307ef62cebSEmmanuel Vadot
317ef62cebSEmmanuel Vadot  "#size-cells":
327ef62cebSEmmanuel Vadot    const: 0
337ef62cebSEmmanuel Vadot
347ef62cebSEmmanuel VadotpatternProperties:
357ef62cebSEmmanuel Vadot  "^dai@[0-9]+$":
367ef62cebSEmmanuel Vadot    type: object
377ef62cebSEmmanuel Vadot    description:
387ef62cebSEmmanuel Vadot      Q6ASM Digital Audio Interface
397ef62cebSEmmanuel Vadot
407ef62cebSEmmanuel Vadot    properties:
417ef62cebSEmmanuel Vadot      reg:
427ef62cebSEmmanuel Vadot        maxItems: 1
437ef62cebSEmmanuel Vadot
447ef62cebSEmmanuel Vadot      direction:
457ef62cebSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
467ef62cebSEmmanuel Vadot        enum: [0, 1, 2]
477ef62cebSEmmanuel Vadot        description: |
487ef62cebSEmmanuel Vadot          The direction of the dai stream::
497ef62cebSEmmanuel Vadot           - Q6ASM_DAI_TX_RX (0) for both tx and rx
507ef62cebSEmmanuel Vadot           - Q6ASM_DAI_TX (1) for only tx (Capture/Encode)
517ef62cebSEmmanuel Vadot           - Q6ASM_DAI_RX (2) for only rx (Playback/Decode)
527ef62cebSEmmanuel Vadot
537ef62cebSEmmanuel Vadot      is-compress-dai:
547ef62cebSEmmanuel Vadot        type: boolean
557ef62cebSEmmanuel Vadot        description:
567ef62cebSEmmanuel Vadot          Compress offload dai.
577ef62cebSEmmanuel Vadot
587ef62cebSEmmanuel Vadot    dependencies:
59*fac71e4eSEmmanuel Vadot      is-compress-dai: [ direction ]
607ef62cebSEmmanuel Vadot
617ef62cebSEmmanuel Vadot    required:
627ef62cebSEmmanuel Vadot      - reg
637ef62cebSEmmanuel Vadot
647ef62cebSEmmanuel Vadot    additionalProperties: false
657ef62cebSEmmanuel Vadot
667ef62cebSEmmanuel Vadotrequired:
677ef62cebSEmmanuel Vadot  - compatible
687ef62cebSEmmanuel Vadot  - "#sound-dai-cells"
697ef62cebSEmmanuel Vadot  - "#address-cells"
707ef62cebSEmmanuel Vadot  - "#size-cells"
717ef62cebSEmmanuel Vadot
727ef62cebSEmmanuel VadotadditionalProperties: false
737ef62cebSEmmanuel Vadot
747ef62cebSEmmanuel Vadotexamples:
757ef62cebSEmmanuel Vadot  - |
767ef62cebSEmmanuel Vadot    dais {
777ef62cebSEmmanuel Vadot        compatible = "qcom,q6asm-dais";
787ef62cebSEmmanuel Vadot        iommus = <&apps_smmu 0x1821 0x0>;
797ef62cebSEmmanuel Vadot        #address-cells = <1>;
807ef62cebSEmmanuel Vadot        #size-cells = <0>;
817ef62cebSEmmanuel Vadot        #sound-dai-cells = <1>;
827ef62cebSEmmanuel Vadot
837ef62cebSEmmanuel Vadot        dai@0 {
847ef62cebSEmmanuel Vadot            reg = <0>;
857ef62cebSEmmanuel Vadot        };
867ef62cebSEmmanuel Vadot
877ef62cebSEmmanuel Vadot        dai@1 {
887ef62cebSEmmanuel Vadot            reg = <1>;
897ef62cebSEmmanuel Vadot        };
907ef62cebSEmmanuel Vadot
917ef62cebSEmmanuel Vadot        dai@2 {
927ef62cebSEmmanuel Vadot            reg = <2>;
937ef62cebSEmmanuel Vadot            is-compress-dai;
947ef62cebSEmmanuel Vadot            direction = <1>;
957ef62cebSEmmanuel Vadot        };
967ef62cebSEmmanuel Vadot    };
97