Merge tag 'jfs-3.20' of git://github.com/kleikamp/linux-shaggy
[pandora-kernel.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 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 Example:
80         max77693@66 {
81                 compatible = "maxim,max77693";
82                 reg = <0x66>;
83                 interrupt-parent = <&gpx1>;
84                 interrupts = <5 2>;
85
86                 regulators {
87                         esafeout@1 {
88                                 regulator-compatible = "ESAFEOUT1";
89                                 regulator-name = "ESAFEOUT1";
90                                 regulator-boot-on;
91                         };
92                         esafeout@2 {
93                                 regulator-compatible = "ESAFEOUT2";
94                                 regulator-name = "ESAFEOUT2";
95                                 };
96                         charger@0 {
97                                 regulator-compatible = "CHARGER";
98                                 regulator-name = "CHARGER";
99                                 regulator-min-microamp = <60000>;
100                                 regulator-max-microamp = <2580000>;
101                                         regulator-boot-on;
102                         };
103                 };
104
105                 haptic {
106                         compatible = "maxim,max77693-haptic";
107                         haptic-supply = <&haptic_supply>;
108                         pwms = <&pwm 0 40000 0>;
109                         pwm-names = "haptic";
110                 };
111
112                 charger {
113                         compatible = "maxim,max77693-charger";
114
115                         maxim,constant-microvolt = <4200000>;
116                         maxim,min-system-microvolt = <3600000>;
117                         maxim,thermal-regulation-celsius = <75>;
118                         maxim,battery-overcurrent-microamp = <3000000>;
119                         maxim,charge-input-threshold-microvolt = <4300000>;
120                 };
121         };