xref: /linux/Documentation/devicetree/bindings/mfd/rockchip,rk801.yaml (revision 4668c4831fbcb924ef9ce63b32f8a4daefd3d6fc)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/rockchip,rk801.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: RK801 Power Management Integrated Circuit
8
9maintainers:
10  - Joseph Chen <chenjh@rock-chips.com>
11
12description: |
13  Rockchip RK801 series PMIC. This device consists of an i2c controlled MFD
14  that includes multiple switchable regulators.
15
16properties:
17  compatible:
18    enum:
19      - rockchip,rk801
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  system-power-controller:
28    type: boolean
29    description:
30      Telling whether or not this PMIC is controlling the system power.
31
32  wakeup-source:
33    type: boolean
34    description:
35      Device can be used as a wakeup source.
36
37  vcc1-supply:
38    description:
39      The input supply for dcdc1.
40
41  vcc2-supply:
42    description:
43      The input supply for dcdc2.
44
45  vcc3-supply:
46    description:
47      The input supply for dcdc3.
48
49  vcc4-supply:
50    description:
51      The input supply for dcdc4.
52
53  vcc5-supply:
54    description:
55      The input supply for ldo1.
56
57  vcc6-supply:
58    description:
59      The input supply for ldo2.
60
61  vcc7-supply:
62    description:
63      The input supply for switch.
64
65  regulators:
66    type: object
67    patternProperties:
68      "^(dcdc[1-4]|ldo[1-2]|switch)$":
69        type: object
70        $ref: /schemas/regulator/regulator.yaml#
71        unevaluatedProperties: false
72    additionalProperties: false
73
74required:
75  - compatible
76  - reg
77  - interrupts
78
79additionalProperties: false
80
81examples:
82  - |
83    #include <dt-bindings/pinctrl/rockchip.h>
84    #include <dt-bindings/interrupt-controller/irq.h>
85    #include <dt-bindings/gpio/gpio.h>
86
87    i2c {
88        #address-cells = <1>;
89        #size-cells = <0>;
90
91        rk801: pmic@27 {
92            compatible = "rockchip,rk801";
93            reg = <0x27>;
94            interrupt-parent = <&gpio0>;
95            interrupts = <RK_PC0 IRQ_TYPE_LEVEL_LOW>;
96            pinctrl-names = "default";
97            pinctrl-0 = <&pmic_int_l>;
98            system-power-controller;
99            wakeup-source;
100
101            vcc1-supply = <&vcc_sys>;
102            vcc2-supply = <&vcc_sys>;
103            vcc3-supply = <&vcc_sys>;
104            vcc4-supply = <&vcc_sys>;
105            vcc5-supply = <&vcc3v3_sys>;
106            vcc6-supply = <&vcc3v3_sys>;
107            vcc7-supply = <&vcc3v3_sys>;
108
109            regulators {
110                vdd_cpu: dcdc1 {
111                    regulator-name = "vdd_cpu";
112                    regulator-min-microvolt = <500000>;
113                    regulator-max-microvolt = <1500000>;
114                    regulator-initial-mode = <0x1>;
115                    regulator-boot-on;
116                    regulator-always-on;
117                    regulator-state-mem {
118                        regulator-mode = <0x2>;
119                        regulator-off-in-suspend;
120                        regulator-suspend-microvolt = <950000>;
121                    };
122                };
123
124                vcc3v3_sys: dcdc2 {
125                    regulator-name = "vcc3v3_sys";
126                    regulator-min-microvolt = <3300000>;
127                    regulator-max-microvolt = <3300000>;
128                    regulator-initial-mode = <0x1>;
129                    regulator-boot-on;
130                    regulator-always-on;
131                    regulator-state-mem {
132                        regulator-mode = <0x2>;
133                        regulator-on-in-suspend;
134                        regulator-suspend-microvolt = <3300000>;
135                    };
136                };
137
138                vcc_ddr: dcdc3 {
139                    regulator-name = "vcc_ddr";
140                    regulator-boot-on;
141                    regulator-always-on;
142                    regulator-state-mem {
143                        regulator-mode = <0x2>;
144                        regulator-on-in-suspend;
145                    };
146                };
147
148                vdd_logic: dcdc4 {
149                    regulator-name = "vdd_logic";
150                    regulator-min-microvolt = <500000>;
151                    regulator-max-microvolt = <1500000>;
152                    regulator-initial-mode = <0x1>;
153                    regulator-boot-on;
154                    regulator-always-on;
155                    regulator-state-mem {
156                        regulator-mode = <0x2>;
157                        regulator-off-in-suspend;
158                        regulator-suspend-microvolt = <900000>;
159                    };
160                };
161
162                vdd0v9_sys: ldo1 {
163                    regulator-name = "vdd0v9_sys";
164                    regulator-min-microvolt = <900000>;
165                    regulator-max-microvolt = <900000>;
166                    regulator-boot-on;
167                    regulator-always-on;
168                    regulator-state-mem {
169                        regulator-off-in-suspend;
170                        regulator-suspend-microvolt = <900000>;
171                    };
172                };
173
174                vcc_1v8: ldo2 {
175                    regulator-name = "vcc_1v8";
176                    regulator-min-microvolt = <1800000>;
177                    regulator-max-microvolt = <1800000>;
178                    regulator-boot-on;
179                    regulator-always-on;
180                    regulator-state-mem {
181                        regulator-off-in-suspend;
182                        regulator-suspend-microvolt = <1800000>;
183                    };
184                };
185
186                vcc_3v3: switch {
187                    regulator-name = "vcc_3v3";
188                    regulator-boot-on;
189                    regulator-always-on;
190                    regulator-state-mem {
191                        regulator-off-in-suspend;
192                        regulator-suspend-microvolt = <3300000>;
193                    };
194                };
195            };
196        };
197    };
198