Merge tag 'for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / regulator / mcp16502-regulator.txt
1 MCP16502 PMIC
2
3 Required 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
14 Regulators of MCP16502 PMIC:
15 1) VDD_IO       - Buck (1.2 - 3.7 V)
16 2) VDD_DDR      - Buck (0.6 - 1.85 V)
17 3) VDD_CORE     - Buck (0.6 - 1.85 V)
18 4) VDD_OTHER    - BUCK (0.6 - 1.85 V)
19 5) LDO1         - LDO  (1.2 - 3.7 V)
20 6) LDO2         - LDO  (1.2 - 3.7 V)
21
22 Regulator modes:
23 2 - FPWM: higher precision, higher consumption
24 4 - AutoPFM: lower precision, lower consumption
25
26 Each regulator is defined using the standard binding for regulators.
27
28 Example:
29
30 mcp16502@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 };