blob: 6b483fa3c428e668862050c3d52ce8bed0e0a8dd [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:
Tom Rini93743d22024-04-01 09:08:13 -040014 oneOf:
15 - enum:
16 - qcom,sc7280-lpass-va-macro
17 - qcom,sm8250-lpass-va-macro
18 - qcom,sm8450-lpass-va-macro
19 - qcom,sm8550-lpass-va-macro
20 - qcom,sc8280xp-lpass-va-macro
21 - items:
22 - enum:
23 - qcom,sm8650-lpass-va-macro
24 - qcom,x1e80100-lpass-va-macro
25 - const: qcom,sm8550-lpass-va-macro
Tom Rini53633a82024-02-29 12:33:36 -050026
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: 1
38 maxItems: 4
39
40 clock-names:
41 minItems: 1
42 maxItems: 4
43
44 clock-output-names:
45 maxItems: 1
46
47 power-domains:
48 maxItems: 2
49
50 power-domain-names:
51 items:
52 - const: macro
53 - const: dcodec
54
55 qcom,dmic-sample-rate:
56 description: dmic sample rate
57 $ref: /schemas/types.yaml#/definitions/uint32
58
59 vdd-micb-supply:
60 description: phandle to voltage regulator of MIC Bias
61
62required:
63 - compatible
64 - reg
65 - "#sound-dai-cells"
66 - clock-names
67 - clocks
68
69allOf:
70 - $ref: dai-common.yaml#
71
72 - if:
73 properties:
74 compatible:
75 contains:
76 const: qcom,sc7280-lpass-va-macro
77 then:
78 properties:
79 clocks:
80 maxItems: 1
81 clock-names:
82 items:
83 - const: mclk
84
85 - if:
86 properties:
87 compatible:
88 contains:
89 const: qcom,sm8250-lpass-va-macro
90 then:
91 properties:
92 clocks:
93 minItems: 3
94 maxItems: 3
95 clock-names:
96 items:
97 - const: mclk
98 - const: macro
99 - const: dcodec
100
101 - if:
102 properties:
103 compatible:
104 contains:
105 enum:
106 - qcom,sc8280xp-lpass-va-macro
107 - qcom,sm8450-lpass-va-macro
108 then:
109 properties:
110 clocks:
111 minItems: 4
112 maxItems: 4
113 clock-names:
114 items:
115 - const: mclk
116 - const: macro
117 - const: dcodec
118 - const: npl
119
120 - if:
121 properties:
122 compatible:
123 contains:
124 enum:
125 - qcom,sm8550-lpass-va-macro
126 then:
127 properties:
128 clocks:
129 minItems: 3
130 maxItems: 3
131 clock-names:
132 items:
133 - const: mclk
134 - const: macro
135 - const: dcodec
136
137unevaluatedProperties: false
138
139examples:
140 - |
141 #include <dt-bindings/sound/qcom,q6afe.h>
142 codec@3370000 {
143 compatible = "qcom,sm8250-lpass-va-macro";
144 reg = <0x3370000 0x1000>;
145 #sound-dai-cells = <1>;
146 #clock-cells = <0>;
147 clocks = <&aoncc 0>,
148 <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
149 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
150 clock-names = "mclk", "macro", "dcodec";
151 clock-output-names = "fsgen";
152 qcom,dmic-sample-rate = <600000>;
153 vdd-micb-supply = <&vreg_s4a_1p8>;
154 };