1 Maxim MAX77693 multi-function device
3 MAX77693 is a Multifunction device with the following submodules:
10 It is interfaced to host controller using i2c.
11 This document describes the bindings for the mfd device.
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.
20 - regulators : The regulators of max77693 have to be instantiated under subnode
21 named "regulators" using the following format.
24 regulator-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER
25 standard regulator constraints[*].
28 [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
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.
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
41 To get more information, please refer to documentation.
42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
44 - charger : Node configuring the charger driver.
45 If present, required properties:
46 - compatible : Must be "maxim,max77693-charger".
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)
57 - maxim,min-system-microvolt : Minimal system voltage in uV.
58 Valid values: 3000000 - 3700000, step by 100000 (rounded down)
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
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)
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
76 Valid values: 4300000, 4700000, 4800000, 4900000
79 - led : the LED submodule device node
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
87 - compatible : Must be "maxim,max77693-led".
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.
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)
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)
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)
127 Optional properties for the LED child node:
128 - label : see Documentation/devicetree/bindings/leds/common.txt
131 #include <dt-bindings/leds/common.h>
134 compatible = "maxim,max77693";
136 interrupt-parent = <&gpx1>;
141 regulator-compatible = "ESAFEOUT1";
142 regulator-name = "ESAFEOUT1";
146 regulator-compatible = "ESAFEOUT2";
147 regulator-name = "ESAFEOUT2";
150 regulator-compatible = "CHARGER";
151 regulator-name = "CHARGER";
152 regulator-min-microamp = <60000>;
153 regulator-max-microamp = <2580000>;
159 compatible = "maxim,max77693-haptic";
160 haptic-supply = <&haptic_supply>;
161 pwms = <&pwm 0 40000 0>;
162 pwm-names = "haptic";
166 compatible = "maxim,max77693-charger";
168 maxim,constant-microvolt = <4200000>;
169 maxim,min-system-microvolt = <3600000>;
170 maxim,thermal-regulation-celsius = <75>;
171 maxim,battery-overcurrent-microamp = <3000000>;
172 maxim,charge-input-threshold-microvolt = <4300000>;
175 compatible = "maxim,max77693-led";
176 maxim,boost-mode = <LEDS_BOOST_FIXED>;
177 maxim,boost-mvout = <5000>;
178 maxim,mvsys-min = <2400>;
180 camera_flash: flash-led {
181 label = "max77693-flash";
182 led-sources = <0>, <1>;
183 led-max-microamp = <500000>;
184 flash-max-microamp = <1250000>;
185 flash-max-timeout-us = <1000000>;