blob: 451cc4e86b01898f85e4d218d6aa8b0bb4be9d96 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001MCP16502 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; this
8 property is optional;
9- regulators: A node that houses a sub-node for each regulator within
10 the device. Each sub-node is identified using the node's
11 name. The content of each sub-node is defined by the
12 standard binding for regulators; see regulator.txt.
13
14Regulators of MCP16502 PMIC:
151) VDD_IO - Buck (1.2 - 3.7 V)
162) VDD_DDR - Buck (0.6 - 1.85 V)
173) VDD_CORE - Buck (0.6 - 1.85 V)
184) VDD_OTHER - BUCK (0.6 - 1.85 V)
195) LDO1 - LDO (1.2 - 3.7 V)
206) LDO2 - LDO (1.2 - 3.7 V)
21
22Regulator modes:
232 - FPWM: higher precision, higher consumption
244 - AutoPFM: lower precision, lower consumption
25
26Each regulator is defined using the standard binding for regulators.
27
28Example:
29
30mcp16502@5b {
31 compatible = "microchip,mcp16502";
32 reg = <0x5b>;
33 status = "okay";
34 lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>;
35
36 regulators {
37 VDD_IO {
38 regulator-name = "VDD_IO";
39 regulator-min-microvolt = <1200000>;
40 regulator-max-microvolt = <3700000>;
41 regulator-initial-mode = <2>;
42 regulator-allowed-modes = <2>, <4>;
43 regulator-always-on;
44
45 regulator-state-standby {
46 regulator-on-in-suspend;
47 regulator-mode = <4>;
48 };
49
50 regulator-state-mem {
51 regulator-off-in-suspend;
52 regulator-mode = <4>;
53 };
54 };
55
56 VDD_DDR {
57 regulator-name = "VDD_DDR";
58 regulator-min-microvolt = <600000>;
59 regulator-max-microvolt = <1850000>;
60 regulator-initial-mode = <2>;
61 regulator-allowed-modes = <2>, <4>;
62 regulator-always-on;
63
64 regulator-state-standby {
65 regulator-on-in-suspend;
66 regulator-mode = <4>;
67 };
68
69 regulator-state-mem {
70 regulator-on-in-suspend;
71 regulator-mode = <4>;
72 };
73 };
74
75 VDD_CORE {
76 regulator-name = "VDD_CORE";
77 regulator-min-microvolt = <600000>;
78 regulator-max-microvolt = <1850000>;
79 regulator-initial-mode = <2>;
80 regulator-allowed-modes = <2>, <4>;
81 regulator-always-on;
82
83 regulator-state-standby {
84 regulator-on-in-suspend;
85 regulator-mode = <4>;
86 };
87
88 regulator-state-mem {
89 regulator-off-in-suspend;
90 regulator-mode = <4>;
91 };
92 };
93
94 VDD_OTHER {
95 regulator-name = "VDD_OTHER";
96 regulator-min-microvolt = <600000>;
97 regulator-max-microvolt = <1850000>;
98 regulator-initial-mode = <2>;
99 regulator-allowed-modes = <2>, <4>;
100 regulator-always-on;
101
102 regulator-state-standby {
103 regulator-on-in-suspend;
104 regulator-mode = <4>;
105 };
106
107 regulator-state-mem {
108 regulator-off-in-suspend;
109 regulator-mode = <4>;
110 };
111 };
112
113 LDO1 {
114 regulator-name = "LDO1";
115 regulator-min-microvolt = <1200000>;
116 regulator-max-microvolt = <3700000>;
117 regulator-always-on;
118
119 regulator-state-standby {
120 regulator-on-in-suspend;
121 };
122
123 regulator-state-mem {
124 regulator-off-in-suspend;
125 };
126 };
127
128 LDO2 {
129 regulator-name = "LDO2";
130 regulator-min-microvolt = <1200000>;
131 regulator-max-microvolt = <3700000>;
132 regulator-always-on;
133
134 regulator-state-standby {
135 regulator-on-in-suspend;
136 };
137
138 regulator-state-mem {
139 regulator-off-in-suspend;
140 };
141 };
142
143 };
144};