xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/rockchip,rk808.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,rk808.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: RK808 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 RK808 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,rk808
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  vcc6-supply:
68d5b0e70fSEmmanuel Vadot    description:
69d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG1 and LDO_REG2.
70d5b0e70fSEmmanuel Vadot
71d5b0e70fSEmmanuel Vadot  vcc7-supply:
72d5b0e70fSEmmanuel Vadot    description:
73d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG3 and LDO_REG7.
74d5b0e70fSEmmanuel Vadot
75d5b0e70fSEmmanuel Vadot  vcc8-supply:
76d5b0e70fSEmmanuel Vadot    description:
77d5b0e70fSEmmanuel Vadot      The input supply for SWITCH_REG1.
78d5b0e70fSEmmanuel Vadot
79d5b0e70fSEmmanuel Vadot  vcc9-supply:
80d5b0e70fSEmmanuel Vadot    description:
81d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG4 and LDO_REG5.
82d5b0e70fSEmmanuel Vadot
83d5b0e70fSEmmanuel Vadot  vcc10-supply:
84d5b0e70fSEmmanuel Vadot    description:
85d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG6.
86d5b0e70fSEmmanuel Vadot
87d5b0e70fSEmmanuel Vadot  vcc11-supply:
88d5b0e70fSEmmanuel Vadot    description:
89d5b0e70fSEmmanuel Vadot      The input supply for LDO_REG8.
90d5b0e70fSEmmanuel Vadot
91d5b0e70fSEmmanuel Vadot  vcc12-supply:
92d5b0e70fSEmmanuel Vadot    description:
93d5b0e70fSEmmanuel Vadot      The input supply for SWITCH_REG2.
94d5b0e70fSEmmanuel Vadot
95d5b0e70fSEmmanuel Vadot  vddio-supply:
96d5b0e70fSEmmanuel Vadot    description:
97d5b0e70fSEmmanuel Vadot      The input supply for digital IO.
98d5b0e70fSEmmanuel Vadot
99d5b0e70fSEmmanuel Vadot  dvs-gpios:
100d5b0e70fSEmmanuel Vadot    description: |
101d5b0e70fSEmmanuel Vadot      buck1/2 can be controlled by gpio dvs, this is GPIO specifiers for
102d5b0e70fSEmmanuel Vadot      2 host gpio's used for dvs. The format of the gpio specifier
103d5b0e70fSEmmanuel Vadot      depends in the gpio controller. If DVS GPIOs aren't present,
104d5b0e70fSEmmanuel Vadot      voltage changes will happen very quickly with no slow ramp time.
105d5b0e70fSEmmanuel Vadot    maxItems: 2
106d5b0e70fSEmmanuel Vadot
107d5b0e70fSEmmanuel Vadot  regulators:
108d5b0e70fSEmmanuel Vadot    type: object
109d5b0e70fSEmmanuel Vadot    patternProperties:
110d5b0e70fSEmmanuel Vadot      "^(DCDC_REG[1-4]|LDO_REG[1-8]|SWITCH_REG[1-2])$":
111d5b0e70fSEmmanuel Vadot        type: object
112d5b0e70fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
113d5b0e70fSEmmanuel Vadot        unevaluatedProperties: false
114*84943d6fSEmmanuel Vadot    unevaluatedProperties: false
115d5b0e70fSEmmanuel Vadot
116d5b0e70fSEmmanuel Vadotrequired:
117d5b0e70fSEmmanuel Vadot  - compatible
118d5b0e70fSEmmanuel Vadot  - reg
119d5b0e70fSEmmanuel Vadot  - interrupts
120d5b0e70fSEmmanuel Vadot  - "#clock-cells"
121d5b0e70fSEmmanuel Vadot
122d5b0e70fSEmmanuel VadotadditionalProperties: false
123d5b0e70fSEmmanuel Vadot
124d5b0e70fSEmmanuel Vadotexamples:
125d5b0e70fSEmmanuel Vadot  - |
126d5b0e70fSEmmanuel Vadot    #include <dt-bindings/pinctrl/rockchip.h>
127d5b0e70fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
128d5b0e70fSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
129d5b0e70fSEmmanuel Vadot    i2c {
130d5b0e70fSEmmanuel Vadot        #address-cells = <1>;
131d5b0e70fSEmmanuel Vadot        #size-cells = <0>;
132d5b0e70fSEmmanuel Vadot
133d5b0e70fSEmmanuel Vadot        rk808: pmic@1b {
134d5b0e70fSEmmanuel Vadot            compatible = "rockchip,rk808";
135d5b0e70fSEmmanuel Vadot            clock-output-names = "xin32k", "rk808-clkout2";
136d5b0e70fSEmmanuel Vadot            interrupt-parent = <&gpio0>;
137d5b0e70fSEmmanuel Vadot            interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
138d5b0e70fSEmmanuel Vadot            pinctrl-names = "default";
139d5b0e70fSEmmanuel Vadot            pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>;
140d5b0e70fSEmmanuel Vadot            dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
141d5b0e70fSEmmanuel Vadot                <&gpio7 15 GPIO_ACTIVE_HIGH>;
142d5b0e70fSEmmanuel Vadot            reg = <0x1b>;
143d5b0e70fSEmmanuel Vadot            rockchip,system-power-controller;
144d5b0e70fSEmmanuel Vadot            wakeup-source;
145d5b0e70fSEmmanuel Vadot            #clock-cells = <1>;
146d5b0e70fSEmmanuel Vadot
147d5b0e70fSEmmanuel Vadot            vcc8-supply = <&vcc_18>;
148d5b0e70fSEmmanuel Vadot            vcc9-supply = <&vcc_io>;
149d5b0e70fSEmmanuel Vadot            vcc10-supply = <&vcc_io>;
150d5b0e70fSEmmanuel Vadot            vcc12-supply = <&vcc_io>;
151d5b0e70fSEmmanuel Vadot            vddio-supply = <&vccio_pmu>;
152d5b0e70fSEmmanuel Vadot
153d5b0e70fSEmmanuel Vadot            regulators {
154d5b0e70fSEmmanuel Vadot                vdd_cpu: DCDC_REG1 {
155d5b0e70fSEmmanuel Vadot                    regulator-always-on;
156d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
157d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <750000>;
158d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1300000>;
159d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_arm";
160d5b0e70fSEmmanuel Vadot                };
161d5b0e70fSEmmanuel Vadot
162d5b0e70fSEmmanuel Vadot                vdd_gpu: DCDC_REG2 {
163d5b0e70fSEmmanuel Vadot                    regulator-always-on;
164d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
165d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <850000>;
166d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1250000>;
167d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_gpu";
168d5b0e70fSEmmanuel Vadot                };
169d5b0e70fSEmmanuel Vadot
170d5b0e70fSEmmanuel Vadot                vcc_ddr: DCDC_REG3 {
171d5b0e70fSEmmanuel Vadot                    regulator-always-on;
172d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
173d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc_ddr";
174d5b0e70fSEmmanuel Vadot                };
175d5b0e70fSEmmanuel Vadot
176d5b0e70fSEmmanuel Vadot                vcc_io: DCDC_REG4 {
177d5b0e70fSEmmanuel Vadot                    regulator-always-on;
178d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
179d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
180d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
181d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc_io";
182d5b0e70fSEmmanuel Vadot                };
183d5b0e70fSEmmanuel Vadot
184d5b0e70fSEmmanuel Vadot                vccio_pmu: LDO_REG1 {
185d5b0e70fSEmmanuel Vadot                    regulator-always-on;
186d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
187d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
188d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
189d5b0e70fSEmmanuel Vadot                    regulator-name = "vccio_pmu";
190d5b0e70fSEmmanuel Vadot                };
191d5b0e70fSEmmanuel Vadot
192d5b0e70fSEmmanuel Vadot                vcc_tp: LDO_REG2 {
193d5b0e70fSEmmanuel Vadot                    regulator-always-on;
194d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
195d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
196d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
197d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc_tp";
198d5b0e70fSEmmanuel Vadot                };
199d5b0e70fSEmmanuel Vadot
200d5b0e70fSEmmanuel Vadot                vdd_10: LDO_REG3 {
201d5b0e70fSEmmanuel Vadot                    regulator-always-on;
202d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
203d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1000000>;
204d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1000000>;
205d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd_10";
206d5b0e70fSEmmanuel Vadot                };
207d5b0e70fSEmmanuel Vadot
208d5b0e70fSEmmanuel Vadot                vcc18_lcd: LDO_REG4 {
209d5b0e70fSEmmanuel Vadot                    regulator-always-on;
210d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
211d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
212d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1800000>;
213d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc18_lcd";
214d5b0e70fSEmmanuel Vadot                };
215d5b0e70fSEmmanuel Vadot
216d5b0e70fSEmmanuel Vadot                vccio_sd: LDO_REG5 {
217d5b0e70fSEmmanuel Vadot                    regulator-always-on;
218d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
219d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
220d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
221d5b0e70fSEmmanuel Vadot                    regulator-name = "vccio_sd";
222d5b0e70fSEmmanuel Vadot                };
223d5b0e70fSEmmanuel Vadot
224d5b0e70fSEmmanuel Vadot                vdd10_lcd: LDO_REG6 {
225d5b0e70fSEmmanuel Vadot                    regulator-always-on;
226d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
227d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1000000>;
228d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1000000>;
229d5b0e70fSEmmanuel Vadot                    regulator-name = "vdd10_lcd";
230d5b0e70fSEmmanuel Vadot                };
231d5b0e70fSEmmanuel Vadot
232d5b0e70fSEmmanuel Vadot                vcc_18: LDO_REG7 {
233d5b0e70fSEmmanuel Vadot                    regulator-always-on;
234d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
235d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
236d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <1800000>;
237d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc_18";
238d5b0e70fSEmmanuel Vadot                };
239d5b0e70fSEmmanuel Vadot
240d5b0e70fSEmmanuel Vadot                vcca_codec: LDO_REG8 {
241d5b0e70fSEmmanuel Vadot                    regulator-always-on;
242d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
243d5b0e70fSEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
244d5b0e70fSEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
245d5b0e70fSEmmanuel Vadot                    regulator-name = "vcca_codec";
246d5b0e70fSEmmanuel Vadot                };
247d5b0e70fSEmmanuel Vadot
248d5b0e70fSEmmanuel Vadot                vcc_wl: SWITCH_REG1 {
249d5b0e70fSEmmanuel Vadot                    regulator-always-on;
250d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
251d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc_wl";
252d5b0e70fSEmmanuel Vadot                };
253d5b0e70fSEmmanuel Vadot
254d5b0e70fSEmmanuel Vadot                vcc_lcd: SWITCH_REG2 {
255d5b0e70fSEmmanuel Vadot                    regulator-always-on;
256d5b0e70fSEmmanuel Vadot                    regulator-boot-on;
257d5b0e70fSEmmanuel Vadot                    regulator-name = "vcc_lcd";
258d5b0e70fSEmmanuel Vadot                };
259d5b0e70fSEmmanuel Vadot            };
260d5b0e70fSEmmanuel Vadot        };
261d5b0e70fSEmmanuel Vadot    };
262