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