1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/qcom,q6apm.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Audio Process Manager (Q6APM)
8
9maintainers:
10  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
12
13allOf:
14  - $ref: dai-common.yaml#
15  - $ref: /schemas/soc/qcom/qcom,apr-services.yaml#
16
17properties:
18  compatible:
19    enum:
20      - qcom,q6apm
21
22  bedais:
23    type: object
24    $ref: /schemas/sound/qcom,q6apm-lpass-dais.yaml#
25    unevaluatedProperties: false
26    description: Qualcomm DSP audio ports
27
28  dais:
29    type: object
30    $ref: /schemas/sound/qcom,q6apm-dai.yaml#
31    unevaluatedProperties: false
32    description: Qualcomm DSP audio ports
33
34  '#sound-dai-cells':
35    const: 0
36
37required:
38  - compatible
39  - bedais
40  - dais
41
42unevaluatedProperties: false
43
44examples:
45  - |
46    #include <dt-bindings/soc/qcom,gpr.h>
47
48    gpr {
49        #address-cells = <1>;
50        #size-cells = <0>;
51
52        service@1 {
53            reg = <GPR_APM_MODULE_IID>;
54            compatible = "qcom,q6apm";
55            #sound-dai-cells = <0>;
56            qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
57
58            dais {
59                compatible = "qcom,q6apm-dais";
60                iommus = <&apps_smmu 0x1801 0x0>;
61            };
62
63            bedais {
64                compatible = "qcom,q6apm-lpass-dais";
65                #sound-dai-cells = <1>;
66            };
67        };
68    };
69