blob: e8f716b5f875e46040721209005cfeea08b254ca [file] [log] [blame]
Srinivas Kandagatlaa6b74872019-12-19 10:31:43 +00001# 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
7title: Bindings for Qualcomm WCD9340/WCD9341 Audio Codec
8
9maintainers:
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12description: |
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
17properties:
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
Rob Herring3d21a462020-04-15 19:55:49 -0500105 $ref: ../gpio/qcom,wcd934x-gpio.yaml#
Srinivas Kandagatlaa6b74872019-12-19 10:31:43 +0000106
107patternProperties:
108 "^.*@[0-9a-f]+$":
109 type: object
110 description: |
111 WCD934x subnode for each slave devices. Bindings of each subnodes
112 depends on the specific driver providing the functionality and
113 documented in their respective bindings.
114
115 properties:
116 reg:
117 maxItems: 1
118
119 required:
120 - reg
121
122required:
123 - compatible
124 - reg
125 - reset-gpios
126 - slim-ifc-dev
127 - interrupts
128 - interrupt-controller
129 - clock-frequency
130 - clock-output-names
131 - qcom,micbias1-microvolt
132 - qcom,micbias2-microvolt
133 - qcom,micbias3-microvolt
134 - qcom,micbias4-microvolt
135 - "#interrupt-cells"
136 - "#clock-cells"
137 - "#sound-dai-cells"
138 - "#address-cells"
139 - "#size-cells"
140
Rob Herring7f464532020-03-25 16:05:41 -0600141additionalProperties: false
142
Srinivas Kandagatlaa6b74872019-12-19 10:31:43 +0000143examples:
144 - |
145 codec@1,0{
146 compatible = "slim217,250";
147 reg = <1 0>;
148 reset-gpios = <&tlmm 64 0>;
149 slim-ifc-dev = <&wcd9340_ifd>;
150 #sound-dai-cells = <1>;
151 interrupt-parent = <&tlmm>;
152 interrupts = <54 4>;
153 interrupt-controller;
154 #interrupt-cells = <1>;
155 #clock-cells = <0>;
156 clock-frequency = <9600000>;
157 clock-output-names = "mclk";
158 qcom,micbias1-microvolt = <1800000>;
159 qcom,micbias2-microvolt = <1800000>;
160 qcom,micbias3-microvolt = <1800000>;
161 qcom,micbias4-microvolt = <1800000>;
162 clock-names = "extclk";
163 clocks = <&rpmhcc 2>;
164
165 #address-cells = <1>;
166 #size-cells = <1>;
167
168 gpio@42 {
169 compatible = "qcom,wcd9340-gpio";
170 reg = <0x42 0x2>;
171 gpio-controller;
172 #gpio-cells = <2>;
173 };
174 };
175
176...