summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/regulator/act8945a-regulator.txt
blob: 4017527619ab2df4b81fd911b1e2366e0873f3a0 (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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
Device-Tree bindings for regulators of Active-semi ACT8945A Multi-Function Device

Required properties:
 - compatible: "active-semi,act8945a", please refer to ../mfd/act8945a.txt.

Optional properties:
- active-semi,vsel-high: Indicates if the VSEL pin is set to logic-high.
  If this property is missing, assume the VSEL pin is set to logic-low.

Optional input supply properties:
  - vp1-supply: The input supply for REG_DCDC1
  - vp2-supply: The input supply for REG_DCDC2
  - vp3-supply: The input supply for REG_DCDC3
  - inl45-supply: The input supply for REG_LDO1 and REG_LDO2
  - inl67-supply: The input supply for REG_LDO3 and REG_LDO4

Any standard regulator properties can be used to configure the single regulator.
regulator-initial-mode, regulator-allowed-modes and regulator-mode could be
specified using mode values from dt-bindings/regulator/active-semi,8945a-regulator.h
file.

The valid names for regulators are:
	REG_DCDC1, REG_DCDC2, REG_DCDC3, REG_LDO1, REG_LDO2, REG_LDO3, REG_LDO4.

Example:

#include <dt-bindings/regulator/active-semi,8945a-regulator.h>

	pmic@5b {
		compatible = "active-semi,act8945a";
		reg = <0x5b>;

		active-semi,vsel-high;

		regulators {
			vdd_1v35_reg: REG_DCDC1 {
				regulator-name = "VDD_1V35";
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;

				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-min-microvolt=<1400000>;
					regulator-suspend-max-microvolt=<1400000>;
					regulator-changeable-in-suspend;
					regulator-mode=<ACT8945A_REGULATOR_MODE_LOWPOWER>;
				};
			};

			vdd_1v2_reg: REG_DCDC2 {
				regulator-name = "VDD_1V2";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;

				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_3v3_reg: REG_DCDC3 {
				regulator-name = "VDD_3V3";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_fuse_reg: REG_LDO1 {
				regulator-name = "VDD_FUSE";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;

				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_3v3_lp_reg: REG_LDO2 {
				regulator-name = "VDD_3V3_LP";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_led_reg: REG_LDO3 {
				regulator-name = "VDD_LED";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_sdhc_1v8_reg: REG_LDO4 {
				regulator-name = "VDD_SDHC_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};
		};
	};