Skip to content

Commit a6b7487

Browse files
Srinivas-Kandagatlabroonie
authored andcommitted
ASoC: dt-bindings: add dt bindings for WCD9340/WCD9341 audio codec
This patch adds bindings for wcd9340/wcd9341 audio codec which can support both SLIMbus and I2S/I2C interface. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent a82cf72 commit a6b7487

File tree

1 file changed

+175
-0
lines changed

1 file changed

+175
-0
lines changed
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
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,wcd934x.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Bindings for Qualcomm WCD9340/WCD9341 Audio Codec
8+
9+
maintainers:
10+
- Srinivas Kandagatla <[email protected]>
11+
12+
description: |
13+
Qualcomm WCD9340/WCD9341 Codec is a standalone Hi-Fi audio codec IC.
14+
It has in-built Soundwire controller, pin controller, interrupt mux and
15+
supports both I2S/I2C and SLIMbus audio interfaces.
16+
17+
properties:
18+
compatible:
19+
const: slim217,250
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
reset-gpios:
28+
description: GPIO spec for reset line to use
29+
maxItems: 1
30+
31+
slim-ifc-dev: true
32+
33+
clocks:
34+
maxItems: 1
35+
36+
clock-names:
37+
const: extclk
38+
39+
vdd-buck-supply:
40+
description: A reference to the 1.8V buck supply
41+
42+
vdd-buck-sido-supply:
43+
description: A reference to the 1.8V SIDO buck supply
44+
45+
vdd-rx-supply:
46+
description: A reference to the 1.8V rx supply
47+
48+
vdd-tx-supply:
49+
description: A reference to the 1.8V tx supply
50+
51+
vdd-vbat-supply:
52+
description: A reference to the vbat supply
53+
54+
vdd-io-supply:
55+
description: A reference to the 1.8V I/O supply
56+
57+
vdd-micbias-supply:
58+
description: A reference to the micbias supply
59+
60+
qcom,micbias1-microvolt:
61+
description: micbias1 voltage
62+
minimum: 1800000
63+
maximum: 2850000
64+
65+
qcom,micbias2-microvolt:
66+
description: micbias2 voltage
67+
minimum: 1800000
68+
maximum: 2850000
69+
70+
qcom,micbias3-microvolt:
71+
description: micbias3 voltage
72+
minimum: 1800000
73+
maximum: 2850000
74+
75+
qcom,micbias4-microvolt:
76+
description: micbias4 voltage
77+
minimum: 1800000
78+
maximum: 2850000
79+
80+
clock-output-names:
81+
const: mclk
82+
83+
clock-frequency:
84+
description: Clock frequency of output clk in Hz
85+
86+
interrupt-controller: true
87+
88+
'#interrupt-cells':
89+
const: 1
90+
91+
'#clock-cells':
92+
const: 0
93+
94+
'#sound-dai-cells':
95+
const: 1
96+
97+
"#address-cells":
98+
const: 1
99+
100+
"#size-cells":
101+
const: 1
102+
103+
gpio@42:
104+
type: object
105+
allOf:
106+
- $ref: ../gpio/qcom,wcd934x-gpio.yaml#
107+
108+
patternProperties:
109+
"^.*@[0-9a-f]+$":
110+
type: object
111+
description: |
112+
WCD934x subnode for each slave devices. Bindings of each subnodes
113+
depends on the specific driver providing the functionality and
114+
documented in their respective bindings.
115+
116+
properties:
117+
reg:
118+
maxItems: 1
119+
120+
required:
121+
- reg
122+
123+
required:
124+
- compatible
125+
- reg
126+
- reset-gpios
127+
- slim-ifc-dev
128+
- interrupts
129+
- interrupt-controller
130+
- clock-frequency
131+
- clock-output-names
132+
- qcom,micbias1-microvolt
133+
- qcom,micbias2-microvolt
134+
- qcom,micbias3-microvolt
135+
- qcom,micbias4-microvolt
136+
- "#interrupt-cells"
137+
- "#clock-cells"
138+
- "#sound-dai-cells"
139+
- "#address-cells"
140+
- "#size-cells"
141+
142+
examples:
143+
- |
144+
codec@1,0{
145+
compatible = "slim217,250";
146+
reg = <1 0>;
147+
reset-gpios = <&tlmm 64 0>;
148+
slim-ifc-dev = <&wcd9340_ifd>;
149+
#sound-dai-cells = <1>;
150+
interrupt-parent = <&tlmm>;
151+
interrupts = <54 4>;
152+
interrupt-controller;
153+
#interrupt-cells = <1>;
154+
#clock-cells = <0>;
155+
clock-frequency = <9600000>;
156+
clock-output-names = "mclk";
157+
qcom,micbias1-microvolt = <1800000>;
158+
qcom,micbias2-microvolt = <1800000>;
159+
qcom,micbias3-microvolt = <1800000>;
160+
qcom,micbias4-microvolt = <1800000>;
161+
clock-names = "extclk";
162+
clocks = <&rpmhcc 2>;
163+
164+
#address-cells = <1>;
165+
#size-cells = <1>;
166+
167+
gpio@42 {
168+
compatible = "qcom,wcd9340-gpio";
169+
reg = <0x42 0x2>;
170+
gpio-controller;
171+
#gpio-cells = <2>;
172+
};
173+
};
174+
175+
...

0 commit comments

Comments
 (0)