1Maxim MAX77693 multi-function device 2 3MAX77693 is a Multifunction device with the following submodules: 4- PMIC, 5- CHARGER, 6- LED, 7- MUIC, 8- HAPTIC 9 10It is interfaced to host controller using i2c. 11This document describes the bindings for the mfd device. 12 13Required 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 18Optional 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 80There are two LED outputs available - FLED1 and FLED2. Each of them can 81control a separate LED or they can be connected together to double 82the maximum current for a single connected LED. One LED is represented 83by one child node. 84 85Required properties: 86- compatible : Must be "maxim,max77693-led". 87 88Optional 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 107Required 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 126Optional properties for the LED child node: 127- label : see Documentation/devicetree/bindings/leds/common.txt 128 129Optional nodes: 130- max77693-muic : 131 Node used only by extcon consumers. 132 Required properties: 133 - compatible : "maxim,max77693-muic" 134 135Example: 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 IRQ_TYPE_LEVEL_LOW>; 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 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 }; 195