~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/sound/qcom,wcd934x.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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: Qualcomm WCD9340/WCD9341 Audio Codec
  8 
  9 maintainers:
 10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 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:
 32     description: IFC device interface
 33     $ref: /schemas/types.yaml#/definitions/phandle
 34 
 35   clocks:
 36     maxItems: 1
 37 
 38   clock-names:
 39     const: extclk
 40 
 41   vdd-buck-supply:
 42     description: A reference to the 1.8V buck supply
 43 
 44   vdd-buck-sido-supply:
 45     description: A reference to the 1.8V SIDO buck supply
 46 
 47   vdd-rx-supply:
 48     description: A reference to the 1.8V rx supply
 49 
 50   vdd-tx-supply:
 51     description: A reference to the 1.8V tx supply
 52 
 53   vdd-vbat-supply:
 54     description: A reference to the vbat supply
 55 
 56   vdd-io-supply:
 57     description: A reference to the 1.8V I/O supply
 58 
 59   vdd-micbias-supply:
 60     description: A reference to the micbias supply
 61 
 62   qcom,micbias1-microvolt:
 63     description: micbias1 voltage
 64     minimum: 1800000
 65     maximum: 2850000
 66 
 67   qcom,micbias2-microvolt:
 68     description: micbias2 voltage
 69     minimum: 1800000
 70     maximum: 2850000
 71 
 72   qcom,micbias3-microvolt:
 73     description: micbias3 voltage
 74     minimum: 1800000
 75     maximum: 2850000
 76 
 77   qcom,micbias4-microvolt:
 78     description: micbias4 voltage
 79     minimum: 1800000
 80     maximum: 2850000
 81 
 82   qcom,hphl-jack-type-normally-closed:
 83     description: Indicates that HPHL jack switch type is normally closed
 84     type: boolean
 85 
 86   qcom,ground-jack-type-normally-closed:
 87     description: Indicates that Headset Ground switch type is normally closed
 88     type: boolean
 89 
 90   qcom,mbhc-headset-vthreshold-microvolt:
 91     description: Voltage threshold value for headset detection
 92     minimum: 0
 93     maximum: 2850000
 94 
 95   qcom,mbhc-headphone-vthreshold-microvolt:
 96     description: Voltage threshold value for headphone detection
 97     minimum: 0
 98     maximum: 2850000
 99 
100   qcom,mbhc-buttons-vthreshold-microvolt:
101     description:
102       Array of 8 Voltage threshold values corresponding to headset
103       button0 - button7
104     minItems: 8
105     maxItems: 8
106 
107   clock-output-names:
108     const: mclk
109 
110   clock-frequency:
111     description: Clock frequency of output clk in Hz
112 
113   interrupt-controller: true
114 
115   '#interrupt-cells':
116     const: 1
117 
118   '#clock-cells':
119     const: 0
120 
121   '#sound-dai-cells':
122     const: 1
123 
124   "#address-cells":
125     const: 1
126 
127   "#size-cells":
128     const: 1
129 
130   gpio@42:
131     type: object
132     $ref: /schemas/gpio/qcom,wcd934x-gpio.yaml#
133 
134 patternProperties:
135   "^.*@[0-9a-f]+$":
136     type: object
137     additionalProperties: true
138     description: |
139       WCD934x subnode for each slave devices. Bindings of each subnodes
140       depends on the specific driver providing the functionality and
141       documented in their respective bindings.
142 
143     properties:
144       reg:
145         maxItems: 1
146 
147     required:
148       - reg
149 
150 required:
151   - compatible
152   - reg
153 
154 allOf:
155   - $ref: dai-common.yaml#
156   - if:
157       required:
158         - slim-ifc-dev
159     then:
160       required:
161         - reset-gpios
162         - slim-ifc-dev
163         - interrupt-controller
164         - clock-frequency
165         - clock-output-names
166         - qcom,micbias1-microvolt
167         - qcom,micbias2-microvolt
168         - qcom,micbias3-microvolt
169         - qcom,micbias4-microvolt
170         - "#interrupt-cells"
171         - "#clock-cells"
172         - "#sound-dai-cells"
173         - "#address-cells"
174         - "#size-cells"
175       oneOf:
176         - required:
177             - interrupts-extended
178         - required:
179             - interrupts
180     else:
181       properties:
182         reset-gpios: false
183         slim-ifc-dev: false
184         interrupts: false
185         interrupt-controller: false
186         clock-frequency: false
187         clock-output-names: false
188         qcom,micbias1-microvolt: false
189         qcom,micbias2-microvolt: false
190         qcom,micbias3-microvolt: false
191         qcom,micbias4-microvolt: false
192         "#interrupt-cells": false
193         "#clock-cells": false
194         "#sound-dai-cells": false
195         "#address-cells": false
196         "#size-cells": false
197 
198 additionalProperties: false
199 
200 examples:
201   - |
202     #include <dt-bindings/gpio/gpio.h>
203     codec@1,0{
204         compatible = "slim217,250";
205         reg = <1 0>;
206         reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
207         slim-ifc-dev = <&wcd9340_ifd>;
208         #sound-dai-cells = <1>;
209         interrupt-parent = <&tlmm>;
210         interrupts = <54 4>;
211         interrupt-controller;
212         #interrupt-cells = <1>;
213         #clock-cells = <0>;
214         clock-frequency = <9600000>;
215         clock-output-names = "mclk";
216         qcom,micbias1-microvolt = <1800000>;
217         qcom,micbias2-microvolt = <1800000>;
218         qcom,micbias3-microvolt = <1800000>;
219         qcom,micbias4-microvolt = <1800000>;
220         qcom,hphl-jack-type-normally-closed;
221         qcom,ground-jack-type-normally-closed;
222         qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
223         qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
224         qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
225         clock-names = "extclk";
226         clocks = <&rpmhcc 2>;
227 
228         #address-cells = <1>;
229         #size-cells = <1>;
230 
231         gpio@42 {
232             compatible = "qcom,wcd9340-gpio";
233             reg = <0x42 0x2>;
234             gpio-controller;
235             #gpio-cells = <2>;
236         };
237     };
238 
239 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php