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