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