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
7title: Bindings for Qualcomm WCD9380/WCD9385 Audio Codec
8
9maintainers:
10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12description: |
13  Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
14  It has RX and TX Soundwire slave devices.
15
16properties:
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
98required:
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
109additionalProperties: false
110
111examples:
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...
154