]>
Commit | Line | Data |
---|---|---|
71557e50 WE |
1 | RK8XX Power Management Integrated Circuit |
2 | ||
3 | The rk8xx family current members: | |
4 | rk808 | |
5 | rk818 | |
a53b9a97 CZ |
6 | |
7 | Required properties: | |
71557e50 | 8 | - compatible: "rockchip,rk808", "rockchip,rk818" |
a53b9a97 CZ |
9 | - reg: I2C slave address |
10 | - interrupt-parent: The parent interrupt controller. | |
11 | - interrupts: the interrupt outputs of the controller. | |
12 | - #clock-cells: from common clock binding; shall be set to 1 (multiple clock | |
13 | outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. | |
14 | ||
15 | Optional properties: | |
16 | - clock-output-names: From common clock binding to override the | |
17 | default output clock name | |
18 | - rockchip,system-power-controller: Telling whether or not this pmic is controlling | |
19 | the system power. | |
71557e50 WE |
20 | |
21 | Optional RK808 properties: | |
a53b9a97 CZ |
22 | - vcc1-supply: The input supply for DCDC_REG1 |
23 | - vcc2-supply: The input supply for DCDC_REG2 | |
24 | - vcc3-supply: The input supply for DCDC_REG3 | |
25 | - vcc4-supply: The input supply for DCDC_REG4 | |
26 | - vcc6-supply: The input supply for LDO_REG1 and LDO_REG2 | |
27 | - vcc7-supply: The input supply for LDO_REG3 and LDO_REG7 | |
28 | - vcc8-supply: The input supply for SWITCH_REG1 | |
29 | - vcc9-supply: The input supply for LDO_REG4 and LDO_REG5 | |
30 | - vcc10-supply: The input supply for LDO_REG6 | |
31 | - vcc11-supply: The input supply for LDO_REG8 | |
32 | - vcc12-supply: The input supply for SWITCH_REG2 | |
0ec5f8bd CZ |
33 | - dvs-gpios: buck1/2 can be controlled by gpio dvs, this is GPIO specifiers |
34 | for 2 host gpio's used for dvs. The format of the gpio specifier depends in | |
35 | the gpio controller. If DVS GPIOs aren't present, voltage changes will happen | |
36 | very quickly with no slow ramp time. | |
a53b9a97 | 37 | |
71557e50 WE |
38 | Optional RK818 properties: |
39 | - vcc1-supply: The input supply for DCDC_REG1 | |
40 | - vcc2-supply: The input supply for DCDC_REG2 | |
41 | - vcc3-supply: The input supply for DCDC_REG3 | |
42 | - vcc4-supply: The input supply for DCDC_REG4 | |
43 | - boost-supply: The input supply for DCDC_BOOST | |
44 | - vcc6-supply: The input supply for LDO_REG1 and LDO_REG2 | |
45 | - vcc7-supply: The input supply for LDO_REG3, LDO_REG5 and LDO_REG7 | |
46 | - vcc8-supply: The input supply for LDO_REG4, LDO_REG6 and LDO_REG8 | |
47 | - vcc9-supply: The input supply for LDO_REG9 and SWITCH_REG | |
48 | - h_5v-supply: The input supply for HDMI_SWITCH | |
49 | - usb-supply: The input supply for OTG_SWITCH | |
50 | ||
51 | Regulators: All the regulators of RK8XX to be instantiated shall be | |
a53b9a97 CZ |
52 | listed in a child node named 'regulators'. Each regulator is represented |
53 | by a child node of the 'regulators' node. | |
54 | ||
55 | regulator-name { | |
56 | /* standard regulator bindings here */ | |
57 | }; | |
58 | ||
59 | Following regulators of the RK808 PMIC block are supported. Note that | |
60 | the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO | |
61 | number as described in RK808 datasheet. | |
62 | ||
63 | - DCDC_REGn | |
64 | - valid values for n are 1 to 4. | |
65 | - LDO_REGn | |
66 | - valid values for n are 1 to 8. | |
67 | - SWITCH_REGn | |
68 | - valid values for n are 1 to 2 | |
69 | ||
71557e50 WE |
70 | Following regulators of the RK818 PMIC block are supported. Note that |
71 | the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO | |
72 | number as described in RK818 datasheet. | |
73 | ||
74 | - DCDC_REGn | |
75 | - valid values for n are 1 to 4. | |
76 | - LDO_REGn | |
77 | - valid values for n are 1 to 9. | |
78 | - SWITCH_REG | |
79 | - HDMI_SWITCH | |
80 | - OTG_SWITCH | |
81 | ||
a53b9a97 CZ |
82 | Standard regulator bindings are used inside regulator subnodes. Check |
83 | Documentation/devicetree/bindings/regulator/regulator.txt | |
84 | for more details | |
85 | ||
86 | Example: | |
87 | rk808: pmic@1b { | |
88 | compatible = "rockchip,rk808"; | |
89 | clock-output-names = "xin32k", "rk808-clkout2"; | |
90 | interrupt-parent = <&gpio0>; | |
91 | interrupts = <4 IRQ_TYPE_LEVEL_LOW>; | |
92 | pinctrl-names = "default"; | |
0ec5f8bd CZ |
93 | pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>; |
94 | dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>, | |
95 | <&gpio7 15 GPIO_ACTIVE_HIGH>; | |
a53b9a97 CZ |
96 | reg = <0x1b>; |
97 | rockchip,system-power-controller; | |
98 | wakeup-source; | |
99 | #clock-cells = <1>; | |
100 | ||
101 | vcc8-supply = <&vcc_18>; | |
102 | vcc9-supply = <&vcc_io>; | |
103 | vcc10-supply = <&vcc_io>; | |
104 | vcc12-supply = <&vcc_io>; | |
105 | vddio-supply = <&vccio_pmu>; | |
106 | ||
107 | regulators { | |
108 | vdd_cpu: DCDC_REG1 { | |
109 | regulator-always-on; | |
110 | regulator-boot-on; | |
111 | regulator-min-microvolt = <750000>; | |
112 | regulator-max-microvolt = <1300000>; | |
113 | regulator-name = "vdd_arm"; | |
114 | }; | |
115 | ||
116 | vdd_gpu: DCDC_REG2 { | |
117 | regulator-always-on; | |
118 | regulator-boot-on; | |
119 | regulator-min-microvolt = <850000>; | |
120 | regulator-max-microvolt = <1250000>; | |
121 | regulator-name = "vdd_gpu"; | |
122 | }; | |
123 | ||
124 | vcc_ddr: DCDC_REG3 { | |
125 | regulator-always-on; | |
126 | regulator-boot-on; | |
127 | regulator-name = "vcc_ddr"; | |
128 | }; | |
129 | ||
130 | vcc_io: DCDC_REG4 { | |
131 | regulator-always-on; | |
132 | regulator-boot-on; | |
133 | regulator-min-microvolt = <3300000>; | |
134 | regulator-max-microvolt = <3300000>; | |
135 | regulator-name = "vcc_io"; | |
136 | }; | |
137 | ||
138 | vccio_pmu: LDO_REG1 { | |
139 | regulator-always-on; | |
140 | regulator-boot-on; | |
141 | regulator-min-microvolt = <3300000>; | |
142 | regulator-max-microvolt = <3300000>; | |
143 | regulator-name = "vccio_pmu"; | |
144 | }; | |
145 | ||
146 | vcc_tp: LDO_REG2 { | |
147 | regulator-always-on; | |
148 | regulator-boot-on; | |
149 | regulator-min-microvolt = <3300000>; | |
150 | regulator-max-microvolt = <3300000>; | |
151 | regulator-name = "vcc_tp"; | |
152 | }; | |
153 | ||
154 | vdd_10: LDO_REG3 { | |
155 | regulator-always-on; | |
156 | regulator-boot-on; | |
157 | regulator-min-microvolt = <1000000>; | |
158 | regulator-max-microvolt = <1000000>; | |
159 | regulator-name = "vdd_10"; | |
160 | }; | |
161 | ||
162 | vcc18_lcd: LDO_REG4 { | |
163 | regulator-always-on; | |
164 | regulator-boot-on; | |
165 | regulator-min-microvolt = <1800000>; | |
166 | regulator-max-microvolt = <1800000>; | |
167 | regulator-name = "vcc18_lcd"; | |
168 | }; | |
169 | ||
170 | vccio_sd: LDO_REG5 { | |
171 | regulator-always-on; | |
172 | regulator-boot-on; | |
173 | regulator-min-microvolt = <1800000>; | |
174 | regulator-max-microvolt = <3300000>; | |
175 | regulator-name = "vccio_sd"; | |
176 | }; | |
177 | ||
178 | vdd10_lcd: LDO_REG6 { | |
179 | regulator-always-on; | |
180 | regulator-boot-on; | |
181 | regulator-min-microvolt = <1000000>; | |
182 | regulator-max-microvolt = <1000000>; | |
183 | regulator-name = "vdd10_lcd"; | |
184 | }; | |
185 | ||
186 | vcc_18: LDO_REG7 { | |
187 | regulator-always-on; | |
188 | regulator-boot-on; | |
189 | regulator-min-microvolt = <1800000>; | |
190 | regulator-max-microvolt = <1800000>; | |
191 | regulator-name = "vcc_18"; | |
192 | }; | |
193 | ||
194 | vcca_codec: LDO_REG8 { | |
195 | regulator-always-on; | |
196 | regulator-boot-on; | |
197 | regulator-min-microvolt = <3300000>; | |
198 | regulator-max-microvolt = <3300000>; | |
199 | regulator-name = "vcca_codec"; | |
200 | }; | |
201 | ||
202 | vcc_wl: SWITCH_REG1 { | |
203 | regulator-always-on; | |
204 | regulator-boot-on; | |
205 | regulator-name = "vcc_wl"; | |
206 | }; | |
207 | ||
208 | vcc_lcd: SWITCH_REG2 { | |
209 | regulator-always-on; | |
210 | regulator-boot-on; | |
211 | regulator-name = "vcc_lcd"; | |
212 | }; | |
213 | }; | |
214 | }; |