162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/qcom,wcd934x.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm WCD9340/WCD9341 Audio Codec 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci Qualcomm WCD9340/WCD9341 Codec is a standalone Hi-Fi audio codec IC. 1462306a36Sopenharmony_ci It has in-built Soundwire controller, pin controller, interrupt mux and 1562306a36Sopenharmony_ci supports both I2S/I2C and SLIMbus audio interfaces. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci compatible: 1962306a36Sopenharmony_ci const: slim217,250 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci reg: 2262306a36Sopenharmony_ci maxItems: 1 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci interrupts: 2562306a36Sopenharmony_ci maxItems: 1 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci reset-gpios: 2862306a36Sopenharmony_ci description: GPIO spec for reset line to use 2962306a36Sopenharmony_ci maxItems: 1 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci slim-ifc-dev: 3262306a36Sopenharmony_ci description: IFC device interface 3362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci clocks: 3662306a36Sopenharmony_ci maxItems: 1 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci clock-names: 3962306a36Sopenharmony_ci const: extclk 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci vdd-buck-supply: 4262306a36Sopenharmony_ci description: A reference to the 1.8V buck supply 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci vdd-buck-sido-supply: 4562306a36Sopenharmony_ci description: A reference to the 1.8V SIDO buck supply 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci vdd-rx-supply: 4862306a36Sopenharmony_ci description: A reference to the 1.8V rx supply 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci vdd-tx-supply: 5162306a36Sopenharmony_ci description: A reference to the 1.8V tx supply 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci vdd-vbat-supply: 5462306a36Sopenharmony_ci description: A reference to the vbat supply 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci vdd-io-supply: 5762306a36Sopenharmony_ci description: A reference to the 1.8V I/O supply 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci vdd-micbias-supply: 6062306a36Sopenharmony_ci description: A reference to the micbias supply 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci qcom,micbias1-microvolt: 6362306a36Sopenharmony_ci description: micbias1 voltage 6462306a36Sopenharmony_ci minimum: 1800000 6562306a36Sopenharmony_ci maximum: 2850000 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci qcom,micbias2-microvolt: 6862306a36Sopenharmony_ci description: micbias2 voltage 6962306a36Sopenharmony_ci minimum: 1800000 7062306a36Sopenharmony_ci maximum: 2850000 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci qcom,micbias3-microvolt: 7362306a36Sopenharmony_ci description: micbias3 voltage 7462306a36Sopenharmony_ci minimum: 1800000 7562306a36Sopenharmony_ci maximum: 2850000 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci qcom,micbias4-microvolt: 7862306a36Sopenharmony_ci description: micbias4 voltage 7962306a36Sopenharmony_ci minimum: 1800000 8062306a36Sopenharmony_ci maximum: 2850000 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci qcom,hphl-jack-type-normally-closed: 8362306a36Sopenharmony_ci description: Indicates that HPHL jack switch type is normally closed 8462306a36Sopenharmony_ci type: boolean 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci qcom,ground-jack-type-normally-closed: 8762306a36Sopenharmony_ci description: Indicates that Headset Ground switch type is normally closed 8862306a36Sopenharmony_ci type: boolean 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci qcom,mbhc-headset-vthreshold-microvolt: 9162306a36Sopenharmony_ci description: Voltage threshold value for headset detection 9262306a36Sopenharmony_ci minimum: 0 9362306a36Sopenharmony_ci maximum: 2850000 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci qcom,mbhc-headphone-vthreshold-microvolt: 9662306a36Sopenharmony_ci description: Voltage threshold value for headphone detection 9762306a36Sopenharmony_ci minimum: 0 9862306a36Sopenharmony_ci maximum: 2850000 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci qcom,mbhc-buttons-vthreshold-microvolt: 10162306a36Sopenharmony_ci description: 10262306a36Sopenharmony_ci Array of 8 Voltage threshold values corresponding to headset 10362306a36Sopenharmony_ci button0 - button7 10462306a36Sopenharmony_ci minItems: 8 10562306a36Sopenharmony_ci maxItems: 8 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci clock-output-names: 10862306a36Sopenharmony_ci const: mclk 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci clock-frequency: 11162306a36Sopenharmony_ci description: Clock frequency of output clk in Hz 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci interrupt-controller: true 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci '#interrupt-cells': 11662306a36Sopenharmony_ci const: 1 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci '#clock-cells': 11962306a36Sopenharmony_ci const: 0 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci '#sound-dai-cells': 12262306a36Sopenharmony_ci const: 1 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci "#address-cells": 12562306a36Sopenharmony_ci const: 1 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci "#size-cells": 12862306a36Sopenharmony_ci const: 1 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci gpio@42: 13162306a36Sopenharmony_ci type: object 13262306a36Sopenharmony_ci $ref: /schemas/gpio/qcom,wcd934x-gpio.yaml# 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_cipatternProperties: 13562306a36Sopenharmony_ci "^.*@[0-9a-f]+$": 13662306a36Sopenharmony_ci type: object 13762306a36Sopenharmony_ci additionalProperties: true 13862306a36Sopenharmony_ci description: | 13962306a36Sopenharmony_ci WCD934x subnode for each slave devices. Bindings of each subnodes 14062306a36Sopenharmony_ci depends on the specific driver providing the functionality and 14162306a36Sopenharmony_ci documented in their respective bindings. 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci properties: 14462306a36Sopenharmony_ci reg: 14562306a36Sopenharmony_ci maxItems: 1 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci required: 14862306a36Sopenharmony_ci - reg 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_cirequired: 15162306a36Sopenharmony_ci - compatible 15262306a36Sopenharmony_ci - reg 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciallOf: 15562306a36Sopenharmony_ci - $ref: dai-common.yaml# 15662306a36Sopenharmony_ci - if: 15762306a36Sopenharmony_ci required: 15862306a36Sopenharmony_ci - slim-ifc-dev 15962306a36Sopenharmony_ci then: 16062306a36Sopenharmony_ci required: 16162306a36Sopenharmony_ci - reset-gpios 16262306a36Sopenharmony_ci - slim-ifc-dev 16362306a36Sopenharmony_ci - interrupt-controller 16462306a36Sopenharmony_ci - clock-frequency 16562306a36Sopenharmony_ci - clock-output-names 16662306a36Sopenharmony_ci - qcom,micbias1-microvolt 16762306a36Sopenharmony_ci - qcom,micbias2-microvolt 16862306a36Sopenharmony_ci - qcom,micbias3-microvolt 16962306a36Sopenharmony_ci - qcom,micbias4-microvolt 17062306a36Sopenharmony_ci - "#interrupt-cells" 17162306a36Sopenharmony_ci - "#clock-cells" 17262306a36Sopenharmony_ci - "#sound-dai-cells" 17362306a36Sopenharmony_ci - "#address-cells" 17462306a36Sopenharmony_ci - "#size-cells" 17562306a36Sopenharmony_ci oneOf: 17662306a36Sopenharmony_ci - required: 17762306a36Sopenharmony_ci - interrupts-extended 17862306a36Sopenharmony_ci - required: 17962306a36Sopenharmony_ci - interrupts 18062306a36Sopenharmony_ci else: 18162306a36Sopenharmony_ci properties: 18262306a36Sopenharmony_ci reset-gpios: false 18362306a36Sopenharmony_ci slim-ifc-dev: false 18462306a36Sopenharmony_ci interrupts: false 18562306a36Sopenharmony_ci interrupt-controller: false 18662306a36Sopenharmony_ci clock-frequency: false 18762306a36Sopenharmony_ci clock-output-names: false 18862306a36Sopenharmony_ci qcom,micbias1-microvolt: false 18962306a36Sopenharmony_ci qcom,micbias2-microvolt: false 19062306a36Sopenharmony_ci qcom,micbias3-microvolt: false 19162306a36Sopenharmony_ci qcom,micbias4-microvolt: false 19262306a36Sopenharmony_ci "#interrupt-cells": false 19362306a36Sopenharmony_ci "#clock-cells": false 19462306a36Sopenharmony_ci "#sound-dai-cells": false 19562306a36Sopenharmony_ci "#address-cells": false 19662306a36Sopenharmony_ci "#size-cells": false 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciadditionalProperties: false 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ciexamples: 20162306a36Sopenharmony_ci - | 20262306a36Sopenharmony_ci codec@1,0{ 20362306a36Sopenharmony_ci compatible = "slim217,250"; 20462306a36Sopenharmony_ci reg = <1 0>; 20562306a36Sopenharmony_ci reset-gpios = <&tlmm 64 0>; 20662306a36Sopenharmony_ci slim-ifc-dev = <&wcd9340_ifd>; 20762306a36Sopenharmony_ci #sound-dai-cells = <1>; 20862306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 20962306a36Sopenharmony_ci interrupts = <54 4>; 21062306a36Sopenharmony_ci interrupt-controller; 21162306a36Sopenharmony_ci #interrupt-cells = <1>; 21262306a36Sopenharmony_ci #clock-cells = <0>; 21362306a36Sopenharmony_ci clock-frequency = <9600000>; 21462306a36Sopenharmony_ci clock-output-names = "mclk"; 21562306a36Sopenharmony_ci qcom,micbias1-microvolt = <1800000>; 21662306a36Sopenharmony_ci qcom,micbias2-microvolt = <1800000>; 21762306a36Sopenharmony_ci qcom,micbias3-microvolt = <1800000>; 21862306a36Sopenharmony_ci qcom,micbias4-microvolt = <1800000>; 21962306a36Sopenharmony_ci qcom,hphl-jack-type-normally-closed; 22062306a36Sopenharmony_ci qcom,ground-jack-type-normally-closed; 22162306a36Sopenharmony_ci qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 22262306a36Sopenharmony_ci qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 22362306a36Sopenharmony_ci qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 22462306a36Sopenharmony_ci clock-names = "extclk"; 22562306a36Sopenharmony_ci clocks = <&rpmhcc 2>; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci #address-cells = <1>; 22862306a36Sopenharmony_ci #size-cells = <1>; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci gpio@42 { 23162306a36Sopenharmony_ci compatible = "qcom,wcd9340-gpio"; 23262306a36Sopenharmony_ci reg = <0x42 0x2>; 23362306a36Sopenharmony_ci gpio-controller; 23462306a36Sopenharmony_ci #gpio-cells = <2>; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci }; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci... 239