xref: /freebsd/sys/contrib/device-tree/Bindings/regulator/microchip,mcp16502.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*01950c46SEmmanuel Vadot%YAML 1.2
3*01950c46SEmmanuel Vadot---
4*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/regulator/microchip,mcp16502.yaml#
5*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*01950c46SEmmanuel Vadot
7*01950c46SEmmanuel Vadottitle: MCP16502 - High-Performance PMIC
8*01950c46SEmmanuel Vadot
9*01950c46SEmmanuel Vadotmaintainers:
10*01950c46SEmmanuel Vadot  - Andrei Simion <andrei.simion@microchip.com>
11*01950c46SEmmanuel Vadot
12*01950c46SEmmanuel Vadotdescription:
13*01950c46SEmmanuel Vadot  The MCP16502 is an optimally integrated PMIC compatible
14*01950c46SEmmanuel Vadot  with Microchip's eMPUs(Embedded Microprocessor Units),
15*01950c46SEmmanuel Vadot  requiring Dynamic Voltage Scaling (DVS) with the use
16*01950c46SEmmanuel Vadot  of High-Performance mode (HPM).
17*01950c46SEmmanuel Vadot
18*01950c46SEmmanuel Vadotproperties:
19*01950c46SEmmanuel Vadot  compatible:
20*01950c46SEmmanuel Vadot    const: microchip,mcp16502
21*01950c46SEmmanuel Vadot
22*01950c46SEmmanuel Vadot  lpm-gpios:
23*01950c46SEmmanuel Vadot    maxItems: 1
24*01950c46SEmmanuel Vadot    description: GPIO for LPM pin.
25*01950c46SEmmanuel Vadot      Note that this GPIO must remain high during
26*01950c46SEmmanuel Vadot      suspend-to-ram, keeping the PMIC into HIBERNATE mode.
27*01950c46SEmmanuel Vadot
28*01950c46SEmmanuel Vadot  reg:
29*01950c46SEmmanuel Vadot    maxItems: 1
30*01950c46SEmmanuel Vadot
31*01950c46SEmmanuel Vadot  regulators:
32*01950c46SEmmanuel Vadot    type: object
33*01950c46SEmmanuel Vadot    additionalProperties: false
34*01950c46SEmmanuel Vadot    description: List of regulators and its properties.
35*01950c46SEmmanuel Vadot
36*01950c46SEmmanuel Vadot    patternProperties:
37*01950c46SEmmanuel Vadot      "^(VDD_(IO|CORE|DDR|OTHER)|LDO[1-2])$":
38*01950c46SEmmanuel Vadot        type: object
39*01950c46SEmmanuel Vadot        $ref: regulator.yaml#
40*01950c46SEmmanuel Vadot        unevaluatedProperties: false
41*01950c46SEmmanuel Vadot
42*01950c46SEmmanuel Vadot        properties:
43*01950c46SEmmanuel Vadot          regulator-initial-mode:
44*01950c46SEmmanuel Vadot            enum: [2, 4]
45*01950c46SEmmanuel Vadot            default: 2
46*01950c46SEmmanuel Vadot            description: Initial operating mode
47*01950c46SEmmanuel Vadot
48*01950c46SEmmanuel Vadot          regulator-allowed-modes:
49*01950c46SEmmanuel Vadot            items:
50*01950c46SEmmanuel Vadot              enum: [2, 4]
51*01950c46SEmmanuel Vadot            description: Supported modes
52*01950c46SEmmanuel Vadot              2 - FPWM higher precision, higher consumption
53*01950c46SEmmanuel Vadot              4 - AutoPFM lower precision, lower consumption
54*01950c46SEmmanuel Vadot
55*01950c46SEmmanuel Vadotrequired:
56*01950c46SEmmanuel Vadot  - compatible
57*01950c46SEmmanuel Vadot  - reg
58*01950c46SEmmanuel Vadot  - regulators
59*01950c46SEmmanuel Vadot
60*01950c46SEmmanuel VadotadditionalProperties: false
61*01950c46SEmmanuel Vadot
62*01950c46SEmmanuel Vadotexamples:
63*01950c46SEmmanuel Vadot  - |
64*01950c46SEmmanuel Vadot    i2c {
65*01950c46SEmmanuel Vadot        #address-cells = <1>;
66*01950c46SEmmanuel Vadot        #size-cells = <0>;
67*01950c46SEmmanuel Vadot
68*01950c46SEmmanuel Vadot        pmic@5b {
69*01950c46SEmmanuel Vadot            compatible = "microchip,mcp16502";
70*01950c46SEmmanuel Vadot            reg = <0x5b>;
71*01950c46SEmmanuel Vadot
72*01950c46SEmmanuel Vadot            regulators {
73*01950c46SEmmanuel Vadot                VDD_IO {
74*01950c46SEmmanuel Vadot                    regulator-name = "VDD_IO";
75*01950c46SEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
76*01950c46SEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
77*01950c46SEmmanuel Vadot                    regulator-initial-mode = <2>;
78*01950c46SEmmanuel Vadot                    regulator-allowed-modes = <2>, <4>;
79*01950c46SEmmanuel Vadot                    regulator-always-on;
80*01950c46SEmmanuel Vadot
81*01950c46SEmmanuel Vadot                    regulator-state-standby {
82*01950c46SEmmanuel Vadot                        regulator-on-in-suspend;
83*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
84*01950c46SEmmanuel Vadot                    };
85*01950c46SEmmanuel Vadot
86*01950c46SEmmanuel Vadot                    regulator-state-mem {
87*01950c46SEmmanuel Vadot                        regulator-off-in-suspend;
88*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
89*01950c46SEmmanuel Vadot                    };
90*01950c46SEmmanuel Vadot                };
91*01950c46SEmmanuel Vadot
92*01950c46SEmmanuel Vadot                VDD_DDR {
93*01950c46SEmmanuel Vadot                    regulator-name = "VDD_DDR";
94*01950c46SEmmanuel Vadot                    regulator-min-microvolt = <1350000>;
95*01950c46SEmmanuel Vadot                    regulator-max-microvolt = <1350000>;
96*01950c46SEmmanuel Vadot                    regulator-initial-mode = <2>;
97*01950c46SEmmanuel Vadot                    regulator-allowed-modes = <2>, <4>;
98*01950c46SEmmanuel Vadot                    regulator-always-on;
99*01950c46SEmmanuel Vadot
100*01950c46SEmmanuel Vadot                    regulator-state-standby {
101*01950c46SEmmanuel Vadot                        regulator-on-in-suspend;
102*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
103*01950c46SEmmanuel Vadot                    };
104*01950c46SEmmanuel Vadot
105*01950c46SEmmanuel Vadot                    regulator-state-mem {
106*01950c46SEmmanuel Vadot                        regulator-on-in-suspend;
107*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
108*01950c46SEmmanuel Vadot                    };
109*01950c46SEmmanuel Vadot                };
110*01950c46SEmmanuel Vadot
111*01950c46SEmmanuel Vadot                VDD_CORE {
112*01950c46SEmmanuel Vadot                    regulator-name = "VDD_CORE";
113*01950c46SEmmanuel Vadot                    regulator-min-microvolt = <1150000>;
114*01950c46SEmmanuel Vadot                    regulator-max-microvolt = <1150000>;
115*01950c46SEmmanuel Vadot                    regulator-initial-mode = <2>;
116*01950c46SEmmanuel Vadot                    regulator-allowed-modes = <2>, <4>;
117*01950c46SEmmanuel Vadot                    regulator-always-on;
118*01950c46SEmmanuel Vadot
119*01950c46SEmmanuel Vadot                    regulator-state-standby {
120*01950c46SEmmanuel Vadot                        regulator-on-in-suspend;
121*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
122*01950c46SEmmanuel Vadot                    };
123*01950c46SEmmanuel Vadot
124*01950c46SEmmanuel Vadot                    regulator-state-mem {
125*01950c46SEmmanuel Vadot                        regulator-off-in-suspend;
126*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
127*01950c46SEmmanuel Vadot                    };
128*01950c46SEmmanuel Vadot                };
129*01950c46SEmmanuel Vadot
130*01950c46SEmmanuel Vadot                VDD_OTHER {
131*01950c46SEmmanuel Vadot                    regulator-name = "VDD_OTHER";
132*01950c46SEmmanuel Vadot                    regulator-min-microvolt = <1050000>;
133*01950c46SEmmanuel Vadot                    regulator-max-microvolt = <1250000>;
134*01950c46SEmmanuel Vadot                    regulator-initial-mode = <2>;
135*01950c46SEmmanuel Vadot                    regulator-allowed-modes = <2>, <4>;
136*01950c46SEmmanuel Vadot                    regulator-always-on;
137*01950c46SEmmanuel Vadot
138*01950c46SEmmanuel Vadot                    regulator-state-standby {
139*01950c46SEmmanuel Vadot                        regulator-on-in-suspend;
140*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
141*01950c46SEmmanuel Vadot                    };
142*01950c46SEmmanuel Vadot
143*01950c46SEmmanuel Vadot                    regulator-state-mem {
144*01950c46SEmmanuel Vadot                        regulator-off-in-suspend;
145*01950c46SEmmanuel Vadot                        regulator-mode = <4>;
146*01950c46SEmmanuel Vadot                    };
147*01950c46SEmmanuel Vadot                };
148*01950c46SEmmanuel Vadot
149*01950c46SEmmanuel Vadot                LDO1 {
150*01950c46SEmmanuel Vadot                    regulator-name = "LDO1";
151*01950c46SEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
152*01950c46SEmmanuel Vadot                    regulator-max-microvolt = <1800000>;
153*01950c46SEmmanuel Vadot                    regulator-always-on;
154*01950c46SEmmanuel Vadot
155*01950c46SEmmanuel Vadot                    regulator-state-standby {
156*01950c46SEmmanuel Vadot                        regulator-on-in-suspend;
157*01950c46SEmmanuel Vadot                    };
158*01950c46SEmmanuel Vadot
159*01950c46SEmmanuel Vadot                    regulator-state-mem {
160*01950c46SEmmanuel Vadot                        regulator-off-in-suspend;
161*01950c46SEmmanuel Vadot                    };
162*01950c46SEmmanuel Vadot                };
163*01950c46SEmmanuel Vadot
164*01950c46SEmmanuel Vadot                LDO2 {
165*01950c46SEmmanuel Vadot                    regulator-name = "LDO2";
166*01950c46SEmmanuel Vadot                    regulator-min-microvolt = <1200000>;
167*01950c46SEmmanuel Vadot                    regulator-max-microvolt = <3700000>;
168*01950c46SEmmanuel Vadot                    regulator-always-on;
169*01950c46SEmmanuel Vadot
170*01950c46SEmmanuel Vadot                    regulator-state-standby {
171*01950c46SEmmanuel Vadot                        regulator-on-in-suspend;
172*01950c46SEmmanuel Vadot                    };
173*01950c46SEmmanuel Vadot
174*01950c46SEmmanuel Vadot                    regulator-state-mem {
175*01950c46SEmmanuel Vadot                        regulator-off-in-suspend;
176*01950c46SEmmanuel Vadot                    };
177*01950c46SEmmanuel Vadot                };
178*01950c46SEmmanuel Vadot            };
179*01950c46SEmmanuel Vadot        };
180*01950c46SEmmanuel Vadot    };
181