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