xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/regulator/palmas-pmic.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* palmas regulator IP block devicetree bindings
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunThe tps659038 for the AM57x class have OTP spins that
4*4882a593Smuzhiyunhave different part numbers but the same functionality. There
5*4882a593Smuzhiyunis not a need to add the OTP spins to the palmas driver. The
6*4882a593Smuzhiyunspin devices should use the tps659038 as it's compatible value.
7*4882a593SmuzhiyunThis is the list of those devices:
8*4882a593Smuzhiyuntps659037
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunRequired properties:
11*4882a593Smuzhiyun- compatible : Should be from the list
12*4882a593Smuzhiyun  ti,twl6035-pmic
13*4882a593Smuzhiyun  ti,twl6036-pmic
14*4882a593Smuzhiyun  ti,twl6037-pmic
15*4882a593Smuzhiyun  ti,tps65913-pmic
16*4882a593Smuzhiyun  ti,tps65914-pmic
17*4882a593Smuzhiyun  ti,tps65917-pmic
18*4882a593Smuzhiyun  ti,tps659038-pmic
19*4882a593Smuzhiyunand also the generic series names
20*4882a593Smuzhiyun  ti,palmas-pmic
21*4882a593Smuzhiyun- interrupts : The interrupt number and the type which can be looked up here:
22*4882a593Smuzhiyun	       arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
23*4882a593Smuzhiyun- interrupts-name: The names of the individual interrupts.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunOptional properties:
26*4882a593Smuzhiyun- ti,ldo6-vibrator : ldo6 is in vibrator mode
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunOptional nodes:
29*4882a593Smuzhiyun- regulators : Must contain a sub-node per regulator from the list below.
30*4882a593Smuzhiyun	       Each sub-node should contain the constraints and initialization
31*4882a593Smuzhiyun	       information for that regulator. See regulator.txt for a
32*4882a593Smuzhiyun	       description of standard properties for these sub-nodes.
33*4882a593Smuzhiyun	       Additional custom properties  are listed below.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	       For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
36*4882a593Smuzhiyun	       smps45, smps457, smps7 depending on variant, smps6, smps[8-9],
37*4882a593Smuzhiyun	       smps10_out2, smps10_out1, ldo[1-9], ldoln, ldousb.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	       Optional sub-node properties:
40*4882a593Smuzhiyun	       ti,warm-reset - maintain voltage during warm reset(boolean)
41*4882a593Smuzhiyun	       ti,roof-floor - This takes as optional argument on platform supporting
42*4882a593Smuzhiyun	       the rail from desired external control. If there is no argument then
43*4882a593Smuzhiyun	       it will be assume that it is controlled by NSLEEP pin.
44*4882a593Smuzhiyun	       The valid value for external pins are:
45*4882a593Smuzhiyun			ENABLE1 then 1,
46*4882a593Smuzhiyun			ENABLE2 then 2 or
47*4882a593Smuzhiyun			NSLEEP then 3.
48*4882a593Smuzhiyun	       ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto,
49*4882a593Smuzhiyun	       2 - eco, 3 - forced pwm
50*4882a593Smuzhiyun	       ti,smps-range - OTP has the wrong range set for the hardware so override
51*4882a593Smuzhiyun	       0 - low range, 1 - high range.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun- ti,system-power-controller: Telling whether or not this pmic is controlling
54*4882a593Smuzhiyun			      the system power.
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunExample:
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
59*4882a593Smuzhiyun
60*4882a593Smuzhiyunpmic {
61*4882a593Smuzhiyun	compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
62*4882a593Smuzhiyun	interrupt-parent = <&palmas>;
63*4882a593Smuzhiyun	interrupts = <14 IRQ_TYPE_NONE>;
64*4882a593Smuzhiyun	interrupts-name = "short-irq";
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun	ti,ldo6-vibrator;
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	ti,system-power-controller;
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	regulators {
71*4882a593Smuzhiyun		smps12_reg : smps12 {
72*4882a593Smuzhiyun			regulator-name = "smps12";
73*4882a593Smuzhiyun			regulator-min-microvolt = < 600000>;
74*4882a593Smuzhiyun			regulator-max-microvolt = <1500000>;
75*4882a593Smuzhiyun			regulator-always-on;
76*4882a593Smuzhiyun			regulator-boot-on;
77*4882a593Smuzhiyun			ti,warm-reset;
78*4882a593Smuzhiyun			ti,roof-floor = <1>; /* ENABLE1 control */
79*4882a593Smuzhiyun			ti,mode-sleep = <0>;
80*4882a593Smuzhiyun			ti,smps-range = <1>;
81*4882a593Smuzhiyun		};
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun		ldo1_reg: ldo1 {
84*4882a593Smuzhiyun			regulator-name = "ldo1";
85*4882a593Smuzhiyun			regulator-min-microvolt = <2800000>;
86*4882a593Smuzhiyun			regulator-max-microvolt = <2800000>;
87*4882a593Smuzhiyun		};
88*4882a593Smuzhiyun	};
89*4882a593Smuzhiyun};
90