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