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- interrupt-parent : The parent interrupt controller. 18 19Optional properties: 20- regulators : The regulators of max77693 have to be instantiated under subnod 21 named "regulators" using the following format. 22 23 regulators { 24 regualtor-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER 25 standard regulator constratints[*]. 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 approprite level of feedback. 33 34 Required properties: 35 - compatible : Must be "maxim,max77693-hpatic" 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 informations, please refer to documentaion. 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 81There are two LED outputs available - FLED1 and FLED2. Each of them can 82control a separate LED or they can be connected together to double 83the maximum current for a single connected LED. One LED is represented 84by one child node. 85 86Required properties: 87- compatible : Must be "maxim,max77693-led". 88 89Optional 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 108Required 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 127Optional properties for the LED child node: 128- label : see Documentation/devicetree/bindings/leds/common.txt 129 130Example: 131#include <dt-bindings/leds/common.h> 132 133 max77693@66 { 134 compatible = "maxim,max77693"; 135 reg = <0x66>; 136 interrupt-parent = <&gpx1>; 137 interrupts = <5 2>; 138 139 regulators { 140 esafeout@1 { 141 regulator-compatible = "ESAFEOUT1"; 142 regulator-name = "ESAFEOUT1"; 143 regulator-boot-on; 144 }; 145 esafeout@2 { 146 regulator-compatible = "ESAFEOUT2"; 147 regulator-name = "ESAFEOUT2"; 148 }; 149 charger@0 { 150 regulator-compatible = "CHARGER"; 151 regulator-name = "CHARGER"; 152 regulator-min-microamp = <60000>; 153 regulator-max-microamp = <2580000>; 154 regulator-boot-on; 155 }; 156 }; 157 158 haptic { 159 compatible = "maxim,max77693-haptic"; 160 haptic-supply = <&haptic_supply>; 161 pwms = <&pwm 0 40000 0>; 162 pwm-names = "haptic"; 163 }; 164 165 charger { 166 compatible = "maxim,max77693-charger"; 167 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>; 173 174 led { 175 compatible = "maxim,max77693-led"; 176 maxim,boost-mode = <LEDS_BOOST_FIXED>; 177 maxim,boost-mvout = <5000>; 178 maxim,mvsys-min = <2400>; 179 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>; 186 }; 187 }; 188 }; 189