1*c66ec88fSEmmanuel VadotCS42L52 audio CODEC 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot 5*c66ec88fSEmmanuel Vadot - compatible : "cirrus,cs42l56" 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel Vadot - reg : the I2C address of the device for I2C 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadot - VA-supply, VCP-supply, VLDO-supply : power supplies for the device, 10*c66ec88fSEmmanuel Vadot as covered in Documentation/devicetree/bindings/regulator/regulator.txt. 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel VadotOptional properties: 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel Vadot - cirrus,gpio-nreset : GPIO controller's phandle and the number 15*c66ec88fSEmmanuel Vadot of the GPIO used to reset the codec. 16*c66ec88fSEmmanuel Vadot 17*c66ec88fSEmmanuel Vadot - cirrus,chgfreq-divisor : Values used to set the Charge Pump Frequency. 18*c66ec88fSEmmanuel Vadot Allowable values of 0x00 through 0x0F. These are raw values written to the 19*c66ec88fSEmmanuel Vadot register, not the actual frequency. The frequency is determined by the following. 20*c66ec88fSEmmanuel Vadot Frequency = MCLK / 4 * (N+2) 21*c66ec88fSEmmanuel Vadot N = chgfreq_val 22*c66ec88fSEmmanuel Vadot MCLK = Where MCLK is the frequency of the mclk signal after the MCLKDIV2 circuit. 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot - cirrus,ain1a-ref-cfg, ain1b-ref-cfg : boolean, If present, AIN1A or AIN1B are configured 25*c66ec88fSEmmanuel Vadot as a pseudo-differential input referenced to AIN1REF/AIN3A. 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel Vadot - cirrus,ain2a-ref-cfg, ain2b-ref-cfg : boolean, If present, AIN2A or AIN2B are configured 28*c66ec88fSEmmanuel Vadot as a pseudo-differential input referenced to AIN2REF/AIN3B. 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadot - cirrus,micbias-lvl: Set the output voltage level on the MICBIAS Pin. 31*c66ec88fSEmmanuel Vadot 0 = 0.5 x VA 32*c66ec88fSEmmanuel Vadot 1 = 0.6 x VA 33*c66ec88fSEmmanuel Vadot 2 = 0.7 x VA 34*c66ec88fSEmmanuel Vadot 3 = 0.8 x VA 35*c66ec88fSEmmanuel Vadot 4 = 0.83 x VA 36*c66ec88fSEmmanuel Vadot 5 = 0.91 x VA 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot - cirrus,adaptive-pwr-cfg : Configures how the power to the Headphone and Lineout 39*c66ec88fSEmmanuel Vadot Amplifiers adapt to the output signal levels. 40*c66ec88fSEmmanuel Vadot 0 = Adapt to Volume Mode. Voltage level determined by the sum of the relevant volume settings. 41*c66ec88fSEmmanuel Vadot 1 = Fixed - Headphone and Line Amp supply = + or - VCP/2. 42*c66ec88fSEmmanuel Vadot 2 = Fixed - Headphone and Line Amp supply = + or - VCP. 43*c66ec88fSEmmanuel Vadot 3 = Adapted to Signal; Voltage level is dynamically determined by the output signal. 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel Vadot - cirrus,hpf-left-freq, hpf-right-freq : Sets the corner frequency (-3dB point) for the internal High-Pass 46*c66ec88fSEmmanuel Vadot Filter. 47*c66ec88fSEmmanuel Vadot 0 = 1.8Hz 48*c66ec88fSEmmanuel Vadot 1 = 119Hz 49*c66ec88fSEmmanuel Vadot 2 = 236Hz 50*c66ec88fSEmmanuel Vadot 3 = 464Hz 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadot 53*c66ec88fSEmmanuel VadotExample: 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadotcodec: codec@4b { 56*c66ec88fSEmmanuel Vadot compatible = "cirrus,cs42l56"; 57*c66ec88fSEmmanuel Vadot reg = <0x4b>; 58*c66ec88fSEmmanuel Vadot cirrus,gpio-nreset = <&gpio 10 0>; 59*c66ec88fSEmmanuel Vadot cirrus,chgfreq-divisor = <0x05>; 60*c66ec88fSEmmanuel Vadot cirrus.ain1_ref_cfg; 61*c66ec88fSEmmanuel Vadot cirrus,micbias-lvl = <5>; 62*c66ec88fSEmmanuel Vadot VA-supply = <®_audio>; 63*c66ec88fSEmmanuel Vadot}; 64