xref: /linux/Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml (revision 24168c5e6dfbdd5b414f048f47f75d64533296ca)
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,rk805.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: RK805 Power Management Integrated Circuit
8
9maintainers:
10  - Chris Zhong <zyw@rock-chips.com>
11  - Zhang Qing <zhangqing@rock-chips.com>
12
13description: |
14  Rockchip RK805 series PMIC. This device consists of an i2c controlled MFD
15  that includes multiple switchable regulators.
16
17properties:
18  compatible:
19    enum:
20      - rockchip,rk805
21
22  reg:
23    maxItems: 1
24
25  interrupts:
26    maxItems: 1
27
28  '#clock-cells':
29    description:
30      See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
31    minimum: 0
32    maximum: 1
33
34  clock-output-names:
35    description:
36      From common clock binding to override the default output clock name.
37
38  gpio-controller: true
39
40  '#gpio-cells':
41    const: 2
42
43  rockchip,system-power-controller:
44    type: boolean
45    deprecated: true
46    description:
47      Telling whether or not this PMIC is controlling the system power.
48
49  system-power-controller: true
50
51  wakeup-source:
52    type: boolean
53    description:
54      Device can be used as a wakeup source.
55
56  vcc1-supply:
57    description:
58      The input supply for DCDC_REG1.
59
60  vcc2-supply:
61    description:
62      The input supply for DCDC_REG2.
63
64  vcc3-supply:
65    description:
66      The input supply for DCDC_REG3.
67
68  vcc4-supply:
69    description:
70      The input supply for DCDC_REG4.
71
72  vcc5-supply:
73    description:
74      The input supply for LDO_REG1 and LDO_REG2.
75
76  vcc6-supply:
77    description:
78      The input supply for LDO_REG3.
79
80  regulators:
81    type: object
82    patternProperties:
83      "^(DCDC_REG[1-4]|LDO_REG[1-3])$":
84        type: object
85        $ref: /schemas/regulator/regulator.yaml#
86        unevaluatedProperties: false
87    unevaluatedProperties: false
88
89allOf:
90  - if:
91      properties:
92        '#clock-cells':
93          const: 0
94
95    then:
96      properties:
97        clock-output-names:
98          maxItems: 1
99
100    else:
101      properties:
102        clock-output-names:
103          maxItems: 2
104
105required:
106  - compatible
107  - reg
108  - interrupts
109  - "#clock-cells"
110
111additionalProperties: false
112
113examples:
114  - |
115    #include <dt-bindings/pinctrl/rockchip.h>
116    #include <dt-bindings/interrupt-controller/irq.h>
117    #include <dt-bindings/gpio/gpio.h>
118    i2c {
119        #address-cells = <1>;
120        #size-cells = <0>;
121
122        pmic@18 {
123            compatible = "rockchip,rk805";
124            reg = <0x18>;
125            interrupt-parent = <&gpio2>;
126            interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
127            pinctrl-names = "default";
128            pinctrl-0 = <&pmic_int_l>;
129            rockchip,system-power-controller;
130            wakeup-source;
131            #clock-cells = <0>;
132
133            vcc1-supply = <&vcc_sys>;
134            vcc2-supply = <&vcc_sys>;
135            vcc3-supply = <&vcc_sys>;
136            vcc4-supply = <&vcc_sys>;
137            vcc5-supply = <&vcc_io>;
138            vcc6-supply = <&vcc_io>;
139
140            regulators {
141                vdd_logic: DCDC_REG1 {
142                    regulator-name = "vdd_logic";
143                    regulator-min-microvolt = <700000>;
144                    regulator-max-microvolt = <1350000>;
145                    regulator-always-on;
146                    regulator-boot-on;
147                    regulator-state-mem {
148                        regulator-on-in-suspend;
149                        regulator-suspend-microvolt = <1000000>;
150                    };
151                };
152
153                vdd_arm: DCDC_REG2 {
154                    regulator-name = "vdd_arm";
155                    regulator-min-microvolt = <700000>;
156                    regulator-max-microvolt = <1350000>;
157                    regulator-always-on;
158                    regulator-boot-on;
159                    regulator-state-mem {
160                        regulator-on-in-suspend;
161                        regulator-suspend-microvolt = <950000>;
162                    };
163                };
164
165                vcc_ddr: DCDC_REG3 {
166                    regulator-name = "vcc_ddr";
167                    regulator-always-on;
168                    regulator-boot-on;
169                    regulator-state-mem {
170                        regulator-on-in-suspend;
171                    };
172                };
173
174                vcc_io: DCDC_REG4 {
175                    regulator-name = "vcc_io";
176                    regulator-min-microvolt = <3300000>;
177                    regulator-max-microvolt = <3300000>;
178                    regulator-always-on;
179                    regulator-boot-on;
180                    regulator-state-mem {
181                        regulator-on-in-suspend;
182                        regulator-suspend-microvolt = <3300000>;
183                    };
184                };
185
186                vdd_18: LDO_REG1 {
187                    regulator-name = "vdd_18";
188                    regulator-min-microvolt = <1800000>;
189                    regulator-max-microvolt = <1800000>;
190                    regulator-always-on;
191                    regulator-boot-on;
192                    regulator-state-mem {
193                        regulator-on-in-suspend;
194                        regulator-suspend-microvolt = <1800000>;
195                    };
196                };
197
198                vcc18_emmc: LDO_REG2 {
199                    regulator-name = "vcc_18emmc";
200                    regulator-min-microvolt = <1800000>;
201                    regulator-max-microvolt = <1800000>;
202                    regulator-always-on;
203                    regulator-boot-on;
204                    regulator-state-mem {
205                        regulator-on-in-suspend;
206                        regulator-suspend-microvolt = <1800000>;
207                    };
208                };
209
210                vdd_11: LDO_REG3 {
211                    regulator-name = "vdd_11";
212                    regulator-min-microvolt = <1100000>;
213                    regulator-max-microvolt = <1100000>;
214                    regulator-always-on;
215                    regulator-boot-on;
216                    regulator-state-mem {
217                        regulator-on-in-suspend;
218                        regulator-suspend-microvolt = <1100000>;
219                    };
220                };
221            };
222        };
223    };
224