Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / cs42l56.txt
1 CS42L52 audio CODEC
2
3 Required 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
12 Optional 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
53 Example:
54
55 codec: 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 };