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