Merge tag 'Smack-for-5.11-io_uring-fix' of git://github.com/cschaufler/smack-next
[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.
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
13 Regulators of MCP16502 PMIC:
14 1) VDD_IO       - Buck (1.2 - 3.7 V)
15 2) VDD_DDR      - Buck (0.6 - 1.85 V)
16 3) VDD_CORE     - Buck (0.6 - 1.85 V)
17 4) VDD_OTHER    - BUCK (0.6 - 1.85 V)
18 5) LDO1         - LDO  (1.2 - 3.7 V)
19 6) LDO2         - LDO  (1.2 - 3.7 V)
20
21 Regulator modes:
22 2 - FPWM: higher precision, higher consumption
23 4 - AutoPFM: lower precision, lower consumption
24
25 Each regulator is defined using the standard binding for regulators.
26
27 Example:
28
29 mcp16502@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 };