Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / mfd / rockchip,rk805.yaml
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
7 title: RK805 Power Management Integrated Circuit
8
9 maintainers:
10   - Chris Zhong <zyw@rock-chips.com>
11   - Zhang Qing <zhangqing@rock-chips.com>
12
13 description: |
14   Rockchip RK805 series PMIC. This device consists of an i2c controlled MFD
15   that includes multiple switchable regulators.
16
17 properties:
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: ../regulator/regulator.yaml#
86         unevaluatedProperties: false
87     unevaluatedProperties: false
88
89 allOf:
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
105 required:
106   - compatible
107   - reg
108   - interrupts
109   - "#clock-cells"
110
111 additionalProperties: false
112
113 examples:
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     };