Merge tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / mfd / max77693.txt
1 Maxim MAX77693 multi-function device
2
3 MAX77693 is a Multifunction device with the following submodules:
4 - PMIC,
5 - CHARGER,
6 - LED,
7 - MUIC,
8 - HAPTIC
9
10 It is interfaced to host controller using i2c.
11 This document describes the bindings for the mfd device.
12
13 Required properties:
14 - compatible : Must be "maxim,max77693".
15 - reg : Specifies the i2c slave address of PMIC block.
16 - interrupts : This i2c device has an IRQ line connected to the main SoC.
17
18 Optional properties:
19 - regulators : The regulators of max77693 have to be instantiated under subnode
20   named "regulators" using the following format.
21
22         regulators {
23                 regulator-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER
24                 standard regulator constraints[*].
25         };
26
27         [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
28
29 - haptic : The MAX77693 haptic device utilises a PWM controlled motor to provide
30   users with tactile feedback. PWM period and duty-cycle are varied in
31   order to provide the appropriate level of feedback.
32
33  Required properties:
34         - compatible : Must be "maxim,max77693-haptic"
35         - haptic-supply : power supply for the haptic motor
36         [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
37         - pwms : phandle to the physical PWM(Pulse Width Modulation) device.
38          PWM properties should be named "pwms". And number of cell is different
39          for each pwm device.
40          To get more information, please refer to documentation.
41         [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
42
43 - charger : Node configuring the charger driver.
44   If present, required properties:
45   - compatible : Must be "maxim,max77693-charger".
46
47   Optional properties (if not set, defaults will be used):
48   - maxim,constant-microvolt : Battery constant voltage in uV. The charger
49     will operate in fast charge constant current mode till battery voltage
50     reaches this level. Then the charger will switch to fast charge constant
51     voltage mode. Also vsys (system voltage) will be set to this value when
52     DC power is supplied but charger is not enabled.
53     Valid values: 3650000 - 4400000, step by 25000 (rounded down)
54     Default: 4200000
55
56   - maxim,min-system-microvolt : Minimal system voltage in uV.
57     Valid values: 3000000 - 3700000, step by 100000 (rounded down)
58     Default: 3600000
59
60   - maxim,thermal-regulation-celsius : Temperature in Celsius for entering
61     high temperature charging mode. If die temperature exceeds this value
62     the charging current will be reduced by 105 mA/Celsius.
63     Valid values: 70, 85, 100, 115
64     Default: 100
65
66   - maxim,battery-overcurrent-microamp : Overcurrent protection threshold
67     in uA (current from battery to system).
68     Valid values: 2000000 - 3500000, step by 250000 (rounded down)
69     Default: 3500000
70
71   - maxim,charge-input-threshold-microvolt : Threshold voltage in uV for
72     triggering input voltage regulation loop. If input voltage decreases
73     below this value, the input current will be reduced to reach the
74     threshold voltage.
75     Valid values: 4300000, 4700000, 4800000, 4900000
76     Default: 4300000
77
78 - led : the LED submodule device node
79
80 There are two LED outputs available - FLED1 and FLED2. Each of them can
81 control a separate LED or they can be connected together to double
82 the maximum current for a single connected LED. One LED is represented
83 by one child node.
84
85 Required properties:
86 - compatible : Must be "maxim,max77693-led".
87
88 Optional properties:
89 - maxim,boost-mode :
90         In boost mode the device can produce up to 1.2A of total current
91         on both outputs. The maximum current on each output is reduced
92         to 625mA then. If not enabled explicitly, boost setting defaults to
93         LEDS_BOOST_FIXED in case both current sources are used.
94         Possible values:
95                 LEDS_BOOST_OFF (0) - no boost,
96                 LEDS_BOOST_ADAPTIVE (1) - adaptive mode,
97                 LEDS_BOOST_FIXED (2) - fixed mode.
98 - maxim,boost-mvout : Output voltage of the boost module in millivolts.
99         Valid values: 3300 - 5500, step by 25 (rounded down)
100         Default: 3300
101 - maxim,mvsys-min : Low input voltage level in millivolts. Flash is not fired
102         if chip estimates that system voltage could drop below this level due
103         to flash power consumption.
104         Valid values: 2400 - 3400, step by 33 (rounded down)
105         Default: 2400
106
107 Required properties for the LED child node:
108 - led-sources : see Documentation/devicetree/bindings/leds/common.txt;
109                 device current output identifiers: 0 - FLED1, 1 - FLED2
110 - led-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
111         Valid values for a LED connected to one FLED output:
112                 15625 - 250000, step by 15625 (rounded down)
113         Valid values for a LED connected to both FLED outputs:
114                 15625 - 500000, step by 15625 (rounded down)
115 - flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
116         Valid values for a single LED connected to one FLED output
117         (boost mode must be turned off):
118                 15625 - 1000000, step by 15625 (rounded down)
119         Valid values for a single LED connected to both FLED outputs:
120                 15625 - 1250000, step by 15625 (rounded down)
121         Valid values for two LEDs case:
122                 15625 - 625000, step by 15625 (rounded down)
123 - flash-max-timeout-us : see Documentation/devicetree/bindings/leds/common.txt
124         Valid values: 62500 - 1000000, step by 62500 (rounded down)
125
126 Optional properties for the LED child node:
127 - label : see Documentation/devicetree/bindings/leds/common.txt
128
129 Optional nodes:
130 - max77693-muic :
131         Node used only by extcon consumers.
132         Required properties:
133                 - compatible : "maxim,max77693-muic"
134
135 Example:
136 #include <dt-bindings/leds/common.h>
137
138         max77693@66 {
139                 compatible = "maxim,max77693";
140                 reg = <0x66>;
141                 interrupt-parent = <&gpx1>;
142                 interrupts = <5 2>;
143
144                 regulators {
145                         esafeout@1 {
146                                 regulator-compatible = "ESAFEOUT1";
147                                 regulator-name = "ESAFEOUT1";
148                                 regulator-boot-on;
149                         };
150                         esafeout@2 {
151                                 regulator-compatible = "ESAFEOUT2";
152                                 regulator-name = "ESAFEOUT2";
153                                 };
154                         charger@0 {
155                                 regulator-compatible = "CHARGER";
156                                 regulator-name = "CHARGER";
157                                 regulator-min-microamp = <60000>;
158                                 regulator-max-microamp = <2580000>;
159                                         regulator-boot-on;
160                         };
161                 };
162
163                 haptic {
164                         compatible = "maxim,max77693-haptic";
165                         haptic-supply = <&haptic_supply>;
166                         pwms = <&pwm 0 40000 0>;
167                         pwm-names = "haptic";
168                 };
169
170                 charger {
171                         compatible = "maxim,max77693-charger";
172
173                         maxim,constant-microvolt = <4200000>;
174                         maxim,min-system-microvolt = <3600000>;
175                         maxim,thermal-regulation-celsius = <75>;
176                         maxim,battery-overcurrent-microamp = <3000000>;
177                         maxim,charge-input-threshold-microvolt = <4300000>;
178
179                 led {
180                         compatible = "maxim,max77693-led";
181                         maxim,boost-mode = <LEDS_BOOST_FIXED>;
182                         maxim,boost-mvout = <5000>;
183                         maxim,mvsys-min = <2400>;
184
185                         camera_flash: flash-led {
186                                 label = "max77693-flash";
187                                 led-sources = <0>, <1>;
188                                 led-max-microamp = <500000>;
189                                 flash-max-microamp = <1250000>;
190                                 flash-max-timeout-us = <1000000>;
191                         };
192                 };
193         };