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