110ee3e07SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
210ee3e07SSrinivas Kandagatla%YAML 1.2
310ee3e07SSrinivas Kandagatla---
410ee3e07SSrinivas Kandagatla$id: http://devicetree.org/schemas/sound/qcom,wcd938x.yaml#
510ee3e07SSrinivas Kandagatla$schema: http://devicetree.org/meta-schemas/core.yaml#
610ee3e07SSrinivas Kandagatla
7*9d69d47fSKrzysztof Kozlowskititle: Qualcomm WCD9380/WCD9385 Audio Codec
810ee3e07SSrinivas Kandagatla
910ee3e07SSrinivas Kandagatlamaintainers:
1010ee3e07SSrinivas Kandagatla  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
1110ee3e07SSrinivas Kandagatla
1210ee3e07SSrinivas Kandagatladescription: |
1310ee3e07SSrinivas Kandagatla  Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
1410ee3e07SSrinivas Kandagatla  It has RX and TX Soundwire slave devices.
1510ee3e07SSrinivas Kandagatla
1658ae9a2aSKrzysztof KozlowskiallOf:
1758ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
1858ae9a2aSKrzysztof Kozlowski
1910ee3e07SSrinivas Kandagatlaproperties:
2010ee3e07SSrinivas Kandagatla  compatible:
2110ee3e07SSrinivas Kandagatla    enum:
2210ee3e07SSrinivas Kandagatla      - qcom,wcd9380-codec
2310ee3e07SSrinivas Kandagatla      - qcom,wcd9385-codec
2410ee3e07SSrinivas Kandagatla
2510ee3e07SSrinivas Kandagatla  reset-gpios:
2610ee3e07SSrinivas Kandagatla    description: GPIO spec for reset line to use
2710ee3e07SSrinivas Kandagatla    maxItems: 1
2810ee3e07SSrinivas Kandagatla
2920ea94bcSSrinivasa Rao Mandadapu  us-euro-gpios:
3020ea94bcSSrinivasa Rao Mandadapu    description: GPIO spec for swapping gnd and mic segments
3120ea94bcSSrinivasa Rao Mandadapu    maxItems: 1
3220ea94bcSSrinivasa Rao Mandadapu
3310ee3e07SSrinivas Kandagatla  vdd-buck-supply:
3410ee3e07SSrinivas Kandagatla    description: A reference to the 1.8V buck supply
3510ee3e07SSrinivas Kandagatla
3610ee3e07SSrinivas Kandagatla  vdd-rxtx-supply:
3710ee3e07SSrinivas Kandagatla    description: A reference to the 1.8V rx supply
3810ee3e07SSrinivas Kandagatla
3910ee3e07SSrinivas Kandagatla  vdd-io-supply:
4010ee3e07SSrinivas Kandagatla    description: A reference to the 1.8V I/O supply
4110ee3e07SSrinivas Kandagatla
429108c344SSrinivasa Rao Mandadapu  vdd-mic-bias-supply:
439108c344SSrinivasa Rao Mandadapu    description: A reference to the 3.8V mic bias supply
449108c344SSrinivasa Rao Mandadapu
4510ee3e07SSrinivas Kandagatla  qcom,tx-device:
4610ee3e07SSrinivas Kandagatla    $ref: /schemas/types.yaml#/definitions/phandle-array
4710ee3e07SSrinivas Kandagatla    description: A reference to Soundwire tx device phandle
4810ee3e07SSrinivas Kandagatla
4910ee3e07SSrinivas Kandagatla  qcom,rx-device:
5010ee3e07SSrinivas Kandagatla    $ref: /schemas/types.yaml#/definitions/phandle-array
5110ee3e07SSrinivas Kandagatla    description: A reference to Soundwire rx device phandle
5210ee3e07SSrinivas Kandagatla
5310ee3e07SSrinivas Kandagatla  qcom,micbias1-microvolt:
5410ee3e07SSrinivas Kandagatla    description: micbias1 voltage
5510ee3e07SSrinivas Kandagatla    minimum: 1800000
5610ee3e07SSrinivas Kandagatla    maximum: 2850000
5710ee3e07SSrinivas Kandagatla
5810ee3e07SSrinivas Kandagatla  qcom,micbias2-microvolt:
5910ee3e07SSrinivas Kandagatla    description: micbias2 voltage
6010ee3e07SSrinivas Kandagatla    minimum: 1800000
6110ee3e07SSrinivas Kandagatla    maximum: 2850000
6210ee3e07SSrinivas Kandagatla
6310ee3e07SSrinivas Kandagatla  qcom,micbias3-microvolt:
6410ee3e07SSrinivas Kandagatla    description: micbias3 voltage
6510ee3e07SSrinivas Kandagatla    minimum: 1800000
6610ee3e07SSrinivas Kandagatla    maximum: 2850000
6710ee3e07SSrinivas Kandagatla
6810ee3e07SSrinivas Kandagatla  qcom,micbias4-microvolt:
6910ee3e07SSrinivas Kandagatla    description: micbias4 voltage
7010ee3e07SSrinivas Kandagatla    minimum: 1800000
7110ee3e07SSrinivas Kandagatla    maximum: 2850000
7210ee3e07SSrinivas Kandagatla
7310ee3e07SSrinivas Kandagatla  qcom,hphl-jack-type-normally-closed:
7410ee3e07SSrinivas Kandagatla    description: Indicates that HPHL jack switch type is normally closed
7510ee3e07SSrinivas Kandagatla    type: boolean
7610ee3e07SSrinivas Kandagatla
7710ee3e07SSrinivas Kandagatla  qcom,ground-jack-type-normally-closed:
7810ee3e07SSrinivas Kandagatla    description: Indicates that Headset Ground switch type is normally closed
7910ee3e07SSrinivas Kandagatla    type: boolean
8010ee3e07SSrinivas Kandagatla
8110ee3e07SSrinivas Kandagatla  qcom,mbhc-headset-vthreshold-microvolt:
8210ee3e07SSrinivas Kandagatla    description: Voltage threshold value for headset detection
8310ee3e07SSrinivas Kandagatla    minimum: 0
8410ee3e07SSrinivas Kandagatla    maximum: 2850000
8510ee3e07SSrinivas Kandagatla
8610ee3e07SSrinivas Kandagatla  qcom,mbhc-headphone-vthreshold-microvolt:
8710ee3e07SSrinivas Kandagatla    description: Voltage threshold value for headphone detection
8810ee3e07SSrinivas Kandagatla    minimum: 0
8910ee3e07SSrinivas Kandagatla    maximum: 2850000
9010ee3e07SSrinivas Kandagatla
9110ee3e07SSrinivas Kandagatla  qcom,mbhc-buttons-vthreshold-microvolt:
9210ee3e07SSrinivas Kandagatla    description:
9310ee3e07SSrinivas Kandagatla      Array of 8 Voltage threshold values corresponding to headset
9410ee3e07SSrinivas Kandagatla      button0 - button7
9510ee3e07SSrinivas Kandagatla    minItems: 8
9610ee3e07SSrinivas Kandagatla    maxItems: 8
9710ee3e07SSrinivas Kandagatla
9810ee3e07SSrinivas Kandagatla  '#sound-dai-cells':
9910ee3e07SSrinivas Kandagatla    const: 1
10010ee3e07SSrinivas Kandagatla
10110ee3e07SSrinivas Kandagatlarequired:
10210ee3e07SSrinivas Kandagatla  - compatible
10310ee3e07SSrinivas Kandagatla  - reset-gpios
10410ee3e07SSrinivas Kandagatla  - qcom,tx-device
10510ee3e07SSrinivas Kandagatla  - qcom,rx-device
10610ee3e07SSrinivas Kandagatla  - qcom,micbias1-microvolt
10710ee3e07SSrinivas Kandagatla  - qcom,micbias2-microvolt
10810ee3e07SSrinivas Kandagatla  - qcom,micbias3-microvolt
10910ee3e07SSrinivas Kandagatla  - qcom,micbias4-microvolt
11010ee3e07SSrinivas Kandagatla  - "#sound-dai-cells"
11110ee3e07SSrinivas Kandagatla
11258ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
11310ee3e07SSrinivas Kandagatla
11410ee3e07SSrinivas Kandagatlaexamples:
11510ee3e07SSrinivas Kandagatla  - |
11610ee3e07SSrinivas Kandagatla    codec {
11710ee3e07SSrinivas Kandagatla        compatible = "qcom,wcd9380-codec";
11810ee3e07SSrinivas Kandagatla        reset-gpios = <&tlmm 32 0>;
11910ee3e07SSrinivas Kandagatla        #sound-dai-cells = <1>;
12010ee3e07SSrinivas Kandagatla        qcom,tx-device = <&wcd938x_tx>;
12110ee3e07SSrinivas Kandagatla        qcom,rx-device = <&wcd938x_rx>;
12210ee3e07SSrinivas Kandagatla        qcom,micbias1-microvolt = <1800000>;
12310ee3e07SSrinivas Kandagatla        qcom,micbias2-microvolt = <1800000>;
12410ee3e07SSrinivas Kandagatla        qcom,micbias3-microvolt = <1800000>;
12510ee3e07SSrinivas Kandagatla        qcom,micbias4-microvolt = <1800000>;
12610ee3e07SSrinivas Kandagatla        qcom,hphl-jack-type-normally-closed;
12710ee3e07SSrinivas Kandagatla        qcom,ground-jack-type-normally-closed;
12810ee3e07SSrinivas Kandagatla        qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
12910ee3e07SSrinivas Kandagatla        qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
13010ee3e07SSrinivas Kandagatla    };
13110ee3e07SSrinivas Kandagatla
13210ee3e07SSrinivas Kandagatla    /* ... */
13310ee3e07SSrinivas Kandagatla
13410ee3e07SSrinivas Kandagatla    soundwire@3210000 {
13510ee3e07SSrinivas Kandagatla        #address-cells = <2>;
13610ee3e07SSrinivas Kandagatla        #size-cells = <0>;
13710ee3e07SSrinivas Kandagatla        reg = <0x03210000 0x2000>;
13810ee3e07SSrinivas Kandagatla        wcd938x_rx: codec@0,4 {
13910ee3e07SSrinivas Kandagatla            compatible = "sdw20217010d00";
14010ee3e07SSrinivas Kandagatla            reg  = <0 4>;
14110ee3e07SSrinivas Kandagatla            qcom,rx-port-mapping = <1 2 3 4 5>;
14210ee3e07SSrinivas Kandagatla        };
14310ee3e07SSrinivas Kandagatla    };
14410ee3e07SSrinivas Kandagatla
14510ee3e07SSrinivas Kandagatla    soundwire@3230000 {
14610ee3e07SSrinivas Kandagatla        #address-cells = <2>;
14710ee3e07SSrinivas Kandagatla        #size-cells = <0>;
14810ee3e07SSrinivas Kandagatla        reg = <0x03230000 0x2000>;
14910ee3e07SSrinivas Kandagatla        wcd938x_tx: codec@0,3 {
15010ee3e07SSrinivas Kandagatla            compatible = "sdw20217010d00";
15110ee3e07SSrinivas Kandagatla            reg  = <0 3>;
15210ee3e07SSrinivas Kandagatla            qcom,tx-port-mapping = <2 3 4 5>;
15310ee3e07SSrinivas Kandagatla        };
15410ee3e07SSrinivas Kandagatla    };
15510ee3e07SSrinivas Kandagatla
15610ee3e07SSrinivas Kandagatla...
157