xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/regulator/act8945a-regulator.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunDevice-Tree bindings for regulators of Active-semi ACT8945A Multi-Function Device
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun - compatible: "active-semi,act8945a", please refer to ../mfd/act8945a.txt.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunOptional properties:
7*4882a593Smuzhiyun- active-semi,vsel-high: Indicates if the VSEL pin is set to logic-high.
8*4882a593Smuzhiyun  If this property is missing, assume the VSEL pin is set to logic-low.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunOptional input supply properties:
11*4882a593Smuzhiyun  - vp1-supply: The input supply for REG_DCDC1
12*4882a593Smuzhiyun  - vp2-supply: The input supply for REG_DCDC2
13*4882a593Smuzhiyun  - vp3-supply: The input supply for REG_DCDC3
14*4882a593Smuzhiyun  - inl45-supply: The input supply for REG_LDO1 and REG_LDO2
15*4882a593Smuzhiyun  - inl67-supply: The input supply for REG_LDO3 and REG_LDO4
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunAny standard regulator properties can be used to configure the single regulator.
18*4882a593Smuzhiyunregulator-initial-mode, regulator-allowed-modes and regulator-mode could be
19*4882a593Smuzhiyunspecified using mode values from dt-bindings/regulator/active-semi,8945a-regulator.h
20*4882a593Smuzhiyunfile.
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunThe valid names for regulators are:
23*4882a593Smuzhiyun	REG_DCDC1, REG_DCDC2, REG_DCDC3, REG_LDO1, REG_LDO2, REG_LDO3, REG_LDO4.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunExample:
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun#include <dt-bindings/regulator/active-semi,8945a-regulator.h>
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	pmic@5b {
30*4882a593Smuzhiyun		compatible = "active-semi,act8945a";
31*4882a593Smuzhiyun		reg = <0x5b>;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun		active-semi,vsel-high;
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun		regulators {
36*4882a593Smuzhiyun			vdd_1v35_reg: REG_DCDC1 {
37*4882a593Smuzhiyun				regulator-name = "VDD_1V35";
38*4882a593Smuzhiyun				regulator-min-microvolt = <1350000>;
39*4882a593Smuzhiyun				regulator-max-microvolt = <1350000>;
40*4882a593Smuzhiyun				regulator-always-on;
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
43*4882a593Smuzhiyun							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
44*4882a593Smuzhiyun				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun				regulator-state-mem {
47*4882a593Smuzhiyun					regulator-on-in-suspend;
48*4882a593Smuzhiyun					regulator-suspend-min-microvolt=<1400000>;
49*4882a593Smuzhiyun					regulator-suspend-max-microvolt=<1400000>;
50*4882a593Smuzhiyun					regulator-changeable-in-suspend;
51*4882a593Smuzhiyun					regulator-mode=<ACT8945A_REGULATOR_MODE_LOWPOWER>;
52*4882a593Smuzhiyun				};
53*4882a593Smuzhiyun			};
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun			vdd_1v2_reg: REG_DCDC2 {
56*4882a593Smuzhiyun				regulator-name = "VDD_1V2";
57*4882a593Smuzhiyun				regulator-min-microvolt = <1100000>;
58*4882a593Smuzhiyun				regulator-max-microvolt = <1300000>;
59*4882a593Smuzhiyun				regulator-always-on;
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
62*4882a593Smuzhiyun							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
63*4882a593Smuzhiyun				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun				regulator-state-mem {
66*4882a593Smuzhiyun					regulator-off-in-suspend;
67*4882a593Smuzhiyun				};
68*4882a593Smuzhiyun			};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun			vdd_3v3_reg: REG_DCDC3 {
71*4882a593Smuzhiyun				regulator-name = "VDD_3V3";
72*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
73*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
74*4882a593Smuzhiyun				regulator-always-on;
75*4882a593Smuzhiyun			};
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun			vdd_fuse_reg: REG_LDO1 {
78*4882a593Smuzhiyun				regulator-name = "VDD_FUSE";
79*4882a593Smuzhiyun				regulator-min-microvolt = <2500000>;
80*4882a593Smuzhiyun				regulator-max-microvolt = <2500000>;
81*4882a593Smuzhiyun				regulator-always-on;
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
84*4882a593Smuzhiyun							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
85*4882a593Smuzhiyun				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun				regulator-state-mem {
88*4882a593Smuzhiyun					regulator-off-in-suspend;
89*4882a593Smuzhiyun				};
90*4882a593Smuzhiyun			};
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun			vdd_3v3_lp_reg: REG_LDO2 {
93*4882a593Smuzhiyun				regulator-name = "VDD_3V3_LP";
94*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
95*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
96*4882a593Smuzhiyun				regulator-always-on;
97*4882a593Smuzhiyun			};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun			vdd_led_reg: REG_LDO3 {
100*4882a593Smuzhiyun				regulator-name = "VDD_LED";
101*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
102*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
103*4882a593Smuzhiyun				regulator-always-on;
104*4882a593Smuzhiyun			};
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun			vdd_sdhc_1v8_reg: REG_LDO4 {
107*4882a593Smuzhiyun				regulator-name = "VDD_SDHC_1V8";
108*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
109*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
110*4882a593Smuzhiyun				regulator-always-on;
111*4882a593Smuzhiyun			};
112*4882a593Smuzhiyun		};
113*4882a593Smuzhiyun	};
114