1*631b8a8bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*631b8a8bSKrzysztof Kozlowski%YAML 1.2 3*631b8a8bSKrzysztof Kozlowski--- 4*631b8a8bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/sound/qcom,wcd9335.yaml# 5*631b8a8bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*631b8a8bSKrzysztof Kozlowski 7*631b8a8bSKrzysztof Kozlowskititle: Qualcomm WCD9335 Audio Codec 8*631b8a8bSKrzysztof Kozlowski 9*631b8a8bSKrzysztof Kozlowskimaintainers: 10*631b8a8bSKrzysztof Kozlowski - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11*631b8a8bSKrzysztof Kozlowski 12*631b8a8bSKrzysztof Kozlowskidescription: 13*631b8a8bSKrzysztof Kozlowski Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC with in-built 14*631b8a8bSKrzysztof Kozlowski Soundwire controller and interrupt mux. It supports both I2S/I2C and SLIMbus 15*631b8a8bSKrzysztof Kozlowski audio interfaces. 16*631b8a8bSKrzysztof Kozlowski 17*631b8a8bSKrzysztof Kozlowskiproperties: 18*631b8a8bSKrzysztof Kozlowski compatible: 19*631b8a8bSKrzysztof Kozlowski const: slim217,1a0 20*631b8a8bSKrzysztof Kozlowski 21*631b8a8bSKrzysztof Kozlowski reg: 22*631b8a8bSKrzysztof Kozlowski maxItems: 1 23*631b8a8bSKrzysztof Kozlowski 24*631b8a8bSKrzysztof Kozlowski clocks: 25*631b8a8bSKrzysztof Kozlowski maxItems: 2 26*631b8a8bSKrzysztof Kozlowski 27*631b8a8bSKrzysztof Kozlowski clock-names: 28*631b8a8bSKrzysztof Kozlowski items: 29*631b8a8bSKrzysztof Kozlowski - const: mclk 30*631b8a8bSKrzysztof Kozlowski - const: slimbus 31*631b8a8bSKrzysztof Kozlowski 32*631b8a8bSKrzysztof Kozlowski interrupts: 33*631b8a8bSKrzysztof Kozlowski maxItems: 2 34*631b8a8bSKrzysztof Kozlowski 35*631b8a8bSKrzysztof Kozlowski interrupt-names: 36*631b8a8bSKrzysztof Kozlowski items: 37*631b8a8bSKrzysztof Kozlowski - const: intr1 38*631b8a8bSKrzysztof Kozlowski - const: intr2 39*631b8a8bSKrzysztof Kozlowski 40*631b8a8bSKrzysztof Kozlowski interrupt-controller: true 41*631b8a8bSKrzysztof Kozlowski 42*631b8a8bSKrzysztof Kozlowski '#interrupt-cells': 43*631b8a8bSKrzysztof Kozlowski const: 1 44*631b8a8bSKrzysztof Kozlowski 45*631b8a8bSKrzysztof Kozlowski reset-gpios: 46*631b8a8bSKrzysztof Kozlowski maxItems: 1 47*631b8a8bSKrzysztof Kozlowski 48*631b8a8bSKrzysztof Kozlowski slim-ifc-dev: 49*631b8a8bSKrzysztof Kozlowski description: SLIM IFC device interface 50*631b8a8bSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle 51*631b8a8bSKrzysztof Kozlowski 52*631b8a8bSKrzysztof Kozlowski '#sound-dai-cells': 53*631b8a8bSKrzysztof Kozlowski const: 1 54*631b8a8bSKrzysztof Kozlowski 55*631b8a8bSKrzysztof Kozlowski vdd-buck-supply: 56*631b8a8bSKrzysztof Kozlowski description: 1.8V buck supply 57*631b8a8bSKrzysztof Kozlowski 58*631b8a8bSKrzysztof Kozlowski vdd-buck-sido-supply: 59*631b8a8bSKrzysztof Kozlowski description: 1.8V SIDO buck supply 60*631b8a8bSKrzysztof Kozlowski 61*631b8a8bSKrzysztof Kozlowski vdd-io-supply: 62*631b8a8bSKrzysztof Kozlowski description: 1.8V I/O supply 63*631b8a8bSKrzysztof Kozlowski 64*631b8a8bSKrzysztof Kozlowski vdd-micbias-supply: 65*631b8a8bSKrzysztof Kozlowski description: micbias supply 66*631b8a8bSKrzysztof Kozlowski 67*631b8a8bSKrzysztof Kozlowski vdd-rx-supply: 68*631b8a8bSKrzysztof Kozlowski description: 1.8V rx supply 69*631b8a8bSKrzysztof Kozlowski 70*631b8a8bSKrzysztof Kozlowski vdd-tx-supply: 71*631b8a8bSKrzysztof Kozlowski description: 1.8V tx supply 72*631b8a8bSKrzysztof Kozlowski 73*631b8a8bSKrzysztof Kozlowski vdd-vbat-supply: 74*631b8a8bSKrzysztof Kozlowski description: vbat supply 75*631b8a8bSKrzysztof Kozlowski 76*631b8a8bSKrzysztof Kozlowskirequired: 77*631b8a8bSKrzysztof Kozlowski - compatible 78*631b8a8bSKrzysztof Kozlowski - reg 79*631b8a8bSKrzysztof Kozlowski 80*631b8a8bSKrzysztof KozlowskiallOf: 81*631b8a8bSKrzysztof Kozlowski - $ref: dai-common.yaml# 82*631b8a8bSKrzysztof Kozlowski - if: 83*631b8a8bSKrzysztof Kozlowski required: 84*631b8a8bSKrzysztof Kozlowski - slim-ifc-dev 85*631b8a8bSKrzysztof Kozlowski then: 86*631b8a8bSKrzysztof Kozlowski required: 87*631b8a8bSKrzysztof Kozlowski - clocks 88*631b8a8bSKrzysztof Kozlowski - clock-names 89*631b8a8bSKrzysztof Kozlowski - interrupts 90*631b8a8bSKrzysztof Kozlowski - interrupt-names 91*631b8a8bSKrzysztof Kozlowski - interrupt-controller 92*631b8a8bSKrzysztof Kozlowski - '#interrupt-cells' 93*631b8a8bSKrzysztof Kozlowski - reset-gpios 94*631b8a8bSKrzysztof Kozlowski - slim-ifc-dev 95*631b8a8bSKrzysztof Kozlowski - '#sound-dai-cells' 96*631b8a8bSKrzysztof Kozlowski - vdd-buck-supply 97*631b8a8bSKrzysztof Kozlowski - vdd-buck-sido-supply 98*631b8a8bSKrzysztof Kozlowski - vdd-io-supply 99*631b8a8bSKrzysztof Kozlowski - vdd-rx-supply 100*631b8a8bSKrzysztof Kozlowski - vdd-tx-supply 101*631b8a8bSKrzysztof Kozlowski else: 102*631b8a8bSKrzysztof Kozlowski properties: 103*631b8a8bSKrzysztof Kozlowski clocks: false 104*631b8a8bSKrzysztof Kozlowski clock-names: false 105*631b8a8bSKrzysztof Kozlowski interrupts: false 106*631b8a8bSKrzysztof Kozlowski interrupt-names: false 107*631b8a8bSKrzysztof Kozlowski interrupt-controller: false 108*631b8a8bSKrzysztof Kozlowski '#interrupt-cells': false 109*631b8a8bSKrzysztof Kozlowski reset-gpios: false 110*631b8a8bSKrzysztof Kozlowski slim-ifc-dev: false 111*631b8a8bSKrzysztof Kozlowski '#sound-dai-cells': false 112*631b8a8bSKrzysztof Kozlowski vdd-buck-supply: false 113*631b8a8bSKrzysztof Kozlowski vdd-buck-sido-supply: false 114*631b8a8bSKrzysztof Kozlowski vdd-io-supply: false 115*631b8a8bSKrzysztof Kozlowski vdd-micbias-supply: false 116*631b8a8bSKrzysztof Kozlowski vdd-rx-supply: false 117*631b8a8bSKrzysztof Kozlowski vdd-tx-supply: false 118*631b8a8bSKrzysztof Kozlowski vdd-vbat-supply: false 119*631b8a8bSKrzysztof Kozlowski 120*631b8a8bSKrzysztof KozlowskiadditionalProperties: false 121*631b8a8bSKrzysztof Kozlowski 122*631b8a8bSKrzysztof Kozlowskiexamples: 123*631b8a8bSKrzysztof Kozlowski - | 124*631b8a8bSKrzysztof Kozlowski #include <dt-bindings/clock/qcom,rpmcc.h> 125*631b8a8bSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 126*631b8a8bSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 127*631b8a8bSKrzysztof Kozlowski 128*631b8a8bSKrzysztof Kozlowski tasha_ifd: codec@0,0 { 129*631b8a8bSKrzysztof Kozlowski compatible = "slim217,1a0"; 130*631b8a8bSKrzysztof Kozlowski reg = <0 0>; 131*631b8a8bSKrzysztof Kozlowski }; 132*631b8a8bSKrzysztof Kozlowski 133*631b8a8bSKrzysztof Kozlowski codec@1,0 { 134*631b8a8bSKrzysztof Kozlowski compatible = "slim217,1a0"; 135*631b8a8bSKrzysztof Kozlowski reg = <1 0>; 136*631b8a8bSKrzysztof Kozlowski 137*631b8a8bSKrzysztof Kozlowski clock-names = "mclk", "slimbus"; 138*631b8a8bSKrzysztof Kozlowski clocks = <&div1_mclk>, <&rpmcc RPM_SMD_BB_CLK1>; 139*631b8a8bSKrzysztof Kozlowski 140*631b8a8bSKrzysztof Kozlowski interrupt-parent = <&tlmm>; 141*631b8a8bSKrzysztof Kozlowski interrupts = <54 IRQ_TYPE_LEVEL_HIGH>, 142*631b8a8bSKrzysztof Kozlowski <53 IRQ_TYPE_LEVEL_HIGH>; 143*631b8a8bSKrzysztof Kozlowski interrupt-names = "intr1", "intr2"; 144*631b8a8bSKrzysztof Kozlowski interrupt-controller; 145*631b8a8bSKrzysztof Kozlowski #interrupt-cells = <1>; 146*631b8a8bSKrzysztof Kozlowski 147*631b8a8bSKrzysztof Kozlowski reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 148*631b8a8bSKrzysztof Kozlowski slim-ifc-dev = <&tasha_ifd>; 149*631b8a8bSKrzysztof Kozlowski #sound-dai-cells = <1>; 150*631b8a8bSKrzysztof Kozlowski 151*631b8a8bSKrzysztof Kozlowski vdd-buck-supply = <&vreg_s4a_1p8>; 152*631b8a8bSKrzysztof Kozlowski vdd-buck-sido-supply = <&vreg_s4a_1p8>; 153*631b8a8bSKrzysztof Kozlowski vdd-tx-supply = <&vreg_s4a_1p8>; 154*631b8a8bSKrzysztof Kozlowski vdd-rx-supply = <&vreg_s4a_1p8>; 155*631b8a8bSKrzysztof Kozlowski vdd-io-supply = <&vreg_s4a_1p8>; 156*631b8a8bSKrzysztof Kozlowski }; 157