Maxim MAX77693 multi-function device MAX77693 is a Multifunction device with the following submodules: - PMIC, - CHARGER, - LED, - MUIC, - HAPTIC It is interfaced to host controller using i2c. This document describes the bindings for the mfd device. Required properties: - compatible : Must be "maxim,max77693". - reg : Specifies the i2c slave address of PMIC block. - interrupts : This i2c device has an IRQ line connected to the main SoC. - interrupt-parent : The parent interrupt controller. Optional properties: - regulators : The regulators of max77693 have to be instantiated under subnod named "regulators" using the following format. regulators { regualtor-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER standard regulator constratints[*]. }; [*] refer Documentation/devicetree/bindings/regulator/regulator.txt - haptic : The MAX77693 haptic device utilises a PWM controlled motor to provide users with tactile feedback. PWM period and duty-cycle are varied in order to provide the approprite level of feedback. Required properties: - compatible : Must be "maxim,max77693-hpatic" - haptic-supply : power supply for the haptic motor [*] refer Documentation/devicetree/bindings/regulator/regulator.txt - pwms : phandle to the physical PWM(Pulse Width Modulation) device. PWM properties should be named "pwms". And number of cell is different for each pwm device. To get more informations, please refer to documentaion. [*] refer Documentation/devicetree/bindings/pwm/pwm.txt - charger : Node configuring the charger driver. If present, required properties: - compatible : Must be "maxim,max77693-charger". Optional properties (if not set, defaults will be used): - maxim,constant-microvolt : Battery constant voltage in uV. The charger will operate in fast charge constant current mode till battery voltage reaches this level. Then the charger will switch to fast charge constant voltage mode. Also vsys (system voltage) will be set to this value when DC power is supplied but charger is not enabled. Valid values: 3650000 - 4400000, step by 25000 (rounded down) Default: 4200000 - maxim,min-system-microvolt : Minimal system voltage in uV. Valid values: 3000000 - 3700000, step by 100000 (rounded down) Default: 3600000 - maxim,thermal-regulation-celsius : Temperature in Celsius for entering high temperature charging mode. If die temperature exceeds this value the charging current will be reduced by 105 mA/Celsius. Valid values: 70, 85, 100, 115 Default: 100 - maxim,battery-overcurrent-microamp : Overcurrent protection threshold in uA (current from battery to system). Valid values: 2000000 - 3500000, step by 250000 (rounded down) Default: 3500000 - maxim,charge-input-threshold-microvolt : Threshold voltage in uV for triggering input voltage regulation loop. If input voltage decreases below this value, the input current will be reduced to reach the threshold voltage. Valid values: 4300000, 4700000, 4800000, 4900000 Default: 4300000 Example: max77693@66 { compatible = "maxim,max77693"; reg = <0x66>; interrupt-parent = <&gpx1>; interrupts = <5 2>; regulators { esafeout@1 { regulator-compatible = "ESAFEOUT1"; regulator-name = "ESAFEOUT1"; regulator-boot-on; }; esafeout@2 { regulator-compatible = "ESAFEOUT2"; regulator-name = "ESAFEOUT2"; }; charger@0 { regulator-compatible = "CHARGER"; regulator-name = "CHARGER"; regulator-min-microamp = <60000>; regulator-max-microamp = <2580000>; regulator-boot-on; }; }; haptic { compatible = "maxim,max77693-haptic"; haptic-supply = <&haptic_supply>; pwms = <&pwm 0 40000 0>; pwm-names = "haptic"; }; charger { compatible = "maxim,max77693-charger"; maxim,constant-microvolt = <4200000>; maxim,min-system-microvolt = <3600000>; maxim,thermal-regulation-celsius = <75>; maxim,battery-overcurrent-microamp = <3000000>; maxim,charge-input-threshold-microvolt = <4300000>; }; };