xref: /linux/Documentation/devicetree/bindings/sound/cs42l56.txt (revision 664b0bae0b87f69bc9deb098f5e0158b9cf18e04)
13bb40619SBrian AustinCS42L52 audio CODEC
23bb40619SBrian Austin
33bb40619SBrian AustinRequired properties:
43bb40619SBrian Austin
53bb40619SBrian Austin  - compatible : "cirrus,cs42l56"
63bb40619SBrian Austin
73bb40619SBrian Austin  - reg : the I2C address of the device for I2C
83bb40619SBrian Austin
93bb40619SBrian Austin  - VA-supply, VCP-supply, VLDO-supply : power supplies for the device,
103bb40619SBrian Austin  as covered in Documentation/devicetree/bindings/regulator/regulator.txt.
113bb40619SBrian Austin
123bb40619SBrian AustinOptional properties:
133bb40619SBrian Austin
143bb40619SBrian Austin  - cirrus,gpio-nreset : GPIO controller's phandle and the number
153bb40619SBrian Austin  of the GPIO used to reset the codec.
163bb40619SBrian Austin
173bb40619SBrian Austin  - cirrus,chgfreq-divisor : Values used to set the Charge Pump Frequency.
183bb40619SBrian Austin  Allowable values of 0x00 through 0x0F. These are raw values written to the
193bb40619SBrian Austin  register, not the actual frequency. The frequency is determined by the following.
203bb40619SBrian Austin  Frequency = MCLK / 4 * (N+2)
213bb40619SBrian Austin  N = chgfreq_val
223bb40619SBrian Austin  MCLK = Where MCLK is the frequency of the mclk signal after the MCLKDIV2 circuit.
233bb40619SBrian Austin
243bb40619SBrian Austin  - cirrus,ain1a-ref-cfg, ain1b-ref-cfg : boolean, If present, AIN1A or AIN1B are configured
253bb40619SBrian Austin  as a pseudo-differential input referenced to AIN1REF/AIN3A.
263bb40619SBrian Austin
273bb40619SBrian Austin  - cirrus,ain2a-ref-cfg, ain2b-ref-cfg : boolean, If present, AIN2A or AIN2B are configured
283bb40619SBrian Austin  as a pseudo-differential input referenced to AIN2REF/AIN3B.
293bb40619SBrian Austin
303bb40619SBrian Austin  - cirrus,micbias-lvl: Set the output voltage level on the MICBIAS Pin.
313bb40619SBrian Austin  0 = 0.5 x VA
323bb40619SBrian Austin  1 = 0.6 x VA
333bb40619SBrian Austin  2 = 0.7 x VA
343bb40619SBrian Austin  3 = 0.8 x VA
353bb40619SBrian Austin  4 = 0.83 x VA
363bb40619SBrian Austin  5 = 0.91 x VA
373bb40619SBrian Austin
383bb40619SBrian Austin  - cirrus,adaptive-pwr-cfg : Configures how the power to the Headphone and Lineout
393bb40619SBrian Austin  Amplifiers adapt to the output signal levels.
403bb40619SBrian Austin  0 = Adapt to Volume Mode. Voltage level determined by the sum of the relevant volume settings.
413bb40619SBrian Austin  1 = Fixed - Headphone and Line Amp supply = + or - VCP/2.
423bb40619SBrian Austin  2 = Fixed - Headphone and Line Amp supply = + or - VCP.
433bb40619SBrian Austin  3 = Adapted to Signal; Voltage level is dynamically determined by the output signal.
443bb40619SBrian Austin
453bb40619SBrian Austin  - cirrus,hpf-left-freq, hpf-right-freq : Sets the corner frequency (-3dB point) for the internal High-Pass
463bb40619SBrian Austin  Filter.
473bb40619SBrian Austin  0 = 1.8Hz
483bb40619SBrian Austin  1 = 119Hz
493bb40619SBrian Austin  2 = 236Hz
503bb40619SBrian Austin  3 = 464Hz
513bb40619SBrian Austin
523bb40619SBrian Austin
533bb40619SBrian AustinExample:
543bb40619SBrian Austin
553bb40619SBrian Austincodec: codec@4b {
563bb40619SBrian Austin	compatible = "cirrus,cs42l56";
573bb40619SBrian Austin	reg = <0x4b>;
58*8adc4306SAndrew F. Davis	cirrus,gpio-nreset = <&gpio 10 0>;
593bb40619SBrian Austin	cirrus,chgfreq-divisor = <0x05>;
603bb40619SBrian Austin	cirrus.ain1_ref_cfg;
613bb40619SBrian Austin	cirrus,micbias-lvl = <5>;
623bb40619SBrian Austin	VA-supply = <&reg_audio>;
633bb40619SBrian Austin};
64