Merge remote-tracking branches 'regulator/fix/88pm800', 'regulator/fix/max8973',...
[linux-drm-fsl-dcu.git] / Documentation / devicetree / bindings / mfd / max77686.txt
1 Maxim MAX77686 multi-function device
2
3 MAX77686 is a Multifunction device with PMIC, RTC and Charger on chip. It is
4 interfaced to host controller using i2c interface. PMIC and Charger submodules
5 are addressed using same i2c slave address whereas RTC submodule uses
6 different i2c slave address,presently for which we are statically creating i2c
7 client while probing.This document describes the binding for mfd device and
8 PMIC submodule.
9
10 Binding for the built-in 32k clock generator block is defined separately
11 in bindings/clk/maxim,max77686.txt file.
12
13 Required properties:
14 - compatible : Must be "maxim,max77686";
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 node:
20 - voltage-regulators : The regulators of max77686 have to be instantiated
21   under subnode named "voltage-regulators" using the following format.
22
23         regulator_name {
24                 regulator-compatible = LDOn/BUCKn
25                 standard regulator constraints....
26         };
27         refer Documentation/devicetree/bindings/regulator/regulator.txt
28
29   The regulator-compatible property of regulator should initialized with string
30 to get matched with their hardware counterparts as follow:
31
32         -LDOn   :       for LDOs, where n can lie in range 1 to 26.
33                         example: LDO1, LDO2, LDO26.
34         -BUCKn  :       for BUCKs, where n can lie in range 1 to 9.
35                         example: BUCK1, BUCK5, BUCK9.
36
37   Regulators which can be turned off during system suspend:
38         -LDOn   :       2, 6-8, 10-12, 14-16,
39         -BUCKn  :       1-4.
40   Use standard regulator bindings for it ('regulator-off-in-suspend').
41
42   LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
43   control. To turn this feature on this property must be added to the regulator
44   sub-node:
45         - maxim,ena-gpios :     one GPIO specifier enable control (the gpio
46                                 flags are actually ignored and always
47                                 ACTIVE_HIGH is used)
48
49 Example:
50
51         max77686@09 {
52                 compatible = "maxim,max77686";
53                 interrupt-parent = <&wakeup_eint>;
54                 interrupts = <26 0>;
55                 reg = <0x09>;
56
57                 voltage-regulators {
58                         ldo11_reg {
59                                 regulator-compatible = "LDO11";
60                                 regulator-name = "vdd_ldo11";
61                                 regulator-min-microvolt = <1900000>;
62                                 regulator-max-microvolt = <1900000>;
63                                 regulator-always-on;
64                         };
65
66                         buck1_reg {
67                                 regulator-compatible = "BUCK1";
68                                 regulator-name = "vdd_mif";
69                                 regulator-min-microvolt = <950000>;
70                                 regulator-max-microvolt = <1300000>;
71                                 regulator-always-on;
72                                 regulator-boot-on;
73                         };
74
75                         buck9_reg {
76                                 regulator-compatible = "BUCK9";
77                                 regulator-name = "CAM_ISP_CORE_1.2V";
78                                 regulator-min-microvolt = <1000000>;
79                                 regulator-max-microvolt = <1200000>;
80                                 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
81                         };
82         }