GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / sound / qcom,wcd938x.yaml
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,wcd938x.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Bindings for Qualcomm WCD9380/WCD9385 Audio Codec
8
9 maintainers:
10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12 description: |
13   Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
14   It has RX and TX Soundwire slave devices.
15
16 properties:
17   compatible:
18     enum:
19       - qcom,wcd9380-codec
20       - qcom,wcd9385-codec
21
22   reset-gpios:
23     description: GPIO spec for reset line to use
24     maxItems: 1
25
26   us-euro-gpios:
27     description: GPIO spec for swapping gnd and mic segments
28     maxItems: 1
29
30   vdd-buck-supply:
31     description: A reference to the 1.8V buck supply
32
33   vdd-rxtx-supply:
34     description: A reference to the 1.8V rx supply
35
36   vdd-io-supply:
37     description: A reference to the 1.8V I/O supply
38
39   vdd-mic-bias-supply:
40     description: A reference to the 3.8V mic bias supply
41
42   qcom,tx-device:
43     $ref: /schemas/types.yaml#/definitions/phandle-array
44     description: A reference to Soundwire tx device phandle
45
46   qcom,rx-device:
47     $ref: /schemas/types.yaml#/definitions/phandle-array
48     description: A reference to Soundwire rx device phandle
49
50   qcom,micbias1-microvolt:
51     description: micbias1 voltage
52     minimum: 1800000
53     maximum: 2850000
54
55   qcom,micbias2-microvolt:
56     description: micbias2 voltage
57     minimum: 1800000
58     maximum: 2850000
59
60   qcom,micbias3-microvolt:
61     description: micbias3 voltage
62     minimum: 1800000
63     maximum: 2850000
64
65   qcom,micbias4-microvolt:
66     description: micbias4 voltage
67     minimum: 1800000
68     maximum: 2850000
69
70   qcom,hphl-jack-type-normally-closed:
71     description: Indicates that HPHL jack switch type is normally closed
72     type: boolean
73
74   qcom,ground-jack-type-normally-closed:
75     description: Indicates that Headset Ground switch type is normally closed
76     type: boolean
77
78   qcom,mbhc-headset-vthreshold-microvolt:
79     description: Voltage threshold value for headset detection
80     minimum: 0
81     maximum: 2850000
82
83   qcom,mbhc-headphone-vthreshold-microvolt:
84     description: Voltage threshold value for headphone detection
85     minimum: 0
86     maximum: 2850000
87
88   qcom,mbhc-buttons-vthreshold-microvolt:
89     description:
90       Array of 8 Voltage threshold values corresponding to headset
91       button0 - button7
92     minItems: 8
93     maxItems: 8
94
95   '#sound-dai-cells':
96     const: 1
97
98 required:
99   - compatible
100   - reset-gpios
101   - qcom,tx-device
102   - qcom,rx-device
103   - qcom,micbias1-microvolt
104   - qcom,micbias2-microvolt
105   - qcom,micbias3-microvolt
106   - qcom,micbias4-microvolt
107   - "#sound-dai-cells"
108
109 additionalProperties: false
110
111 examples:
112   - |
113     codec {
114         compatible = "qcom,wcd9380-codec";
115         reset-gpios = <&tlmm 32 0>;
116         #sound-dai-cells = <1>;
117         qcom,tx-device = <&wcd938x_tx>;
118         qcom,rx-device = <&wcd938x_rx>;
119         qcom,micbias1-microvolt = <1800000>;
120         qcom,micbias2-microvolt = <1800000>;
121         qcom,micbias3-microvolt = <1800000>;
122         qcom,micbias4-microvolt = <1800000>;
123         qcom,hphl-jack-type-normally-closed;
124         qcom,ground-jack-type-normally-closed;
125         qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
126         qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
127     };
128
129     /* ... */
130
131     soundwire@3210000 {
132         #address-cells = <2>;
133         #size-cells = <0>;
134         reg = <0x03210000 0x2000>;
135         wcd938x_rx: codec@0,4 {
136             compatible = "sdw20217010d00";
137             reg  = <0 4>;
138             qcom,rx-port-mapping = <1 2 3 4 5>;
139         };
140     };
141
142     soundwire@3230000 {
143         #address-cells = <2>;
144         #size-cells = <0>;
145         reg = <0x03230000 0x2000>;
146         wcd938x_tx: codec@0,3 {
147             compatible = "sdw20217010d00";
148             reg  = <0 3>;
149             qcom,tx-port-mapping = <2 3 4 5>;
150         };
151     };
152
153 ...