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