xref: /freebsd/sys/contrib/device-tree/Bindings/sound/cs42l52.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotCS42L52 audio CODEC
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel Vadot  - compatible : "cirrus,cs42l52"
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadot  - reg : the I2C address of the device for I2C
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel VadotOptional properties:
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot  - cirrus,reset-gpio : GPIO controller's phandle and the number
12*c66ec88fSEmmanuel Vadot  of the GPIO used to reset the codec.
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel Vadot  - cirrus,chgfreq-divisor : Values used to set the Charge Pump Frequency.
15*c66ec88fSEmmanuel Vadot  Allowable values of 0x00 through 0x0F. These are raw values written to the
16*c66ec88fSEmmanuel Vadot  register, not the actual frequency. The frequency is determined by the following.
17*c66ec88fSEmmanuel Vadot  Frequency = (64xFs)/(N+2)
18*c66ec88fSEmmanuel Vadot  N = chgfreq_val
19*c66ec88fSEmmanuel Vadot  Fs = Sample Rate (variable)
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot  - cirrus,mica-differential-cfg : boolean, If present, then the MICA input is configured
22*c66ec88fSEmmanuel Vadot  as a differential input. If not present then the MICA input is configured as
23*c66ec88fSEmmanuel Vadot  Single-ended input. Single-ended mode allows for MIC1 or MIC2 muxing for input.
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadot  - cirrus,micb-differential-cfg : boolean, If present, then the MICB input is configured
26*c66ec88fSEmmanuel Vadot  as a differential input. If not present then the MICB input is configured as
27*c66ec88fSEmmanuel Vadot  Single-ended input. Single-ended mode allows for MIC1 or MIC2 muxing for input.
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel Vadot  - cirrus,micbias-lvl: Set the output voltage level on the MICBIAS Pin
30*c66ec88fSEmmanuel Vadot  0 = 0.5 x VA
31*c66ec88fSEmmanuel Vadot  1 = 0.6 x VA
32*c66ec88fSEmmanuel Vadot  2 = 0.7 x VA
33*c66ec88fSEmmanuel Vadot  3 = 0.8 x VA
34*c66ec88fSEmmanuel Vadot  4 = 0.83 x VA
35*c66ec88fSEmmanuel Vadot  5 = 0.91 x VA
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel VadotExample:
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadotcodec: codec@4a {
40*c66ec88fSEmmanuel Vadot	compatible = "cirrus,cs42l52";
41*c66ec88fSEmmanuel Vadot	reg = <0x4a>;
42*c66ec88fSEmmanuel Vadot	reset-gpio = <&gpio 10 0>;
43*c66ec88fSEmmanuel Vadot	cirrus,chgfreq-divisor = <0x05>;
44*c66ec88fSEmmanuel Vadot	cirrus.mica-differential-cfg;
45*c66ec88fSEmmanuel Vadot	cirrus,micbias-lvl = <5>;
46*c66ec88fSEmmanuel Vadot};
47