Loading...
Note: File does not exist in v6.13.7.
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
4 */
5
6#include "rk3288.dtsi"
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/clock/rockchip,rk808.h>
9
10/ {
11 chosen {
12 stdout-path = "serial2:115200n8";
13 };
14
15 memory {
16 reg = <0x0 0x0 0x0 0x80000000>;
17 device_type = "memory";
18 };
19
20 ext_gmac: external-gmac-clock {
21 compatible = "fixed-clock";
22 #clock-cells = <0>;
23 clock-frequency = <125000000>;
24 clock-output-names = "ext_gmac";
25 };
26
27 gpio-keys {
28 compatible = "gpio-keys";
29 #address-cells = <1>;
30 #size-cells = <0>;
31 autorepeat;
32
33 pinctrl-names = "default";
34 pinctrl-0 = <&pwrbtn>;
35
36 button@0 {
37 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
38 linux,code = <KEY_POWER>;
39 label = "GPIO Key Power";
40 linux,input-type = <1>;
41 wakeup-source;
42 debounce-interval = <100>;
43 };
44 };
45
46 gpio-leds {
47 compatible = "gpio-leds";
48
49 act_led: led-0 {
50 gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
51 linux,default-trigger = "mmc0";
52 };
53
54 heartbeat_led: led-1 {
55 gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
56 linux,default-trigger = "heartbeat";
57 };
58
59 pwr_led: led-2 {
60 gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
61 linux,default-trigger = "default-on";
62 };
63 };
64
65 sdio_pwrseq: sdio-pwrseq {
66 compatible = "mmc-pwrseq-simple";
67 clocks = <&rk808 RK808_CLKOUT1>;
68 clock-names = "ext_clock";
69 pinctrl-names = "default";
70 pinctrl-0 = <&wifi_enable>;
71 reset-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_LOW>,
72 <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
73 };
74
75 sound {
76 compatible = "simple-audio-card";
77 simple-audio-card,format = "i2s";
78 simple-audio-card,name = "rockchip,tinker-codec";
79 simple-audio-card,mclk-fs = <512>;
80
81 simple-audio-card,codec {
82 sound-dai = <&hdmi>;
83 };
84
85 simple-audio-card,cpu {
86 sound-dai = <&i2s>;
87 };
88 };
89
90 vcc_sys: vsys-regulator {
91 compatible = "regulator-fixed";
92 regulator-name = "vcc_sys";
93 regulator-min-microvolt = <5000000>;
94 regulator-max-microvolt = <5000000>;
95 regulator-always-on;
96 regulator-boot-on;
97 };
98
99 vcc_sd: sdmmc-regulator {
100 compatible = "regulator-fixed";
101 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
102 pinctrl-names = "default";
103 pinctrl-0 = <&sdmmc_pwr>;
104 regulator-name = "vcc_sd";
105 regulator-min-microvolt = <3300000>;
106 regulator-max-microvolt = <3300000>;
107 startup-delay-us = <100000>;
108 vin-supply = <&vcc_io>;
109 };
110};
111
112&cpu0 {
113 cpu0-supply = <&vdd_cpu>;
114};
115
116&cpu_opp_table {
117 opp-1704000000 {
118 opp-hz = /bits/ 64 <1704000000>;
119 opp-microvolt = <1350000>;
120 };
121 opp-1800000000 {
122 opp-hz = /bits/ 64 <1800000000>;
123 opp-microvolt = <1400000>;
124 };
125};
126
127&gmac {
128 assigned-clocks = <&cru SCLK_MAC>;
129 assigned-clock-parents = <&ext_gmac>;
130 clock_in_out = "input";
131 phy-mode = "rgmii";
132 phy-supply = <&vcc33_lan>;
133 pinctrl-names = "default";
134 pinctrl-0 = <&rgmii_pins>;
135 snps,reset-gpio = <&gpio4 7 0>;
136 snps,reset-active-low;
137 snps,reset-delays-us = <0 10000 1000000>;
138 tx_delay = <0x30>;
139 rx_delay = <0x10>;
140 status = "okay";
141};
142
143&gpu {
144 mali-supply = <&vdd_gpu>;
145 status = "okay";
146};
147
148&hdmi {
149 ddc-i2c-bus = <&i2c5>;
150 status = "okay";
151};
152
153&i2c0 {
154 clock-frequency = <400000>;
155 status = "okay";
156
157 rk808: pmic@1b {
158 compatible = "rockchip,rk808";
159 reg = <0x1b>;
160 interrupt-parent = <&gpio0>;
161 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
162 #clock-cells = <1>;
163 clock-output-names = "xin32k", "rk808-clkout2";
164 dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
165 <&gpio0 12 GPIO_ACTIVE_HIGH>;
166 pinctrl-names = "default";
167 pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>;
168 rockchip,system-power-controller;
169 wakeup-source;
170
171 vcc1-supply = <&vcc_sys>;
172 vcc2-supply = <&vcc_sys>;
173 vcc3-supply = <&vcc_sys>;
174 vcc4-supply = <&vcc_sys>;
175 vcc6-supply = <&vcc_sys>;
176 vcc7-supply = <&vcc_sys>;
177 vcc8-supply = <&vcc_io>;
178 vcc9-supply = <&vcc_io>;
179 vcc10-supply = <&vcc_io>;
180 vcc11-supply = <&vcc_sys>;
181 vcc12-supply = <&vcc_io>;
182 vddio-supply = <&vcc_io>;
183
184 regulators {
185 vdd_cpu: DCDC_REG1 {
186 regulator-always-on;
187 regulator-boot-on;
188 regulator-min-microvolt = <750000>;
189 regulator-max-microvolt = <1400000>;
190 regulator-name = "vdd_arm";
191 regulator-ramp-delay = <6000>;
192 regulator-state-mem {
193 regulator-off-in-suspend;
194 };
195 };
196
197 vdd_gpu: DCDC_REG2 {
198 regulator-always-on;
199 regulator-boot-on;
200 regulator-min-microvolt = <850000>;
201 regulator-max-microvolt = <1250000>;
202 regulator-name = "vdd_gpu";
203 regulator-ramp-delay = <6000>;
204 regulator-state-mem {
205 regulator-on-in-suspend;
206 regulator-suspend-microvolt = <1000000>;
207 };
208 };
209
210 vcc_ddr: DCDC_REG3 {
211 regulator-always-on;
212 regulator-boot-on;
213 regulator-name = "vcc_ddr";
214 regulator-state-mem {
215 regulator-on-in-suspend;
216 };
217 };
218
219 vcc_io: DCDC_REG4 {
220 regulator-always-on;
221 regulator-boot-on;
222 regulator-min-microvolt = <3300000>;
223 regulator-max-microvolt = <3300000>;
224 regulator-name = "vcc_io";
225 regulator-state-mem {
226 regulator-on-in-suspend;
227 regulator-suspend-microvolt = <3300000>;
228 };
229 };
230
231 vcc18_ldo1: LDO_REG1 {
232 regulator-always-on;
233 regulator-boot-on;
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 regulator-name = "vcc18_ldo1";
237 regulator-state-mem {
238 regulator-on-in-suspend;
239 regulator-suspend-microvolt = <1800000>;
240 };
241 };
242
243 vcc33_mipi: LDO_REG2 {
244 regulator-always-on;
245 regulator-boot-on;
246 regulator-min-microvolt = <3300000>;
247 regulator-max-microvolt = <3300000>;
248 regulator-name = "vcc33_mipi";
249 regulator-state-mem {
250 regulator-off-in-suspend;
251 };
252 };
253
254 vdd_10: LDO_REG3 {
255 regulator-always-on;
256 regulator-boot-on;
257 regulator-min-microvolt = <1000000>;
258 regulator-max-microvolt = <1000000>;
259 regulator-name = "vdd_10";
260 regulator-state-mem {
261 regulator-on-in-suspend;
262 regulator-suspend-microvolt = <1000000>;
263 };
264 };
265
266 vcc18_codec: LDO_REG4 {
267 regulator-always-on;
268 regulator-boot-on;
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <1800000>;
271 regulator-name = "vcc18_codec";
272 regulator-state-mem {
273 regulator-on-in-suspend;
274 regulator-suspend-microvolt = <1800000>;
275 };
276 };
277
278 vccio_sd: LDO_REG5 {
279 regulator-always-on;
280 regulator-boot-on;
281 regulator-min-microvolt = <1800000>;
282 regulator-max-microvolt = <3300000>;
283 regulator-name = "vccio_sd";
284 regulator-state-mem {
285 regulator-on-in-suspend;
286 regulator-suspend-microvolt = <3300000>;
287 };
288 };
289
290 vdd10_lcd: LDO_REG6 {
291 regulator-always-on;
292 regulator-boot-on;
293 regulator-min-microvolt = <1000000>;
294 regulator-max-microvolt = <1000000>;
295 regulator-name = "vdd10_lcd";
296 regulator-state-mem {
297 regulator-on-in-suspend;
298 regulator-suspend-microvolt = <1000000>;
299 };
300 };
301
302 vcc_18: LDO_REG7 {
303 regulator-always-on;
304 regulator-boot-on;
305 regulator-min-microvolt = <1800000>;
306 regulator-max-microvolt = <1800000>;
307 regulator-name = "vcc_18";
308 regulator-state-mem {
309 regulator-on-in-suspend;
310 regulator-suspend-microvolt = <1800000>;
311 };
312 };
313
314 vcc18_lcd: LDO_REG8 {
315 regulator-always-on;
316 regulator-boot-on;
317 regulator-min-microvolt = <1800000>;
318 regulator-max-microvolt = <1800000>;
319 regulator-name = "vcc18_lcd";
320 regulator-state-mem {
321 regulator-on-in-suspend;
322 regulator-suspend-microvolt = <1800000>;
323 };
324 };
325
326 vcc33_sd: SWITCH_REG1 {
327 regulator-always-on;
328 regulator-boot-on;
329 regulator-name = "vcc33_sd";
330 regulator-state-mem {
331 regulator-on-in-suspend;
332 };
333 };
334
335 vcc33_lan: SWITCH_REG2 {
336 regulator-always-on;
337 regulator-boot-on;
338 regulator-name = "vcc33_lan";
339 regulator-state-mem {
340 regulator-on-in-suspend;
341 };
342 };
343 };
344 };
345};
346
347&i2c2 {
348 status = "okay";
349};
350
351&i2c5 {
352 status = "okay";
353};
354
355&i2s {
356 #sound-dai-cells = <0>;
357 status = "okay";
358};
359
360&io_domains {
361 status = "okay";
362
363 sdcard-supply = <&vccio_sd>;
364 wifi-supply = <&vcc_18>;
365};
366
367&pinctrl {
368 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
369 drive-strength = <8>;
370 };
371
372 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
373 bias-pull-up;
374 drive-strength = <8>;
375 };
376
377 backlight {
378 bl_en: bl-en {
379 rockchip,pins = <7 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
380 };
381 };
382
383 buttons {
384 pwrbtn: pwrbtn {
385 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
386 };
387 };
388
389 eth_phy {
390 eth_phy_pwr: eth-phy-pwr {
391 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
392 };
393 };
394
395 pmic {
396 pmic_int: pmic-int {
397 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
398 };
399
400 dvs_1: dvs-1 {
401 rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>;
402 };
403
404 dvs_2: dvs-2 {
405 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
406 };
407 };
408
409 sdmmc {
410 sdmmc_bus4: sdmmc-bus4 {
411 rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_8ma>,
412 <6 RK_PC1 1 &pcfg_pull_up_drv_8ma>,
413 <6 RK_PC2 1 &pcfg_pull_up_drv_8ma>,
414 <6 RK_PC3 1 &pcfg_pull_up_drv_8ma>;
415 };
416
417 sdmmc_clk: sdmmc-clk {
418 rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>;
419 };
420
421 sdmmc_cmd: sdmmc-cmd {
422 rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>;
423 };
424
425 sdmmc_pwr: sdmmc-pwr {
426 rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
427 };
428 };
429
430 usb {
431 host_vbus_drv: host-vbus-drv {
432 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
433 };
434
435 pwr_3g: pwr-3g {
436 rockchip,pins = <7 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
437 };
438 };
439
440 sdio {
441 wifi_enable: wifi-enable {
442 rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>,
443 <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
444 };
445 };
446};
447
448&pwm0 {
449 status = "okay";
450};
451
452&saradc {
453 vref-supply = <&vcc18_ldo1>;
454 status = "okay";
455};
456
457&sdmmc {
458 bus-width = <4>;
459 cap-mmc-highspeed;
460 cap-sd-highspeed;
461 broken-cd;
462 disable-wp; /* wp not hooked up */
463 pinctrl-names = "default";
464 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
465 status = "okay";
466 vmmc-supply = <&vcc33_sd>;
467 vqmmc-supply = <&vccio_sd>;
468};
469
470&sdio0 {
471 bus-width = <4>;
472 cap-sd-highspeed;
473 cap-sdio-irq;
474 keep-power-in-suspend;
475 max-frequency = <50000000>;
476 mmc-pwrseq = <&sdio_pwrseq>;
477 non-removable;
478 pinctrl-names = "default";
479 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
480 sd-uhs-sdr12;
481 sd-uhs-sdr25;
482 sd-uhs-sdr50;
483 vmmc-supply = <&vcc_io>;
484 vqmmc-supply = <&vcc_18>;
485 status = "okay";
486};
487
488&tsadc {
489 rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
490 rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
491 status = "okay";
492};
493
494&uart0 {
495 status = "okay";
496};
497
498&uart1 {
499 status = "okay";
500};
501
502&uart2 {
503 status = "okay";
504};
505
506&uart3 {
507 status = "okay";
508};
509
510&uart4 {
511 status = "okay";
512};
513
514&usbphy {
515 status = "okay";
516};
517
518&usb_host0_ehci {
519 status = "okay";
520};
521
522&usb_host1 {
523 status = "okay";
524};
525
526&usb_otg {
527 status = "okay";
528};
529
530&vopb {
531 status = "okay";
532};
533
534&vopb_mmu {
535 status = "okay";
536};
537
538&vopl {
539 status = "okay";
540};
541
542&vopl_mmu {
543 status = "okay";
544};
545
546&wdt {
547 status = "okay";
548};