xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/rockchip,rk818.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/rockchip,rk818.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: RK818 Power Management Integrated Circuit
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Chris Zhong <zyw@rock-chips.com>
11d5b0e70fSEmmanuel Vadot  - Zhang Qing <zhangqing@rock-chips.com>
12d5b0e70fSEmmanuel Vadot
13d5b0e70fSEmmanuel Vadotdescription: |
14d5b0e70fSEmmanuel Vadot  Rockchip RK818 series PMIC. This device consists of an i2c controlled MFD
15d5b0e70fSEmmanuel Vadot  that includes regulators, an RTC, and a power button.
16d5b0e70fSEmmanuel Vadot
17d5b0e70fSEmmanuel Vadotproperties:
18d5b0e70fSEmmanuel Vadot  compatible:
19d5b0e70fSEmmanuel Vadot    enum:
20d5b0e70fSEmmanuel Vadot      - rockchip,rk818
21d5b0e70fSEmmanuel Vadot
22d5b0e70fSEmmanuel Vadot  reg:
23d5b0e70fSEmmanuel Vadot    maxItems: 1
24d5b0e70fSEmmanuel Vadot
25d5b0e70fSEmmanuel Vadot  interrupts:
26d5b0e70fSEmmanuel Vadot    maxItems: 1
27d5b0e70fSEmmanuel Vadot
28d5b0e70fSEmmanuel Vadot  '#clock-cells':
29d5b0e70fSEmmanuel Vadot    description: |
30d5b0e70fSEmmanuel Vadot      See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
31d5b0e70fSEmmanuel Vadot    const: 1
32d5b0e70fSEmmanuel Vadot
33d5b0e70fSEmmanuel Vadot  clock-output-names:
34d5b0e70fSEmmanuel Vadot    description:
35d5b0e70fSEmmanuel Vadot      From common clock binding to override the default output clock name.
36d5b0e70fSEmmanuel Vadot    maxItems: 2
37d5b0e70fSEmmanuel Vadot
38d5b0e70fSEmmanuel Vadot  rockchip,system-power-controller:
39d5b0e70fSEmmanuel Vadot    type: boolean
40*84943d6fSEmmanuel Vadot    deprecated: true
41d5b0e70fSEmmanuel Vadot    description:
42d5b0e70fSEmmanuel Vadot      Telling whether or not this PMIC is controlling the system power.
43d5b0e70fSEmmanuel Vadot
44*84943d6fSEmmanuel Vadot  system-power-controller: true
45*84943d6fSEmmanuel Vadot
46d5b0e70fSEmmanuel Vadot  wakeup-source:
47d5b0e70fSEmmanuel Vadot    type: boolean
48d5b0e70fSEmmanuel Vadot    description:
49d5b0e70fSEmmanuel Vadot      Device can be used as a wakeup source.
50d5b0e70fSEmmanuel Vadot
51d5b0e70fSEmmanuel Vadot  vcc1-supply:
52d5b0e70fSEmmanuel Vadot    description:
53d5b0e70fSEmmanuel Vadot      The input supply for DCDC_REG1.
54d5b0e70fSEmmanuel Vadot
55d5b0e70fSEmmanuel Vadot  vcc2-supply:
56d5b0e70fSEmmanuel Vadot    description:
57d5b0e70fSEmmanuel Vadot      The input supply for DCDC_REG2.
58d5b0e70fSEmmanuel Vadot
59d5b0e70fSEmmanuel Vadot  vcc3-supply:
60d5b0e70fSEmmanuel Vadot    description:
61d5b0e70fSEmmanuel Vadot      The input supply for DCDC_REG3.
62d5b0e70fSEmmanuel Vadot
63d5b0e70fSEmmanuel Vadot  vcc4-supply:
64d5b0e70fSEmmanuel Vadot    description:
65d5b0e70fSEmmanuel Vadot      The input supply for DCDC_REG4.
66d5b0e70fSEmmanuel Vadot
67d5b0e70fSEmmanuel Vadot  boost-supply:
68d5b0e70fSEmmanuel Vadot    description:
69d5b0e70fSEmmanuel Vadot      The input supply for DCDC_BOOST
70d5b0e70fSEmmanuel Vadot
71d5b0e70fSEmmanuel Vadot  vcc6-supply:
72d5b0e70fSEmmanuel Vadot    description:
73d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG1 and LDO_REG2.
74d5b0e70fSEmmanuel Vadot
75d5b0e70fSEmmanuel Vadot  vcc7-supply:
76d5b0e70fSEmmanuel Vadot    description:
77d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG3, LDO_REG5, and LDO_REG7.
78d5b0e70fSEmmanuel Vadot
79d5b0e70fSEmmanuel Vadot  vcc8-supply:
80d5b0e70fSEmmanuel Vadot    description:
81d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG4, LDO_REG6, and LDO_REG8.
82d5b0e70fSEmmanuel Vadot
83d5b0e70fSEmmanuel Vadot  vcc9-supply:
84d5b0e70fSEmmanuel Vadot    description:
85d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG9 and SWITCH_REG.
86d5b0e70fSEmmanuel Vadot
87d5b0e70fSEmmanuel Vadot  vddio-supply:
88d5b0e70fSEmmanuel Vadot    description:
89d5b0e70fSEmmanuel Vadot      The input supply for digital IO.
90d5b0e70fSEmmanuel Vadot
91d5b0e70fSEmmanuel Vadot  h_5v-supply:
92d5b0e70fSEmmanuel Vadot    description:
93d5b0e70fSEmmanuel Vadot      The input supply for HDMI_SWITCH.
94d5b0e70fSEmmanuel Vadot
95d5b0e70fSEmmanuel Vadot  usb-supply:
96d5b0e70fSEmmanuel Vadot    description:
97d5b0e70fSEmmanuel Vadot      The input supply for OTG_SWITCH.
98d5b0e70fSEmmanuel Vadot
99d5b0e70fSEmmanuel Vadot  regulators:
100d5b0e70fSEmmanuel Vadot    type: object
101d5b0e70fSEmmanuel Vadot    patternProperties:
102d5b0e70fSEmmanuel Vadot      "^(DCDC_REG[1-4]|DCDC_BOOST|LDO_REG[1-9]|SWITCH_REG|HDMI_SWITCH|OTG_SWITCH)$":
103d5b0e70fSEmmanuel Vadot        type: object
104d5b0e70fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
105d5b0e70fSEmmanuel Vadot        unevaluatedProperties: false
106*84943d6fSEmmanuel Vadot    unevaluatedProperties: false
107d5b0e70fSEmmanuel Vadot
108d5b0e70fSEmmanuel Vadotrequired:
109d5b0e70fSEmmanuel Vadot  - compatible
110d5b0e70fSEmmanuel Vadot  - reg
111d5b0e70fSEmmanuel Vadot  - interrupts
112d5b0e70fSEmmanuel Vadot  - "#clock-cells"
113d5b0e70fSEmmanuel Vadot
114d5b0e70fSEmmanuel VadotadditionalProperties: false
115d5b0e70fSEmmanuel Vadot
116d5b0e70fSEmmanuel Vadotexamples:
117d5b0e70fSEmmanuel Vadot  - |
118d5b0e70fSEmmanuel Vadot    #include <dt-bindings/clock/px30-cru.h>
119d5b0e70fSEmmanuel Vadot    #include <dt-bindings/pinctrl/rockchip.h>
120d5b0e70fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
121d5b0e70fSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
122d5b0e70fSEmmanuel Vadot    i2c {
123d5b0e70fSEmmanuel Vadot        #address-cells = <1>;
124d5b0e70fSEmmanuel Vadot        #size-cells = <0>;
125d5b0e70fSEmmanuel Vadot
126d5b0e70fSEmmanuel Vadot        rk818: pmic@1c {
127d5b0e70fSEmmanuel Vadot            compatible = "rockchip,rk818";
128d5b0e70fSEmmanuel Vadot            reg = <0x1c>;
129d5b0e70fSEmmanuel Vadot            interrupt-parent = <&gpio0>;
130d5b0e70fSEmmanuel Vadot            interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
131d5b0e70fSEmmanuel Vadot            pinctrl-names = "default";
132d5b0e70fSEmmanuel Vadot            pinctrl-0 = <&pmic_int>;
133d5b0e70fSEmmanuel Vadot            rockchip,system-power-controller;
134d5b0e70fSEmmanuel Vadot            wakeup-source;
135d5b0e70fSEmmanuel Vadot            #clock-cells = <1>;
136d5b0e70fSEmmanuel Vadot
137d5b0e70fSEmmanuel Vadot            vcc1-supply = <&vdd_sys>;
138d5b0e70fSEmmanuel Vadot            vcc2-supply = <&vdd_sys>;
139d5b0e70fSEmmanuel Vadot            vcc3-supply = <&vdd_sys>;
140d5b0e70fSEmmanuel Vadot            vcc4-supply = <&vdd_sys>;
141d5b0e70fSEmmanuel Vadot            boost-supply = <&vdd_in_otg_out>;
142d5b0e70fSEmmanuel Vadot            vcc6-supply = <&vdd_sys>;
143d5b0e70fSEmmanuel Vadot            vcc7-supply = <&vdd_misc_1v8>;
144d5b0e70fSEmmanuel Vadot            vcc8-supply = <&vdd_misc_1v8>;
145d5b0e70fSEmmanuel Vadot            vcc9-supply = <&vdd_3v3_io>;
146d5b0e70fSEmmanuel Vadot            vddio-supply = <&vdd_3v3_io>;
147d5b0e70fSEmmanuel Vadot
148d5b0e70fSEmmanuel Vadot            regulators {
149d5b0e70fSEmmanuel Vadot                vdd_log: DCDC_REG1 {
150d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_log";
151d5b0e70fSEmmanuel Vadot                    regulator-always-on;
152d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
153d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1100000>;
154d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1100000>;
155d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
156d5b0e70fSEmmanuel Vadot                        regulator-off-in-suspend;
157d5b0e70fSEmmanuel Vadot                    };
158d5b0e70fSEmmanuel Vadot                };
159d5b0e70fSEmmanuel Vadot
160d5b0e70fSEmmanuel Vadot                vdd_gpu: DCDC_REG2 {
161d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_gpu";
162d5b0e70fSEmmanuel Vadot                    regulator-always-on;
163d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
164d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <800000>;
165d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1250000>;
166d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
167d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
168d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <1000000>;
169d5b0e70fSEmmanuel Vadot                    };
170d5b0e70fSEmmanuel Vadot                };
171d5b0e70fSEmmanuel Vadot
172d5b0e70fSEmmanuel Vadot                vcc_ddr: DCDC_REG3 {
173d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc_ddr";
174d5b0e70fSEmmanuel Vadot                    regulator-always-on;
175d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
176d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
177d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
178d5b0e70fSEmmanuel Vadot                    };
179d5b0e70fSEmmanuel Vadot                };
180d5b0e70fSEmmanuel Vadot
181d5b0e70fSEmmanuel Vadot                vdd_3v3_io: DCDC_REG4 {
182d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_3v3_io";
183d5b0e70fSEmmanuel Vadot                    regulator-always-on;
184d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
185d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
186d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
187d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
188d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
189d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <3300000>;
190d5b0e70fSEmmanuel Vadot                    };
191d5b0e70fSEmmanuel Vadot                };
192d5b0e70fSEmmanuel Vadot
193d5b0e70fSEmmanuel Vadot                vdd_sys: DCDC_BOOST {
194d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_sys";
195d5b0e70fSEmmanuel Vadot                    regulator-always-on;
196d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
197d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <5000000>;
198d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <5000000>;
199d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
200d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
201d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <5000000>;
202d5b0e70fSEmmanuel Vadot                    };
203d5b0e70fSEmmanuel Vadot                };
204d5b0e70fSEmmanuel Vadot
205d5b0e70fSEmmanuel Vadot                vdd_sd: SWITCH_REG {
206d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_sd";
207d5b0e70fSEmmanuel Vadot                    regulator-always-on;
208d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
209d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
210d5b0e70fSEmmanuel Vadot                        regulator-off-in-suspend;
211d5b0e70fSEmmanuel Vadot                    };
212d5b0e70fSEmmanuel Vadot                };
213d5b0e70fSEmmanuel Vadot
214d5b0e70fSEmmanuel Vadot                vdd_eth_2v5: LDO_REG2 {
215d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_eth_2v5";
216d5b0e70fSEmmanuel Vadot                    regulator-always-on;
217d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
218d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <2500000>;
219d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <2500000>;
220d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
221d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
222d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <2500000>;
223d5b0e70fSEmmanuel Vadot                    };
224d5b0e70fSEmmanuel Vadot                };
225d5b0e70fSEmmanuel Vadot
226d5b0e70fSEmmanuel Vadot                vdd_1v0: LDO_REG3 {
227d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_1v0";
228d5b0e70fSEmmanuel Vadot                    regulator-always-on;
229d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
230d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1000000>;
231d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1000000>;
232d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
233d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
234d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <1000000>;
235d5b0e70fSEmmanuel Vadot                    };
236d5b0e70fSEmmanuel Vadot                };
237d5b0e70fSEmmanuel Vadot
238d5b0e70fSEmmanuel Vadot                vdd_1v8_lcd_ldo: LDO_REG4 {
239d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_1v8_lcd_ldo";
240d5b0e70fSEmmanuel Vadot                    regulator-always-on;
241d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
242d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
243d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1800000>;
244d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
245d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
246d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <1800000>;
247d5b0e70fSEmmanuel Vadot                    };
248d5b0e70fSEmmanuel Vadot                };
249d5b0e70fSEmmanuel Vadot
250d5b0e70fSEmmanuel Vadot                vdd_1v0_lcd: LDO_REG6 {
251d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_1v0_lcd";
252d5b0e70fSEmmanuel Vadot                    regulator-always-on;
253d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
254d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1000000>;
255d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1000000>;
256d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
257d5b0e70fSEmmanuel Vadot                        regulator-on-in-suspend;
258d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <1000000>;
259d5b0e70fSEmmanuel Vadot                    };
260d5b0e70fSEmmanuel Vadot                };
261d5b0e70fSEmmanuel Vadot
262d5b0e70fSEmmanuel Vadot                vdd_1v8_ldo: LDO_REG7 {
263d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_1v8_ldo";
264d5b0e70fSEmmanuel Vadot                    regulator-always-on;
265d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
266d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
267d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1800000>;
268d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
269d5b0e70fSEmmanuel Vadot                        regulator-off-in-suspend;
270d5b0e70fSEmmanuel Vadot                        regulator-suspend-microvolt = <1800000>;
271d5b0e70fSEmmanuel Vadot                    };
272d5b0e70fSEmmanuel Vadot                };
273d5b0e70fSEmmanuel Vadot
274d5b0e70fSEmmanuel Vadot                vdd_io_sd: LDO_REG9 {
275d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_io_sd";
276d5b0e70fSEmmanuel Vadot                    regulator-always-on;
277d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
278d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
279d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
280d5b0e70fSEmmanuel Vadot                    regulator-state-mem {
281d5b0e70fSEmmanuel Vadot                        regulator-off-in-suspend;
282d5b0e70fSEmmanuel Vadot                    };
283d5b0e70fSEmmanuel Vadot                };
284d5b0e70fSEmmanuel Vadot            };
285d5b0e70fSEmmanuel Vadot        };
286d5b0e70fSEmmanuel Vadot    };
287