blob: 4a56108c444b8ac52a4c3a16fa0ebbe36b4c94b6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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-va-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 enum:
15 - qcom,sc7280-lpass-va-macro
16 - qcom,sm8250-lpass-va-macro
17 - qcom,sm8450-lpass-va-macro
18 - qcom,sm8550-lpass-va-macro
19 - qcom,sc8280xp-lpass-va-macro
20
21 reg:
22 maxItems: 1
23
24 "#sound-dai-cells":
25 const: 1
26
27 '#clock-cells':
28 const: 0
29
30 clocks:
31 minItems: 1
32 maxItems: 4
33
34 clock-names:
35 minItems: 1
36 maxItems: 4
37
38 clock-output-names:
39 maxItems: 1
40
41 power-domains:
42 maxItems: 2
43
44 power-domain-names:
45 items:
46 - const: macro
47 - const: dcodec
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 - clock-names
61 - clocks
62
63allOf:
64 - $ref: dai-common.yaml#
65
66 - if:
67 properties:
68 compatible:
69 contains:
70 const: qcom,sc7280-lpass-va-macro
71 then:
72 properties:
73 clocks:
74 maxItems: 1
75 clock-names:
76 items:
77 - const: mclk
78
79 - if:
80 properties:
81 compatible:
82 contains:
83 const: qcom,sm8250-lpass-va-macro
84 then:
85 properties:
86 clocks:
87 minItems: 3
88 maxItems: 3
89 clock-names:
90 items:
91 - const: mclk
92 - const: macro
93 - const: dcodec
94
95 - if:
96 properties:
97 compatible:
98 contains:
99 enum:
100 - qcom,sc8280xp-lpass-va-macro
101 - qcom,sm8450-lpass-va-macro
102 then:
103 properties:
104 clocks:
105 minItems: 4
106 maxItems: 4
107 clock-names:
108 items:
109 - const: mclk
110 - const: macro
111 - const: dcodec
112 - const: npl
113
114 - if:
115 properties:
116 compatible:
117 contains:
118 enum:
119 - qcom,sm8550-lpass-va-macro
120 then:
121 properties:
122 clocks:
123 minItems: 3
124 maxItems: 3
125 clock-names:
126 items:
127 - const: mclk
128 - const: macro
129 - const: dcodec
130
131unevaluatedProperties: false
132
133examples:
134 - |
135 #include <dt-bindings/sound/qcom,q6afe.h>
136 codec@3370000 {
137 compatible = "qcom,sm8250-lpass-va-macro";
138 reg = <0x3370000 0x1000>;
139 #sound-dai-cells = <1>;
140 #clock-cells = <0>;
141 clocks = <&aoncc 0>,
142 <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
143 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
144 clock-names = "mclk", "macro", "dcodec";
145 clock-output-names = "fsgen";
146 qcom,dmic-sample-rate = <600000>;
147 vdd-micb-supply = <&vreg_s4a_1p8>;
148 };