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