1*c66ec88fSEmmanuel VadotWM1811/WM8994/WM8958 audio CODEC 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThese devices support both I2C and SPI (configured with pin strapping 4*c66ec88fSEmmanuel Vadoton the board). 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotRequired properties: 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot - compatible : One of "wlf,wm1811", "wlf,wm8994" or "wlf,wm8958". 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadot - reg : the I2C address of the device for I2C, the chip select 11*c66ec88fSEmmanuel Vadot number for SPI. 12*c66ec88fSEmmanuel Vadot 13*c66ec88fSEmmanuel Vadot - gpio-controller : Indicates this device is a GPIO controller. 14*c66ec88fSEmmanuel Vadot - #gpio-cells : Must be 2. The first cell is the pin number and the 15*c66ec88fSEmmanuel Vadot second cell is used to specify optional parameters (currently unused). 16*c66ec88fSEmmanuel Vadot 17*c66ec88fSEmmanuel Vadot - power supplies for the device, as covered in 18*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/regulator/regulator.txt, depending 19*c66ec88fSEmmanuel Vadot on compatible: 20*c66ec88fSEmmanuel Vadot - for wlf,wm1811 and wlf,wm8958: 21*c66ec88fSEmmanuel Vadot AVDD1-supply, AVDD2-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, 22*c66ec88fSEmmanuel Vadot DCVDD-supply, CPVDD-supply, SPKVDD1-supply, SPKVDD2-supply 23*c66ec88fSEmmanuel Vadot - for wlf,wm8994: 24*c66ec88fSEmmanuel Vadot AVDD1-supply, AVDD2-supply, DBVDD-supply, DCVDD-supply, CPVDD-supply, 25*c66ec88fSEmmanuel Vadot SPKVDD1-supply, SPKVDD2-supply 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel VadotOptional properties: 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel Vadot - interrupts : The interrupt line the IRQ signal for the device is 30*c66ec88fSEmmanuel Vadot connected to. This is optional, if it is not connected then none 31*c66ec88fSEmmanuel Vadot of the interrupt related properties should be specified. 32*c66ec88fSEmmanuel Vadot - interrupt-controller : These devices contain interrupt controllers 33*c66ec88fSEmmanuel Vadot and may provide interrupt services to other devices if they have an 34*c66ec88fSEmmanuel Vadot interrupt line connected. 35*c66ec88fSEmmanuel Vadot - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. 36*c66ec88fSEmmanuel Vadot The first cell is the IRQ number. 37*c66ec88fSEmmanuel Vadot The second cell is the flags, encoded as the trigger masks from 38*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/interrupt-controller/interrupts.txt 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadot - clocks : A list of up to two phandle and clock specifier pairs 41*c66ec88fSEmmanuel Vadot - clock-names : A list of clock names sorted in the same order as clocks. 42*c66ec88fSEmmanuel Vadot Valid clock names are "MCLK1" and "MCLK2". 43*c66ec88fSEmmanuel Vadot 44*c66ec88fSEmmanuel Vadot - wlf,gpio-cfg : A list of GPIO configuration register values. If absent, 45*c66ec88fSEmmanuel Vadot no configuration of these registers is performed. If any value is 46*c66ec88fSEmmanuel Vadot over 0xffff then the register will be left as default. If present 11 47*c66ec88fSEmmanuel Vadot values must be supplied. 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot - wlf,micbias-cfg : Two MICBIAS register values for WM1811 or 50*c66ec88fSEmmanuel Vadot WM8958. If absent the register defaults will be used. 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadot - wlf,ldo1ena : GPIO specifier for control of LDO1ENA input to device. 53*c66ec88fSEmmanuel Vadot - wlf,ldo2ena : GPIO specifier for control of LDO2ENA input to device. 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadot - wlf,lineout1-se : If present LINEOUT1 is in single ended mode. 56*c66ec88fSEmmanuel Vadot - wlf,lineout2-se : If present LINEOUT2 is in single ended mode. 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel Vadot - wlf,lineout1-feedback : If present LINEOUT1 has common mode feedback 59*c66ec88fSEmmanuel Vadot connected. 60*c66ec88fSEmmanuel Vadot - wlf,lineout2-feedback : If present LINEOUT2 has common mode feedback 61*c66ec88fSEmmanuel Vadot connected. 62*c66ec88fSEmmanuel Vadot 63*c66ec88fSEmmanuel Vadot - wlf,ldoena-always-driven : If present LDOENA is always driven. 64*c66ec88fSEmmanuel Vadot 65*c66ec88fSEmmanuel Vadot - wlf,spkmode-pu : If present enable the internal pull-up resistor on 66*c66ec88fSEmmanuel Vadot the SPKMODE pin. 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot - wlf,csnaddr-pd : If present enable the internal pull-down resistor on 69*c66ec88fSEmmanuel Vadot the CS/ADDR pin. 70*c66ec88fSEmmanuel Vadot 71*c66ec88fSEmmanuel VadotPins on the device (for linking into audio routes): 72*c66ec88fSEmmanuel Vadot 73*c66ec88fSEmmanuel Vadot * IN1LN 74*c66ec88fSEmmanuel Vadot * IN1LP 75*c66ec88fSEmmanuel Vadot * IN2LN 76*c66ec88fSEmmanuel Vadot * IN2LP:VXRN 77*c66ec88fSEmmanuel Vadot * IN1RN 78*c66ec88fSEmmanuel Vadot * IN1RP 79*c66ec88fSEmmanuel Vadot * IN2RN 80*c66ec88fSEmmanuel Vadot * IN2RP:VXRP 81*c66ec88fSEmmanuel Vadot * SPKOUTLP 82*c66ec88fSEmmanuel Vadot * SPKOUTLN 83*c66ec88fSEmmanuel Vadot * SPKOUTRP 84*c66ec88fSEmmanuel Vadot * SPKOUTRN 85*c66ec88fSEmmanuel Vadot * HPOUT1L 86*c66ec88fSEmmanuel Vadot * HPOUT1R 87*c66ec88fSEmmanuel Vadot * HPOUT2P 88*c66ec88fSEmmanuel Vadot * HPOUT2N 89*c66ec88fSEmmanuel Vadot * LINEOUT1P 90*c66ec88fSEmmanuel Vadot * LINEOUT1N 91*c66ec88fSEmmanuel Vadot * LINEOUT2P 92*c66ec88fSEmmanuel Vadot * LINEOUT2N 93*c66ec88fSEmmanuel Vadot 94*c66ec88fSEmmanuel VadotExample: 95*c66ec88fSEmmanuel Vadot 96*c66ec88fSEmmanuel Vadotwm8994: codec@1a { 97*c66ec88fSEmmanuel Vadot compatible = "wlf,wm8994"; 98*c66ec88fSEmmanuel Vadot reg = <0x1a>; 99*c66ec88fSEmmanuel Vadot 100*c66ec88fSEmmanuel Vadot gpio-controller; 101*c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 102*c66ec88fSEmmanuel Vadot 103*c66ec88fSEmmanuel Vadot lineout1-se; 104*c66ec88fSEmmanuel Vadot 105*c66ec88fSEmmanuel Vadot AVDD1-supply = <®ulator>; 106*c66ec88fSEmmanuel Vadot AVDD2-supply = <®ulator>; 107*c66ec88fSEmmanuel Vadot CPVDD-supply = <®ulator>; 108*c66ec88fSEmmanuel Vadot DBVDD-supply = <®ulator>; 109*c66ec88fSEmmanuel Vadot DCVDD-supply = <®ulator>; 110*c66ec88fSEmmanuel Vadot SPKVDD1-supply = <®ulator>; 111*c66ec88fSEmmanuel Vadot SPKVDD2-supply = <®ulator>; 112*c66ec88fSEmmanuel Vadot}; 113