1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/sound/qcom,wcd934x.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Bindings for Qualcomm WCD9340/WCD9341 Audio Codec 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: | 13*4882a593Smuzhiyun Qualcomm WCD9340/WCD9341 Codec is a standalone Hi-Fi audio codec IC. 14*4882a593Smuzhiyun It has in-built Soundwire controller, pin controller, interrupt mux and 15*4882a593Smuzhiyun supports both I2S/I2C and SLIMbus audio interfaces. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunproperties: 18*4882a593Smuzhiyun compatible: 19*4882a593Smuzhiyun const: slim217,250 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun reg: 22*4882a593Smuzhiyun maxItems: 1 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun interrupts: 25*4882a593Smuzhiyun maxItems: 1 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun reset-gpios: 28*4882a593Smuzhiyun description: GPIO spec for reset line to use 29*4882a593Smuzhiyun maxItems: 1 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun slim-ifc-dev: true 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun clocks: 34*4882a593Smuzhiyun maxItems: 1 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun clock-names: 37*4882a593Smuzhiyun const: extclk 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun vdd-buck-supply: 40*4882a593Smuzhiyun description: A reference to the 1.8V buck supply 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun vdd-buck-sido-supply: 43*4882a593Smuzhiyun description: A reference to the 1.8V SIDO buck supply 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun vdd-rx-supply: 46*4882a593Smuzhiyun description: A reference to the 1.8V rx supply 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun vdd-tx-supply: 49*4882a593Smuzhiyun description: A reference to the 1.8V tx supply 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun vdd-vbat-supply: 52*4882a593Smuzhiyun description: A reference to the vbat supply 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun vdd-io-supply: 55*4882a593Smuzhiyun description: A reference to the 1.8V I/O supply 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun vdd-micbias-supply: 58*4882a593Smuzhiyun description: A reference to the micbias supply 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun qcom,micbias1-microvolt: 61*4882a593Smuzhiyun description: micbias1 voltage 62*4882a593Smuzhiyun minimum: 1800000 63*4882a593Smuzhiyun maximum: 2850000 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun qcom,micbias2-microvolt: 66*4882a593Smuzhiyun description: micbias2 voltage 67*4882a593Smuzhiyun minimum: 1800000 68*4882a593Smuzhiyun maximum: 2850000 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun qcom,micbias3-microvolt: 71*4882a593Smuzhiyun description: micbias3 voltage 72*4882a593Smuzhiyun minimum: 1800000 73*4882a593Smuzhiyun maximum: 2850000 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun qcom,micbias4-microvolt: 76*4882a593Smuzhiyun description: micbias4 voltage 77*4882a593Smuzhiyun minimum: 1800000 78*4882a593Smuzhiyun maximum: 2850000 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun clock-output-names: 81*4882a593Smuzhiyun const: mclk 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun clock-frequency: 84*4882a593Smuzhiyun description: Clock frequency of output clk in Hz 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun interrupt-controller: true 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun '#interrupt-cells': 89*4882a593Smuzhiyun const: 1 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun '#clock-cells': 92*4882a593Smuzhiyun const: 0 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun '#sound-dai-cells': 95*4882a593Smuzhiyun const: 1 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun "#address-cells": 98*4882a593Smuzhiyun const: 1 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun "#size-cells": 101*4882a593Smuzhiyun const: 1 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun gpio@42: 104*4882a593Smuzhiyun type: object 105*4882a593Smuzhiyun $ref: ../gpio/qcom,wcd934x-gpio.yaml# 106*4882a593Smuzhiyun 107*4882a593SmuzhiyunpatternProperties: 108*4882a593Smuzhiyun "^.*@[0-9a-f]+$": 109*4882a593Smuzhiyun type: object 110*4882a593Smuzhiyun description: | 111*4882a593Smuzhiyun WCD934x subnode for each slave devices. Bindings of each subnodes 112*4882a593Smuzhiyun depends on the specific driver providing the functionality and 113*4882a593Smuzhiyun documented in their respective bindings. 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun properties: 116*4882a593Smuzhiyun reg: 117*4882a593Smuzhiyun maxItems: 1 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun required: 120*4882a593Smuzhiyun - reg 121*4882a593Smuzhiyun 122*4882a593Smuzhiyunrequired: 123*4882a593Smuzhiyun - compatible 124*4882a593Smuzhiyun - reg 125*4882a593Smuzhiyun - reset-gpios 126*4882a593Smuzhiyun - slim-ifc-dev 127*4882a593Smuzhiyun - interrupts 128*4882a593Smuzhiyun - interrupt-controller 129*4882a593Smuzhiyun - clock-frequency 130*4882a593Smuzhiyun - clock-output-names 131*4882a593Smuzhiyun - qcom,micbias1-microvolt 132*4882a593Smuzhiyun - qcom,micbias2-microvolt 133*4882a593Smuzhiyun - qcom,micbias3-microvolt 134*4882a593Smuzhiyun - qcom,micbias4-microvolt 135*4882a593Smuzhiyun - "#interrupt-cells" 136*4882a593Smuzhiyun - "#clock-cells" 137*4882a593Smuzhiyun - "#sound-dai-cells" 138*4882a593Smuzhiyun - "#address-cells" 139*4882a593Smuzhiyun - "#size-cells" 140*4882a593Smuzhiyun 141*4882a593SmuzhiyunadditionalProperties: false 142*4882a593Smuzhiyun 143*4882a593Smuzhiyunexamples: 144*4882a593Smuzhiyun - | 145*4882a593Smuzhiyun codec@1,0{ 146*4882a593Smuzhiyun compatible = "slim217,250"; 147*4882a593Smuzhiyun reg = <1 0>; 148*4882a593Smuzhiyun reset-gpios = <&tlmm 64 0>; 149*4882a593Smuzhiyun slim-ifc-dev = <&wcd9340_ifd>; 150*4882a593Smuzhiyun #sound-dai-cells = <1>; 151*4882a593Smuzhiyun interrupt-parent = <&tlmm>; 152*4882a593Smuzhiyun interrupts = <54 4>; 153*4882a593Smuzhiyun interrupt-controller; 154*4882a593Smuzhiyun #interrupt-cells = <1>; 155*4882a593Smuzhiyun #clock-cells = <0>; 156*4882a593Smuzhiyun clock-frequency = <9600000>; 157*4882a593Smuzhiyun clock-output-names = "mclk"; 158*4882a593Smuzhiyun qcom,micbias1-microvolt = <1800000>; 159*4882a593Smuzhiyun qcom,micbias2-microvolt = <1800000>; 160*4882a593Smuzhiyun qcom,micbias3-microvolt = <1800000>; 161*4882a593Smuzhiyun qcom,micbias4-microvolt = <1800000>; 162*4882a593Smuzhiyun clock-names = "extclk"; 163*4882a593Smuzhiyun clocks = <&rpmhcc 2>; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun #address-cells = <1>; 166*4882a593Smuzhiyun #size-cells = <1>; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun gpio@42 { 169*4882a593Smuzhiyun compatible = "qcom,wcd9340-gpio"; 170*4882a593Smuzhiyun reg = <0x42 0x2>; 171*4882a593Smuzhiyun gpio-controller; 172*4882a593Smuzhiyun #gpio-cells = <2>; 173*4882a593Smuzhiyun }; 174*4882a593Smuzhiyun }; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun... 177