aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/mfd/max77686.txt
blob: e39f0bc1f55e02ccd705b85ae96714fd0a7e5263 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Maxim MAX77686 multi-function device

MAX77686 is a Mulitifunction device with PMIC, RTC and Charger on chip. It is
interfaced to host controller using i2c interface. PMIC and Charger submodules
are addressed using same i2c slave address whereas RTC submodule uses
different i2c slave address,presently for which we are statically creating i2c
client while probing.This document describes the binding for mfd device and
PMIC submodule.

Binding for the built-in 32k clock generator block is defined separately
in bindings/clk/maxim,max77686.txt file.

Required properties:
- compatible : Must be "maxim,max77686";
- 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 node:
- voltage-regulators : The regulators of max77686 have to be instantiated
  under subnode named "voltage-regulators" using the following format.

	regulator_name {
		regulator-compatible = LDOn/BUCKn
		standard regulator constraints....
	};
	refer Documentation/devicetree/bindings/regulator/regulator.txt

  The regulator-compatible property of regulator should initialized with string
to get matched with their hardware counterparts as follow:

	-LDOn 	:	for LDOs, where n can lie in range 1 to 26.
		 	example: LDO1, LDO2, LDO26.
	-BUCKn 	:	for BUCKs, where n can lie in range 1 to 9.
			example: BUCK1, BUCK5, BUCK9.

  Regulators which can be turned off during system suspend:
	-LDOn	:	2, 6-8, 10-12, 14-16,
	-BUCKn	:	1-4.
  Use standard regulator bindings for it ('regulator-off-in-suspend').

  LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
  control. To turn this feature on this property must be added to the regulator
  sub-node:
	- maxim,ena-gpios :	one GPIO specifier enable control (the gpio
				flags are actually ignored and always
				ACTIVE_HIGH is used)

Example:

	max77686@09 {
		compatible = "maxim,max77686";
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 0>;
		reg = <0x09>;

		voltage-regulators {
			ldo11_reg {
				regulator-compatible = "LDO11";
				regulator-name = "vdd_ldo11";
				regulator-min-microvolt = <1900000>;
				regulator-max-microvolt = <1900000>;
				regulator-always-on;
			};

			buck1_reg {
				regulator-compatible = "BUCK1";
				regulator-name = "vdd_mif";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck9_reg {
				regulator-compatible = "BUCK9";
				regulator-name = "CAM_ISP_CORE_1.2V";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1200000>;
				maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
			};
	}