1MCP16502 PMIC
2
3Required properties:
4- compatible: "microchip,mcp16502"
5- reg: I2C slave address
6- lpm-gpios: GPIO for LPM pin. Note that this GPIO *must* remain high during
7	     suspend-to-ram, keeping the PMIC into HIBERNATE mode.
8- regulators: A node that houses a sub-node for each regulator within
9              the device. Each sub-node is identified using the node's
10              name. The content of each sub-node is defined by the
11              standard binding for regulators; see regulator.txt.
12
13Regualtors of MCP16502 PMIC:
141) VDD_IO	- Buck (1.2 - 3.7 V)
152) VDD_DDR	- Buck (0.6 - 1.85 V)
163) VDD_CORE	- Buck (0.6 - 1.85 V)
174) VDD_OTHER	- BUCK (0.6 - 1.85 V)
185) LDO1		- LDO  (1.2 - 3.7 V)
196) LDO2		- LDO  (1.2 - 3.7 V)
20
21Regulator modes:
222 - FPWM: higher precision, higher consumption
234 - AutoPFM: lower precision, lower consumption
24
25Each regulator is defined using the standard binding for regulators.
26
27Example:
28
29mcp16502@5b {
30	compatible = "microchip,mcp16502";
31	reg = <0x5b>;
32	status = "okay";
33	lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>;
34
35	regulators {
36		VDD_IO {
37			regulator-name = "VDD_IO";
38			regulator-min-microvolt = <1200000>;
39			regulator-max-microvolt = <3700000>;
40			regulator-initial-mode = <2>;
41			regulator-allowed-modes = <2>, <4>;
42			regulator-always-on;
43
44			regulator-state-standby {
45				regulator-on-in-suspend;
46				regulator-mode = <4>;
47			};
48
49			regulator-state-mem {
50				regulator-off-in-suspend;
51				regulator-mode = <4>;
52			};
53		};
54
55		VDD_DDR {
56			regulator-name = "VDD_DDR";
57			regulator-min-microvolt = <600000>;
58			regulator-max-microvolt = <1850000>;
59			regulator-initial-mode = <2>;
60			regulator-allowed-modes = <2>, <4>;
61			regulator-always-on;
62
63			regulator-state-standby {
64				regulator-on-in-suspend;
65				regulator-mode = <4>;
66			};
67
68			regulator-state-mem {
69				regulator-on-in-suspend;
70				regulator-mode = <4>;
71			};
72		};
73
74		VDD_CORE {
75			regulator-name = "VDD_CORE";
76			regulator-min-microvolt = <600000>;
77			regulator-max-microvolt = <1850000>;
78			regulator-initial-mode = <2>;
79			regulator-allowed-modes = <2>, <4>;
80			regulator-always-on;
81
82			regulator-state-standby {
83				regulator-on-in-suspend;
84				regulator-mode = <4>;
85			};
86
87			regulator-state-mem {
88				regulator-off-in-suspend;
89				regulator-mode = <4>;
90			};
91		};
92
93		VDD_OTHER {
94			regulator-name = "VDD_OTHER";
95			regulator-min-microvolt = <600000>;
96			regulator-max-microvolt = <1850000>;
97			regulator-initial-mode = <2>;
98			regulator-allowed-modes = <2>, <4>;
99			regulator-always-on;
100
101			regulator-state-standby {
102				regulator-on-in-suspend;
103				regulator-mode = <4>;
104			};
105
106			regulator-state-mem {
107				regulator-off-in-suspend;
108				regulator-mode = <4>;
109			};
110		};
111
112		LDO1 {
113			regulator-name = "LDO1";
114			regulator-min-microvolt = <1200000>;
115			regulator-max-microvolt = <3700000>;
116			regulator-always-on;
117
118			regulator-state-standby {
119				regulator-on-in-suspend;
120			};
121
122			regulator-state-mem {
123				regulator-off-in-suspend;
124			};
125		};
126
127		LDO2 {
128			regulator-name = "LDO2";
129			regulator-min-microvolt = <1200000>;
130			regulator-max-microvolt = <3700000>;
131			regulator-always-on;
132
133			regulator-state-standby {
134				regulator-on-in-suspend;
135			};
136
137			regulator-state-mem {
138				regulator-off-in-suspend;
139			};
140		};
141
142	};
143};
144