1*80404e4eSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*80404e4eSKrzysztof Kozlowski%YAML 1.2 3*80404e4eSKrzysztof Kozlowski--- 4*80404e4eSKrzysztof Kozlowski$id: http://devicetree.org/schemas/sound/wlf,wm8994.yaml# 5*80404e4eSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*80404e4eSKrzysztof Kozlowski 7*80404e4eSKrzysztof Kozlowskititle: Wolfson WM1811/WM8994/WM8958 audio codecs 8*80404e4eSKrzysztof Kozlowski 9*80404e4eSKrzysztof Kozlowskimaintainers: 10*80404e4eSKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11*80404e4eSKrzysztof Kozlowski - patches@opensource.cirrus.com 12*80404e4eSKrzysztof Kozlowski 13*80404e4eSKrzysztof Kozlowskidescription: | 14*80404e4eSKrzysztof Kozlowski These devices support both I2C and SPI (configured with pin strapping on the 15*80404e4eSKrzysztof Kozlowski board). 16*80404e4eSKrzysztof Kozlowski 17*80404e4eSKrzysztof Kozlowski Pins on the device (for linking into audio routes): 18*80404e4eSKrzysztof Kozlowski IN1LN, IN1LP, IN2LN, IN2LP:VXRN, IN1RN, IN1RP, IN2RN, IN2RP:VXRP, SPKOUTLP, 19*80404e4eSKrzysztof Kozlowski SPKOUTLN, SPKOUTRP, SPKOUTRN, HPOUT1L, HPOUT1R, HPOUT2P, HPOUT2N, LINEOUT1P, 20*80404e4eSKrzysztof Kozlowski LINEOUT1N, LINEOUT2P, LINEOUT2N. 21*80404e4eSKrzysztof Kozlowski 22*80404e4eSKrzysztof Kozlowskiproperties: 23*80404e4eSKrzysztof Kozlowski compatible: 24*80404e4eSKrzysztof Kozlowski enum: 25*80404e4eSKrzysztof Kozlowski - wlf,wm1811 26*80404e4eSKrzysztof Kozlowski - wlf,wm8994 27*80404e4eSKrzysztof Kozlowski - wlf,wm8958 28*80404e4eSKrzysztof Kozlowski 29*80404e4eSKrzysztof Kozlowski reg: 30*80404e4eSKrzysztof Kozlowski maxItems: 1 31*80404e4eSKrzysztof Kozlowski 32*80404e4eSKrzysztof Kozlowski clocks: 33*80404e4eSKrzysztof Kozlowski minItems: 1 34*80404e4eSKrzysztof Kozlowski maxItems: 2 35*80404e4eSKrzysztof Kozlowski 36*80404e4eSKrzysztof Kozlowski clock-names: 37*80404e4eSKrzysztof Kozlowski minItems: 1 38*80404e4eSKrzysztof Kozlowski items: 39*80404e4eSKrzysztof Kozlowski - const: MCLK1 40*80404e4eSKrzysztof Kozlowski - const: MCLK2 41*80404e4eSKrzysztof Kozlowski 42*80404e4eSKrzysztof Kozlowski gpio-controller: true 43*80404e4eSKrzysztof Kozlowski 44*80404e4eSKrzysztof Kozlowski '#gpio-cells': 45*80404e4eSKrzysztof Kozlowski const: 2 46*80404e4eSKrzysztof Kozlowski 47*80404e4eSKrzysztof Kozlowski interrupts: 48*80404e4eSKrzysztof Kozlowski maxItems: 1 49*80404e4eSKrzysztof Kozlowski 50*80404e4eSKrzysztof Kozlowski interrupt-controller: true 51*80404e4eSKrzysztof Kozlowski 52*80404e4eSKrzysztof Kozlowski '#interrupt-cells': 53*80404e4eSKrzysztof Kozlowski const: 2 54*80404e4eSKrzysztof Kozlowski description: 55*80404e4eSKrzysztof Kozlowski The first cell is the IRQ number. The second cell is the flags, encoded 56*80404e4eSKrzysztof Kozlowski as the trigger masks. 57*80404e4eSKrzysztof Kozlowski 58*80404e4eSKrzysztof Kozlowski AVDD1-supply: true 59*80404e4eSKrzysztof Kozlowski AVDD2-supply: true 60*80404e4eSKrzysztof Kozlowski CPVDD-supply: true 61*80404e4eSKrzysztof Kozlowski DBVDD-supply: true 62*80404e4eSKrzysztof Kozlowski DBVDD1-supply: true 63*80404e4eSKrzysztof Kozlowski DBVDD2-supply: true 64*80404e4eSKrzysztof Kozlowski DBVDD3-supply: true 65*80404e4eSKrzysztof Kozlowski DCVDD-supply: true 66*80404e4eSKrzysztof Kozlowski LDO1VDD-supply: true 67*80404e4eSKrzysztof Kozlowski LDO2VDD-supply: true 68*80404e4eSKrzysztof Kozlowski SPKVDD1-supply: true 69*80404e4eSKrzysztof Kozlowski SPKVDD2-supply: true 70*80404e4eSKrzysztof Kozlowski 71*80404e4eSKrzysztof Kozlowski '#sound-dai-cells': 72*80404e4eSKrzysztof Kozlowski const: 0 73*80404e4eSKrzysztof Kozlowski 74*80404e4eSKrzysztof Kozlowski wlf,gpio-cfg: 75*80404e4eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 76*80404e4eSKrzysztof Kozlowski maxItems: 11 77*80404e4eSKrzysztof Kozlowski description: 78*80404e4eSKrzysztof Kozlowski A list of GPIO configuration register values. If absent, no configuration 79*80404e4eSKrzysztof Kozlowski of these registers is performed. If any value is over 0xffff then the 80*80404e4eSKrzysztof Kozlowski register will be left as default. If present 11 values must be supplied. 81*80404e4eSKrzysztof Kozlowski 82*80404e4eSKrzysztof Kozlowski wlf,micbias-cfg: 83*80404e4eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 84*80404e4eSKrzysztof Kozlowski maxItems: 2 85*80404e4eSKrzysztof Kozlowski description: 86*80404e4eSKrzysztof Kozlowski Two MICBIAS register values for WM1811 or WM8958. If absent the register 87*80404e4eSKrzysztof Kozlowski defaults will be used. 88*80404e4eSKrzysztof Kozlowski 89*80404e4eSKrzysztof Kozlowski wlf,ldo1ena-gpios: 90*80404e4eSKrzysztof Kozlowski maxItems: 1 91*80404e4eSKrzysztof Kozlowski description: 92*80404e4eSKrzysztof Kozlowski Control of LDO1ENA input to device. 93*80404e4eSKrzysztof Kozlowski 94*80404e4eSKrzysztof Kozlowski wlf,ldo2ena-gpios: 95*80404e4eSKrzysztof Kozlowski maxItems: 1 96*80404e4eSKrzysztof Kozlowski description: 97*80404e4eSKrzysztof Kozlowski Control of LDO2ENA input to device. 98*80404e4eSKrzysztof Kozlowski 99*80404e4eSKrzysztof Kozlowski wlf,lineout1-se: 100*80404e4eSKrzysztof Kozlowski type: boolean 101*80404e4eSKrzysztof Kozlowski description: 102*80404e4eSKrzysztof Kozlowski LINEOUT1 is in single ended mode. 103*80404e4eSKrzysztof Kozlowski 104*80404e4eSKrzysztof Kozlowski wlf,lineout2-se: 105*80404e4eSKrzysztof Kozlowski type: boolean 106*80404e4eSKrzysztof Kozlowski description: 107*80404e4eSKrzysztof Kozlowski INEOUT2 is in single ended mode. 108*80404e4eSKrzysztof Kozlowski 109*80404e4eSKrzysztof Kozlowski wlf,lineout1-feedback: 110*80404e4eSKrzysztof Kozlowski type: boolean 111*80404e4eSKrzysztof Kozlowski description: 112*80404e4eSKrzysztof Kozlowski LINEOUT1 has common mode feedback connected. 113*80404e4eSKrzysztof Kozlowski 114*80404e4eSKrzysztof Kozlowski wlf,lineout2-feedback: 115*80404e4eSKrzysztof Kozlowski type: boolean 116*80404e4eSKrzysztof Kozlowski description: 117*80404e4eSKrzysztof Kozlowski LINEOUT2 has common mode feedback connected. 118*80404e4eSKrzysztof Kozlowski 119*80404e4eSKrzysztof Kozlowski wlf,ldoena-always-driven: 120*80404e4eSKrzysztof Kozlowski type: boolean 121*80404e4eSKrzysztof Kozlowski description: 122*80404e4eSKrzysztof Kozlowski LDOENA is always driven. 123*80404e4eSKrzysztof Kozlowski 124*80404e4eSKrzysztof Kozlowski wlf,spkmode-pu: 125*80404e4eSKrzysztof Kozlowski type: boolean 126*80404e4eSKrzysztof Kozlowski description: 127*80404e4eSKrzysztof Kozlowski Enable the internal pull-up resistor on the SPKMODE pin. 128*80404e4eSKrzysztof Kozlowski 129*80404e4eSKrzysztof Kozlowski wlf,csnaddr-pd: 130*80404e4eSKrzysztof Kozlowski type: boolean 131*80404e4eSKrzysztof Kozlowski description: 132*80404e4eSKrzysztof Kozlowski Enable the internal pull-down resistor on the CS/ADDR pin. 133*80404e4eSKrzysztof Kozlowski 134*80404e4eSKrzysztof Kozlowskirequired: 135*80404e4eSKrzysztof Kozlowski - compatible 136*80404e4eSKrzysztof Kozlowski - reg 137*80404e4eSKrzysztof Kozlowski - AVDD2-supply 138*80404e4eSKrzysztof Kozlowski - CPVDD-supply 139*80404e4eSKrzysztof Kozlowski - SPKVDD1-supply 140*80404e4eSKrzysztof Kozlowski - SPKVDD2-supply 141*80404e4eSKrzysztof Kozlowski 142*80404e4eSKrzysztof KozlowskiallOf: 143*80404e4eSKrzysztof Kozlowski - $ref: dai-common.yaml# 144*80404e4eSKrzysztof Kozlowski - if: 145*80404e4eSKrzysztof Kozlowski properties: 146*80404e4eSKrzysztof Kozlowski compatible: 147*80404e4eSKrzysztof Kozlowski enum: 148*80404e4eSKrzysztof Kozlowski - wlf,wm1811 149*80404e4eSKrzysztof Kozlowski - wlf,wm8958 150*80404e4eSKrzysztof Kozlowski then: 151*80404e4eSKrzysztof Kozlowski properties: 152*80404e4eSKrzysztof Kozlowski DBVDD-supply: false 153*80404e4eSKrzysztof Kozlowski LDO2VDD-supply: false 154*80404e4eSKrzysztof Kozlowski required: 155*80404e4eSKrzysztof Kozlowski - DBVDD1-supply 156*80404e4eSKrzysztof Kozlowski - DBVDD2-supply 157*80404e4eSKrzysztof Kozlowski - DBVDD3-supply 158*80404e4eSKrzysztof Kozlowski else: 159*80404e4eSKrzysztof Kozlowski properties: 160*80404e4eSKrzysztof Kozlowski DBVDD1-supply: false 161*80404e4eSKrzysztof Kozlowski DBVDD2-supply: false 162*80404e4eSKrzysztof Kozlowski DBVDD3-supply: false 163*80404e4eSKrzysztof Kozlowski required: 164*80404e4eSKrzysztof Kozlowski - DBVDD-supply 165*80404e4eSKrzysztof Kozlowski 166*80404e4eSKrzysztof KozlowskiunevaluatedProperties: false 167*80404e4eSKrzysztof Kozlowski 168*80404e4eSKrzysztof Kozlowskiexamples: 169*80404e4eSKrzysztof Kozlowski - | 170*80404e4eSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 171*80404e4eSKrzysztof Kozlowski 172*80404e4eSKrzysztof Kozlowski i2c { 173*80404e4eSKrzysztof Kozlowski #address-cells = <1>; 174*80404e4eSKrzysztof Kozlowski #size-cells = <0>; 175*80404e4eSKrzysztof Kozlowski 176*80404e4eSKrzysztof Kozlowski audio-codec@1a { 177*80404e4eSKrzysztof Kozlowski compatible = "wlf,wm1811"; 178*80404e4eSKrzysztof Kozlowski reg = <0x1a>; 179*80404e4eSKrzysztof Kozlowski clocks = <&i2s0 0>; 180*80404e4eSKrzysztof Kozlowski clock-names = "MCLK1"; 181*80404e4eSKrzysztof Kozlowski 182*80404e4eSKrzysztof Kozlowski AVDD2-supply = <&main_dc_reg>; 183*80404e4eSKrzysztof Kozlowski CPVDD-supply = <&main_dc_reg>; 184*80404e4eSKrzysztof Kozlowski DBVDD1-supply = <&main_dc_reg>; 185*80404e4eSKrzysztof Kozlowski DBVDD2-supply = <&main_dc_reg>; 186*80404e4eSKrzysztof Kozlowski DBVDD3-supply = <&main_dc_reg>; 187*80404e4eSKrzysztof Kozlowski LDO1VDD-supply = <&main_dc_reg>; 188*80404e4eSKrzysztof Kozlowski SPKVDD1-supply = <&main_dc_reg>; 189*80404e4eSKrzysztof Kozlowski SPKVDD2-supply = <&main_dc_reg>; 190*80404e4eSKrzysztof Kozlowski 191*80404e4eSKrzysztof Kozlowski wlf,ldo1ena-gpios = <&gpb0 0 GPIO_ACTIVE_HIGH>; 192*80404e4eSKrzysztof Kozlowski wlf,ldo2ena-gpios = <&gpb0 1 GPIO_ACTIVE_HIGH>; 193*80404e4eSKrzysztof Kozlowski }; 194*80404e4eSKrzysztof Kozlowski }; 195