xref: /openbmc/linux/Documentation/devicetree/bindings/sound/cs35l32.txt (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
1*9cf44690SBrian AustinCS35L32 audio CODEC
2*9cf44690SBrian Austin
3*9cf44690SBrian AustinRequired properties:
4*9cf44690SBrian Austin
5*9cf44690SBrian Austin  - compatible : "cirrus,cs35l32"
6*9cf44690SBrian Austin
7*9cf44690SBrian Austin  - reg : the I2C address of the device for I2C. Address is determined by the level
8*9cf44690SBrian Austin  of the AD0 pin. Level 0 is 0x40 while Level 1 is 0x41.
9*9cf44690SBrian Austin
10*9cf44690SBrian Austin  - VA-supply, VP-supply : power supplies for the device,
11*9cf44690SBrian Austin  as covered in Documentation/devicetree/bindings/regulator/regulator.txt.
12*9cf44690SBrian Austin
13*9cf44690SBrian AustinOptional properties:
14*9cf44690SBrian Austin
15*9cf44690SBrian Austin  - reset-gpios : a GPIO spec for the reset pin. If specified, it will be
16*9cf44690SBrian Austin  deasserted before communication to the codec starts.
17*9cf44690SBrian Austin
18*9cf44690SBrian Austin  - cirrus,boost-manager : Boost voltage control.
19*9cf44690SBrian Austin  0 = Automatically managed.  Boost-converter output voltage is the higher
20*9cf44690SBrian Austin  of the two: Class G or adaptive LED voltage.
21*9cf44690SBrian Austin  1 = Automatically managed irrespective of audio, adapting for low-power
22*9cf44690SBrian Austin  dissipation when LEDs are ON, and operating in Fixed-Boost Bypass Mode
23*9cf44690SBrian Austin  if LEDs are OFF (VBST = VP).
24*9cf44690SBrian Austin  2 = (Default) Boost voltage fixed in Bypass Mode (VBST = VP).
25*9cf44690SBrian Austin  3 = Boost voltage fixed at 5 V.
26*9cf44690SBrian Austin
27*9cf44690SBrian Austin  - cirrus,sdout-datacfg : Data configuration for dual CS35L32 applications only.
28*9cf44690SBrian Austin  Determines the data packed in a two-CS35L32 configuration.
29*9cf44690SBrian Austin  0 = Left/right channels VMON[11:0], IMON[11:0], VPMON[7:0].
30*9cf44690SBrian Austin  1 = Left/right channels VMON[11:0], IMON[11:0], STATUS.
31*9cf44690SBrian Austin  2 = (Default) left/right channels VMON[15:0], IMON [15:0].
32*9cf44690SBrian Austin  3 = Left/right channels VPMON[7:0], STATUS.
33*9cf44690SBrian Austin
34*9cf44690SBrian Austin  - cirrus,sdout-share : SDOUT sharing. Determines whether one or two CS35L32
35*9cf44690SBrian Austin  devices are on board sharing SDOUT.
36*9cf44690SBrian Austin  0 = (Default) One IC.
37*9cf44690SBrian Austin  1 = Two IC's.
38*9cf44690SBrian Austin
39*9cf44690SBrian Austin  - cirrus,battery-recovery : Low battery nominal recovery threshold, rising VP.
40*9cf44690SBrian Austin  0 = 3.1V
41*9cf44690SBrian Austin  1 = 3.2V
42*9cf44690SBrian Austin  2 = 3.3V (Default)
43*9cf44690SBrian Austin  3 = 3.4V
44*9cf44690SBrian Austin
45*9cf44690SBrian Austin  - cirrus,battery-threshold : Low battery nominal threshold, falling VP.
46*9cf44690SBrian Austin  0 = 3.1V
47*9cf44690SBrian Austin  1 = 3.2V
48*9cf44690SBrian Austin  2 = 3.3V
49*9cf44690SBrian Austin  3 = 3.4V (Default)
50*9cf44690SBrian Austin  4 = 3.5V
51*9cf44690SBrian Austin  5 = 3.6V
52*9cf44690SBrian Austin
53*9cf44690SBrian AustinExample:
54*9cf44690SBrian Austin
55*9cf44690SBrian Austincodec: codec@40 {
56*9cf44690SBrian Austin	compatible = "cirrus,cs35l32";
57*9cf44690SBrian Austin	reg = <0x40>;
58*9cf44690SBrian Austin	reset-gpios = <&gpio 10 0>;
59*9cf44690SBrian Austin	cirrus,boost-manager = <0x03>;
60*9cf44690SBrian Austin	cirrus,sdout-datacfg = <0x02>;
61*9cf44690SBrian Austin	VA-supply = <&reg_audio>;
62*9cf44690SBrian Austin};
63