blob: 4960f3367c26828f2c3ca8d9f55e7d33c8bfeb1c [file] [log] [blame]
Xu Ziyuan3da09a82016-07-05 18:06:30 +08001/*
2 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier: GPL-2.0+ X11
5 */
6
7#include "rk3288.dtsi"
8
9/ {
10 memory {
11 reg = <0 0x80000000>;
12 };
13
Jacob Chen8ddfce52017-02-23 14:20:16 +080014 ext_gmac: external-gmac-clock {
15 compatible = "fixed-clock";
16 #clock-cells = <0>;
17 clock-frequency = <125000000>;
18 clock-output-names = "ext_gmac";
19 };
20
Xu Ziyuan3da09a82016-07-05 18:06:30 +080021 keys: gpio-keys {
22 compatible = "gpio-keys";
23 #address-cells = <1>;
24 #size-cells = <0>;
25
26 button@0 {
27 gpio-key,wakeup = <1>;
28 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
29 label = "GPIO Power";
30 linux,code = <116>;
31 pinctrl-names = "default";
32 pinctrl-0 = <&pwr_key>;
33 };
34 };
35
36 vcc_sys: vsys-regulator {
37 compatible = "regulator-fixed";
38 regulator-name = "vcc_sys";
39 regulator-min-microvolt = <5000000>;
40 regulator-max-microvolt = <5000000>;
41 regulator-always-on;
42 regulator-boot-on;
43 };
44
45 vcc_flash: flash-regulator {
46 compatible = "regulator-fixed";
47 regulator-name = "vcc_flash";
48 regulator-min-microvolt = <1800000>;
49 regulator-max-microvolt = <1800000>;
50 vin-supply = <&vcc_io>;
51 };
52
53 vcc_5v: usb-regulator {
54 compatible = "regulator-fixed";
55 regulator-name = "vcc_5v";
56 regulator-min-microvolt = <5000000>;
57 regulator-max-microvolt = <5000000>;
58 regulator-always-on;
59 regulator-boot-on;
60 vin-supply = <&vcc_sys>;
61 };
62
63 vcc_host_5v: usb-host-regulator {
64 compatible = "regulator-fixed";
65 enable-active-high;
66 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
67 pinctrl-names = "default";
68 pinctrl-0 = <&host_vbus_drv>;
69 regulator-name = "vcc_host_5v";
70 regulator-min-microvolt = <5000000>;
71 regulator-max-microvolt = <5000000>;
72 regulator-always-on;
73 vin-supply = <&vcc_5v>;
74 };
75
76 vcc_otg_5v: usb-otg-regulator {
77 compatible = "regulator-fixed";
78 enable-active-high;
79 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
80 pinctrl-names = "default";
81 pinctrl-0 = <&otg_vbus_drv>;
82 regulator-name = "vcc_otg_5v";
83 regulator-min-microvolt = <5000000>;
84 regulator-max-microvolt = <5000000>;
85 regulator-always-on;
86 vin-supply = <&vcc_5v>;
87 };
88};
89
90&cpu0 {
91 cpu0-supply = <&vdd_cpu>;
92};
93
94&emmc {
95 broken-cd;
96 bus-width = <8>;
97 cap-mmc-highspeed;
98 disable-wp;
99 non-removable;
100 num-slots = <1>;
101 pinctrl-names = "default";
102 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
103 vmmc-supply = <&vcc_io>;
104 vqmmc-supply = <&vcc_flash>;
105 status = "okay";
106};
107
Jacob Chen8ddfce52017-02-23 14:20:16 +0800108&gmac {
109 phy-mode = "rgmii";
110 clock_in_out = "input";
111 snps,reset-gpio = <&gpio4 7 0>;
112 snps,reset-active-low;
113 snps,reset-delays-us = <0 10000 1000000>;
114 assigned-clocks = <&cru SCLK_MAC>;
115 assigned-clock-parents = <&ext_gmac>;
116 pinctrl-names = "default";
117 pinctrl-0 = <&rgmii_pins>;
118 tx_delay = <0x30>;
119 rx_delay = <0x10>;
120 status = "okay";
121};
122
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800123&hdmi {
124 ddc-i2c-bus = <&i2c5>;
125 status = "okay";
126};
127
128&i2c0 {
129 clock-frequency = <400000>;
130 status = "okay";
131
132 vdd_cpu: syr827@40 {
133 compatible = "silergy,syr827";
134 fcs,suspend-voltage-selector = <1>;
135 reg = <0x40>;
136 regulator-name = "vdd_cpu";
137 regulator-min-microvolt = <850000>;
138 regulator-max-microvolt = <1350000>;
139 regulator-always-on;
140 regulator-boot-on;
141 vin-supply = <&vcc_sys>;
142 };
143
144 vdd_gpu: syr828@41 {
145 compatible = "silergy,syr828";
146 fcs,suspend-voltage-selector = <1>;
147 reg = <0x41>;
148 regulator-name = "vdd_gpu";
149 regulator-min-microvolt = <850000>;
150 regulator-max-microvolt = <1350000>;
151 regulator-always-on;
152 vin-supply = <&vcc_sys>;
153 };
154
155 hym8563: hym8563@51 {
156 compatible = "haoyu,hym8563";
157 reg = <0x51>;
158 #clock-cells = <0>;
159 clock-frequency = <32768>;
160 clock-output-names = "xin32k";
161 interrupt-parent = <&gpio7>;
162 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
163 pinctrl-names = "default";
164 pinctrl-0 = <&rtc_int>;
165 };
166
167 act8846: act8846@5a {
168 compatible = "active-semi,act8846";
169 reg = <0x5a>;
170 pinctrl-names = "default";
171 pinctrl-0 = <&pwr_hold>;
172 system-power-controller;
173
174 regulators {
175 vcc_ddr: REG1 {
176 regulator-name = "vcc_ddr";
177 regulator-min-microvolt = <1200000>;
178 regulator-max-microvolt = <1200000>;
179 regulator-always-on;
180 };
181
182 vcc_io: REG2 {
183 regulator-name = "vcc_io";
184 regulator-min-microvolt = <3300000>;
185 regulator-max-microvolt = <3300000>;
186 regulator-always-on;
187 };
188
189 vdd_log: REG3 {
190 regulator-name = "vdd_log";
191 regulator-min-microvolt = <1100000>;
192 regulator-max-microvolt = <1100000>;
193 regulator-always-on;
194 };
195
196 vcc_20: REG4 {
197 regulator-name = "vcc_20";
198 regulator-min-microvolt = <2000000>;
199 regulator-max-microvolt = <2000000>;
200 regulator-always-on;
201 };
202
203 vccio_sd: REG5 {
204 regulator-name = "vccio_sd";
205 regulator-min-microvolt = <3300000>;
206 regulator-max-microvolt = <3300000>;
207 regulator-always-on;
208 };
209
210 vdd10_lcd: REG6 {
211 regulator-name = "vdd10_lcd";
212 regulator-min-microvolt = <1000000>;
213 regulator-max-microvolt = <1000000>;
214 regulator-always-on;
215 };
216
217 vcca_codec: REG7 {
218 regulator-name = "vcca_codec";
219 regulator-min-microvolt = <3300000>;
220 regulator-max-microvolt = <3300000>;
221 };
222
223 vcc_tp: REG8 {
224 regulator-name = "vcca_33";
225 regulator-min-microvolt = <3300000>;
226 regulator-max-microvolt = <3300000>;
227 };
228
229 vccio_pmu: REG9 {
230 regulator-name = "vccio_pmu";
231 regulator-min-microvolt = <3300000>;
232 regulator-max-microvolt = <3300000>;
233 };
234
235 vdd_10: REG10 {
236 regulator-name = "vdd_10";
237 regulator-min-microvolt = <1000000>;
238 regulator-max-microvolt = <1000000>;
239 regulator-always-on;
240 };
241
242 vcc_18: REG11 {
243 regulator-name = "vcc_18";
244 regulator-min-microvolt = <1800000>;
245 regulator-max-microvolt = <1800000>;
246 regulator-always-on;
247 };
248
249 vcc18_lcd: REG12 {
250 regulator-name = "vcc18_lcd";
251 regulator-min-microvolt = <1800000>;
252 regulator-max-microvolt = <1800000>;
253 regulator-always-on;
254 };
255 };
256 };
257};
258
259&i2c1 {
260 status = "okay";
261};
262
263&i2c2 {
264 status = "okay";
265};
266
267&i2c4 {
268 status = "okay";
269};
270
271&i2c5 {
272 status = "okay";
273};
274
275&pinctrl {
276 pcfg_output_high: pcfg-output-high {
277 output-high;
278 };
279
280 pcfg_output_low: pcfg-output-low {
281 output-low;
282 };
283
284 act8846 {
285 pwr_hold: pwr-hold {
286 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>;
287 };
288 };
289
290 hym8563 {
291 rtc_int: rtc-int {
292 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
293 };
294 };
295
296 keys {
297 pwr_key: pwr-key {
298 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
299 };
300 };
301
302 sdmmc {
303 sdmmc_pwr: sdmmc-pwr {
304 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
305 };
306 };
307
308 usb_host {
309 host_vbus_drv: host-vbus-drv {
310 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
311 };
312 };
313
314 usb_otg {
315 otg_vbus_drv: otg-vbus-drv {
316 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
317 };
318 };
319};
320
321&saradc {
322 vref-supply = <&vcc_18>;
323 status = "okay";
324};
325
326&sdio0 {
327 broken-cd;
328 bus-width = <4>;
329 disable-wp;
330 non-removable;
331 num-slots = <1>;
332 pinctrl-names = "default";
333 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
334 vmmc-supply = <&vcc_18>;
335 status = "disabled";
336};
337
338&sdmmc {
339 bus-width = <4>;
340 cap-mmc-highspeed;
341 cap-sd-highspeed;
342 card-detect-delay = <200>;
343 disable-wp;
344 num-slots = <1>;
345 pinctrl-names = "default";
346 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
347 vmmc-supply = <&vccio_sd>;
348 status = "okay";
349};
350
351&spi0 {
352 pinctrl-names = "default";
353 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
354 status = "okay";
355};
356
357&uart0 {
358 pinctrl-names = "default";
359 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
360 status = "okay";
361};
362
363&uart1 {
364 status = "okay";
365};
366
367&uart2 {
368 status = "okay";
369};
370
371&uart3 {
372 status = "okay";
373};
374
375&usb_host1 {
376 status = "okay";
377};
378
379&usb_otg {
380 status = "okay";
381};
382
383&vopb {
384 status = "okay";
385};
386
387&vopb_mmu {
388 status = "okay";
389};
390
391&vopl {
392 status = "okay";
393};
394
395&vopl_mmu {
396 status = "okay";
397};
398
399&wdt {
400 status = "okay";
401};