xref: /linux/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml (revision 68a052239fc4b351e961f698b824f7654a346091)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/qcom,lpass-wsa-macro.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: LPASS(Low Power Audio Subsystem) VA Macro audio codec
8
9maintainers:
10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12properties:
13  compatible:
14    oneOf:
15      - enum:
16          - qcom,sc7280-lpass-wsa-macro
17          - qcom,sm8250-lpass-wsa-macro
18          - qcom,sm8450-lpass-wsa-macro
19          - qcom,sm8550-lpass-wsa-macro
20          - qcom,sc8280xp-lpass-wsa-macro
21      - items:
22          - enum:
23              - qcom,glymur-lpass-wsa-macro
24              - qcom,sm8650-lpass-wsa-macro
25              - qcom,sm8750-lpass-wsa-macro
26              - qcom,x1e80100-lpass-wsa-macro
27          - const: qcom,sm8550-lpass-wsa-macro
28
29  reg:
30    maxItems: 1
31
32  "#sound-dai-cells":
33    const: 1
34
35  '#clock-cells':
36    const: 0
37
38  clocks:
39    minItems: 4
40    maxItems: 6
41
42  clock-names:
43    minItems: 4
44    maxItems: 6
45
46  clock-output-names:
47    maxItems: 1
48
49  qcom,dmic-sample-rate:
50    description: dmic sample rate
51    $ref: /schemas/types.yaml#/definitions/uint32
52
53  vdd-micb-supply:
54    description: phandle to voltage regulator of MIC Bias
55
56required:
57  - compatible
58  - reg
59  - "#sound-dai-cells"
60
61allOf:
62  - $ref: dai-common.yaml#
63
64  - if:
65      properties:
66        compatible:
67          enum:
68            - qcom,sc7280-lpass-wsa-macro
69            - qcom,sm8250-lpass-wsa-macro
70            - qcom,sm8450-lpass-wsa-macro
71            - qcom,sc8280xp-lpass-wsa-macro
72    then:
73      properties:
74        clocks:
75          minItems: 5
76          maxItems: 5
77        clock-names:
78          items:
79            - const: mclk
80            - const: npl
81            - const: macro
82            - const: dcodec
83            - const: fsgen
84
85  - if:
86      properties:
87        compatible:
88          contains:
89            enum:
90              - qcom,sm8550-lpass-wsa-macro
91    then:
92      properties:
93        clocks:
94          minItems: 4
95          maxItems: 4
96        clock-names:
97          items:
98            - const: mclk
99            - const: macro
100            - const: dcodec
101            - const: fsgen
102
103unevaluatedProperties: false
104
105examples:
106  - |
107    #include <dt-bindings/clock/qcom,sm8250-lpass-aoncc.h>
108    #include <dt-bindings/sound/qcom,q6afe.h>
109    codec@3240000 {
110      compatible = "qcom,sm8250-lpass-wsa-macro";
111      reg = <0x3240000 0x1000>;
112      #sound-dai-cells = <1>;
113      #clock-cells = <0>;
114      clocks = <&audiocc 1>,
115               <&audiocc 0>,
116               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
117               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
118               <&vamacro>;
119      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
120      clock-output-names = "mclk";
121    };
122