xref: /linux/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
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,sm8650-lpass-wsa-macro
24              - qcom,x1e80100-lpass-wsa-macro
25          - const: qcom,sm8550-lpass-wsa-macro
26
27  reg:
28    maxItems: 1
29
30  "#sound-dai-cells":
31    const: 1
32
33  '#clock-cells':
34    const: 0
35
36  clocks:
37    minItems: 4
38    maxItems: 6
39
40  clock-names:
41    minItems: 4
42    maxItems: 6
43
44  clock-output-names:
45    maxItems: 1
46
47  qcom,dmic-sample-rate:
48    description: dmic sample rate
49    $ref: /schemas/types.yaml#/definitions/uint32
50
51  vdd-micb-supply:
52    description: phandle to voltage regulator of MIC Bias
53
54required:
55  - compatible
56  - reg
57  - "#sound-dai-cells"
58
59allOf:
60  - $ref: dai-common.yaml#
61
62  - if:
63      properties:
64        compatible:
65          enum:
66            - qcom,sc7280-lpass-wsa-macro
67            - qcom,sm8250-lpass-wsa-macro
68            - qcom,sm8450-lpass-wsa-macro
69            - qcom,sc8280xp-lpass-wsa-macro
70    then:
71      properties:
72        clocks:
73          minItems: 5
74          maxItems: 5
75        clock-names:
76          items:
77            - const: mclk
78            - const: npl
79            - const: macro
80            - const: dcodec
81            - const: fsgen
82
83  - if:
84      properties:
85        compatible:
86          contains:
87            enum:
88              - qcom,sm8550-lpass-wsa-macro
89    then:
90      properties:
91        clocks:
92          minItems: 4
93          maxItems: 4
94        clock-names:
95          items:
96            - const: mclk
97            - const: macro
98            - const: dcodec
99            - const: fsgen
100
101unevaluatedProperties: false
102
103examples:
104  - |
105    #include <dt-bindings/clock/qcom,sm8250-lpass-aoncc.h>
106    #include <dt-bindings/sound/qcom,q6afe.h>
107    codec@3240000 {
108      compatible = "qcom,sm8250-lpass-wsa-macro";
109      reg = <0x3240000 0x1000>;
110      #sound-dai-cells = <1>;
111      #clock-cells = <0>;
112      clocks = <&audiocc 1>,
113               <&audiocc 0>,
114               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
115               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
116               <&vamacro>;
117      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
118      clock-output-names = "mclk";
119    };
120