summaryrefslogtreecommitdiffstats
path: root/kernel/Documentation/devicetree/bindings/regulator/palmas-pmic.txt
blob: 725393c8a7f290f93de13fe5e0f69dd13e138560 (plain)
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
* palmas regulator IP block devicetree bindings

Required properties:
- compatible : Should be from the list
  ti,twl6035-pmic
  ti,twl6036-pmic
  ti,twl6037-pmic
  ti,tps65913-pmic
  ti,tps65914-pmic
  ti,tps65917-pmic
and also the generic series names
  ti,palmas-pmic
- interrupt-parent : The parent interrupt controller which is palmas.
- interrupts : The interrupt number and the type which can be looked up here:
	       arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
- interrupts-name: The names of the individual interrupts.

Optional properties:
- ti,ldo6-vibrator : ldo6 is in vibrator mode

Optional nodes:
- regulators : Must contain a sub-node per regulator from the list below.
	       Each sub-node should contain the constraints and initialization
	       information for that regulator. See regulator.txt for a
	       description of standard properties for these sub-nodes.
	       Additional custom properties  are listed below.

	       For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
	       smps45, smps457, smps7 depending on variant, smps6, smps[8-9],
	       smps10_out2, smps10_out1, ldo[1-9], ldoln, ldousb.

	       Optional sub-node properties:
	       ti,warm-reset - maintain voltage during warm reset(boolean)
	       ti,roof-floor - This takes as optional argument on platform supporting
	       the rail from desired external control. If there is no argument then
	       it will be assume that it is controlled by NSLEEP pin.
	       The valid value for external pins are:
			ENABLE1 then 1,
			ENABLE2 then 2 or
			NSLEEP then 3.
	       ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto,
	       2 - eco, 3 - forced pwm
	       ti,smps-range - OTP has the wrong range set for the hardware so override
	       0 - low range, 1 - high range.

- ti,system-power-controller: Telling whether or not this pmic is controlling
			      the system power.

Example:

#include <dt-bindings/interrupt-controller/irq.h>

pmic {
	compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
	interrupt-parent = <&palmas>;
	interrupts = <14 IRQ_TYPE_NONE>;
	interrupts-name = "short-irq";

	ti,ldo6-vibrator;

	ti,system-power-controller;

	regulators {
		smps12_reg : smps12 {
			regulator-name = "smps12";
			regulator-min-microvolt = < 600000>;
			regulator-max-microvolt = <1500000>;
			regulator-always-on;
			regulator-boot-on;
			ti,warm-reset;
			ti,roof-floor = <1>; /* ENABLE1 control */
			ti,mode-sleep = <0>;
			ti,smps-range = <1>;
		};

		ldo1_reg: ldo1 {
			regulator-name = "ldo1";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
		};
	};
};