blob: d63faf38cc81a8e2b38ef282e204c4280256316a [file] [log] [blame]
Jagan Teki5cc21182020-04-28 15:30:17 +05301// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Kever Yanga46de892017-04-19 18:17:32 +08002/*
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
Kever Yanga46de892017-04-19 18:17:32 +08004 */
5
6/dts-v1/;
Jagan Teki5cc21182020-04-28 15:30:17 +05307#include <dt-bindings/input/linux-event-codes.h>
Kever Yanga46de892017-04-19 18:17:32 +08008#include <dt-bindings/pwm/pwm.h>
Kever Yanga46de892017-04-19 18:17:32 +08009#include "rk3399.dtsi"
Jagan Teki5cc21182020-04-28 15:30:17 +053010#include "rk3399-opp.dtsi"
Kever Yanga46de892017-04-19 18:17:32 +080011
12/ {
13 model = "Firefly-RK3399 Board";
14 compatible = "firefly,firefly-rk3399", "rockchip,rk3399";
15
16 chosen {
Jagan Teki5cc21182020-04-28 15:30:17 +053017 stdout-path = "serial2:1500000n8";
Kever Yanga46de892017-04-19 18:17:32 +080018 };
19
20 backlight: backlight {
21 compatible = "pwm-backlight";
22 enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
23 pwms = <&pwm0 0 25000 0>;
24 brightness-levels = <
25 0 1 2 3 4 5 6 7
26 8 9 10 11 12 13 14 15
27 16 17 18 19 20 21 22 23
28 24 25 26 27 28 29 30 31
29 32 33 34 35 36 37 38 39
30 40 41 42 43 44 45 46 47
31 48 49 50 51 52 53 54 55
32 56 57 58 59 60 61 62 63
33 64 65 66 67 68 69 70 71
34 72 73 74 75 76 77 78 79
35 80 81 82 83 84 85 86 87
36 88 89 90 91 92 93 94 95
37 96 97 98 99 100 101 102 103
38 104 105 106 107 108 109 110 111
39 112 113 114 115 116 117 118 119
40 120 121 122 123 124 125 126 127
41 128 129 130 131 132 133 134 135
42 136 137 138 139 140 141 142 143
43 144 145 146 147 148 149 150 151
44 152 153 154 155 156 157 158 159
45 160 161 162 163 164 165 166 167
46 168 169 170 171 172 173 174 175
47 176 177 178 179 180 181 182 183
48 184 185 186 187 188 189 190 191
49 192 193 194 195 196 197 198 199
50 200 201 202 203 204 205 206 207
51 208 209 210 211 212 213 214 215
52 216 217 218 219 220 221 222 223
53 224 225 226 227 228 229 230 231
54 232 233 234 235 236 237 238 239
55 240 241 242 243 244 245 246 247
56 248 249 250 251 252 253 254 255>;
57 default-brightness-level = <200>;
58 };
59
60 clkin_gmac: external-gmac-clock {
61 compatible = "fixed-clock";
62 clock-frequency = <125000000>;
63 clock-output-names = "clkin_gmac";
64 #clock-cells = <0>;
65 };
66
Jagan Teki5cc21182020-04-28 15:30:17 +053067 dc_12v: dc-12v {
68 compatible = "regulator-fixed";
69 regulator-name = "dc_12v";
70 regulator-always-on;
71 regulator-boot-on;
72 regulator-min-microvolt = <12000000>;
73 regulator-max-microvolt = <12000000>;
74 };
75
76 gpio-keys {
77 compatible = "gpio-keys";
78 autorepeat;
79 pinctrl-names = "default";
80 pinctrl-0 = <&pwrbtn>;
81
82 power {
83 debounce-interval = <100>;
84 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
85 label = "GPIO Key Power";
86 linux,code = <KEY_POWER>;
87 wakeup-source;
88 };
89 };
90
91 leds {
92 compatible = "gpio-leds";
93 pinctrl-names = "default";
94 pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>;
95
96 work-led {
97 label = "work";
98 default-state = "on";
99 gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
100 };
101
102 diy-led {
103 label = "diy";
104 default-state = "off";
105 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
106 };
107 };
108
Kever Yanga46de892017-04-19 18:17:32 +0800109 rt5640-sound {
110 compatible = "simple-audio-card";
111 simple-audio-card,name = "rockchip,rt5640-codec";
112 simple-audio-card,format = "i2s";
113 simple-audio-card,mclk-fs = <256>;
114 simple-audio-card,widgets =
115 "Microphone", "Mic Jack",
116 "Headphone", "Headphone Jack";
117 simple-audio-card,routing =
118 "Mic Jack", "MICBIAS1",
119 "IN1P", "Mic Jack",
120 "Headphone Jack", "HPOL",
121 "Headphone Jack", "HPOR";
122
123 simple-audio-card,cpu {
124 sound-dai = <&i2s1>;
125 };
126
127 simple-audio-card,codec {
128 sound-dai = <&rt5640>;
129 };
130 };
131
132 sdio_pwrseq: sdio-pwrseq {
133 compatible = "mmc-pwrseq-simple";
134 clocks = <&rk808 1>;
135 clock-names = "ext_clock";
136 pinctrl-names = "default";
137 pinctrl-0 = <&wifi_enable_h>;
138
139 /*
140 * On the module itself this is one of these (depending
141 * on the actual card populated):
142 * - SDIO_RESET_L_WL_REG_ON
143 * - PDN (power down when low)
144 */
145 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
146 };
147
Jagan Teki5cc21182020-04-28 15:30:17 +0530148 /* switched by pmic_sleep */
149 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
150 compatible = "regulator-fixed";
151 regulator-name = "vcc1v8_s3";
152 regulator-always-on;
153 regulator-boot-on;
154 regulator-min-microvolt = <1800000>;
155 regulator-max-microvolt = <1800000>;
156 vin-supply = <&vcc_1v8>;
157 };
158
Kever Yanga46de892017-04-19 18:17:32 +0800159 vcc3v3_pcie: vcc3v3-pcie-regulator {
160 compatible = "regulator-fixed";
161 enable-active-high;
162 gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
163 pinctrl-names = "default";
Jagan Teki5cc21182020-04-28 15:30:17 +0530164 pinctrl-0 = <&pcie_pwr_en>;
Kever Yanga46de892017-04-19 18:17:32 +0800165 regulator-name = "vcc3v3_pcie";
166 regulator-always-on;
167 regulator-boot-on;
Jagan Teki5cc21182020-04-28 15:30:17 +0530168 vin-supply = <&dc_12v>;
Kever Yanga46de892017-04-19 18:17:32 +0800169 };
170
171 vcc3v3_sys: vcc3v3-sys {
172 compatible = "regulator-fixed";
173 regulator-name = "vcc3v3_sys";
174 regulator-always-on;
175 regulator-boot-on;
176 regulator-min-microvolt = <3300000>;
177 regulator-max-microvolt = <3300000>;
Jagan Teki5cc21182020-04-28 15:30:17 +0530178 vin-supply = <&vcc_sys>;
Kever Yanga46de892017-04-19 18:17:32 +0800179 };
180
Jagan Teki5cc21182020-04-28 15:30:17 +0530181 /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
Kever Yanga46de892017-04-19 18:17:32 +0800182 vcc5v0_host: vcc5v0-host-regulator {
183 compatible = "regulator-fixed";
184 enable-active-high;
185 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
186 pinctrl-names = "default";
Jagan Teki5cc21182020-04-28 15:30:17 +0530187 pinctrl-0 = <&vcc5v0_host_en>;
Kever Yanga46de892017-04-19 18:17:32 +0800188 regulator-name = "vcc5v0_host";
189 regulator-always-on;
Jagan Teki5cc21182020-04-28 15:30:17 +0530190 vin-supply = <&vcc_sys>;
Kever Yanga46de892017-04-19 18:17:32 +0800191 };
192
Jagan Teki5cc21182020-04-28 15:30:17 +0530193 vcc_sys: vcc-sys {
Kever Yanga46de892017-04-19 18:17:32 +0800194 compatible = "regulator-fixed";
Jagan Teki5cc21182020-04-28 15:30:17 +0530195 regulator-name = "vcc_sys";
Kever Yanga46de892017-04-19 18:17:32 +0800196 regulator-always-on;
197 regulator-boot-on;
198 regulator-min-microvolt = <5000000>;
199 regulator-max-microvolt = <5000000>;
Jagan Teki5cc21182020-04-28 15:30:17 +0530200 vin-supply = <&dc_12v>;
Kever Yanga46de892017-04-19 18:17:32 +0800201 };
202
Kever Yanga46de892017-04-19 18:17:32 +0800203 vdd_log: vdd-log {
204 compatible = "pwm-regulator";
205 pwms = <&pwm2 0 25000 1>;
206 regulator-name = "vdd_log";
207 regulator-always-on;
208 regulator-boot-on;
Kever Yang1511c2e2017-07-19 19:54:20 +0800209 regulator-min-microvolt = <430000>;
Kever Yanga46de892017-04-19 18:17:32 +0800210 regulator-max-microvolt = <1400000>;
Jagan Teki5cc21182020-04-28 15:30:17 +0530211 vin-supply = <&vcc_sys>;
Kever Yanga46de892017-04-19 18:17:32 +0800212 };
213};
214
215&cpu_l0 {
216 cpu-supply = <&vdd_cpu_l>;
217};
218
219&cpu_l1 {
220 cpu-supply = <&vdd_cpu_l>;
221};
222
223&cpu_l2 {
224 cpu-supply = <&vdd_cpu_l>;
225};
226
227&cpu_l3 {
228 cpu-supply = <&vdd_cpu_l>;
229};
230
231&cpu_b0 {
232 cpu-supply = <&vdd_cpu_b>;
233};
234
235&cpu_b1 {
236 cpu-supply = <&vdd_cpu_b>;
237};
238
239&emmc_phy {
240 status = "okay";
241};
242
243&gmac {
244 assigned-clocks = <&cru SCLK_RMII_SRC>;
245 assigned-clock-parents = <&clkin_gmac>;
246 clock_in_out = "input";
Jagan Teki5cc21182020-04-28 15:30:17 +0530247 phy-supply = <&vcc_lan>;
Kever Yanga46de892017-04-19 18:17:32 +0800248 phy-mode = "rgmii";
249 pinctrl-names = "default";
250 pinctrl-0 = <&rgmii_pins>;
251 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
252 snps,reset-active-low;
253 snps,reset-delays-us = <0 10000 50000>;
Jagan Teki5cc21182020-04-28 15:30:17 +0530254 tx_delay = <0x28>;
255 rx_delay = <0x11>;
Kever Yanga46de892017-04-19 18:17:32 +0800256 status = "okay";
257};
258
Jagan Teki5cc21182020-04-28 15:30:17 +0530259&hdmi {
260 ddc-i2c-bus = <&i2c3>;
261 pinctrl-names = "default";
262 pinctrl-0 = <&hdmi_cec>;
263 status = "okay";
264};
265
Kever Yanga46de892017-04-19 18:17:32 +0800266&i2c0 {
267 clock-frequency = <400000>;
268 i2c-scl-rising-time-ns = <168>;
269 i2c-scl-falling-time-ns = <4>;
270 status = "okay";
271
272 rk808: pmic@1b {
273 compatible = "rockchip,rk808";
274 reg = <0x1b>;
275 interrupt-parent = <&gpio1>;
276 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
277 #clock-cells = <1>;
278 clock-output-names = "xin32k", "rk808-clkout2";
279 pinctrl-names = "default";
280 pinctrl-0 = <&pmic_int_l>;
281 rockchip,system-power-controller;
282 wakeup-source;
283
Jagan Teki5cc21182020-04-28 15:30:17 +0530284 vcc1-supply = <&vcc_sys>;
285 vcc2-supply = <&vcc_sys>;
286 vcc3-supply = <&vcc_sys>;
287 vcc4-supply = <&vcc_sys>;
288 vcc6-supply = <&vcc_sys>;
289 vcc7-supply = <&vcc_sys>;
Kever Yanga46de892017-04-19 18:17:32 +0800290 vcc8-supply = <&vcc3v3_sys>;
Jagan Teki5cc21182020-04-28 15:30:17 +0530291 vcc9-supply = <&vcc_sys>;
292 vcc10-supply = <&vcc_sys>;
293 vcc11-supply = <&vcc_sys>;
Kever Yanga46de892017-04-19 18:17:32 +0800294 vcc12-supply = <&vcc3v3_sys>;
295 vddio-supply = <&vcc1v8_pmu>;
296
297 regulators {
298 vdd_center: DCDC_REG1 {
299 regulator-name = "vdd_center";
300 regulator-always-on;
301 regulator-boot-on;
302 regulator-min-microvolt = <750000>;
303 regulator-max-microvolt = <1350000>;
304 regulator-ramp-delay = <6001>;
305 regulator-state-mem {
306 regulator-off-in-suspend;
307 };
308 };
309
310 vdd_cpu_l: DCDC_REG2 {
311 regulator-name = "vdd_cpu_l";
312 regulator-always-on;
313 regulator-boot-on;
314 regulator-min-microvolt = <750000>;
315 regulator-max-microvolt = <1350000>;
316 regulator-ramp-delay = <6001>;
317 regulator-state-mem {
318 regulator-off-in-suspend;
319 };
320 };
321
322 vcc_ddr: DCDC_REG3 {
323 regulator-name = "vcc_ddr";
324 regulator-always-on;
325 regulator-boot-on;
326 regulator-state-mem {
327 regulator-on-in-suspend;
328 };
329 };
330
331 vcc_1v8: DCDC_REG4 {
332 regulator-name = "vcc_1v8";
333 regulator-always-on;
334 regulator-boot-on;
335 regulator-min-microvolt = <1800000>;
336 regulator-max-microvolt = <1800000>;
337 regulator-state-mem {
338 regulator-on-in-suspend;
339 regulator-suspend-microvolt = <1800000>;
340 };
341 };
342
343 vcc1v8_dvp: LDO_REG1 {
344 regulator-name = "vcc1v8_dvp";
345 regulator-always-on;
346 regulator-boot-on;
347 regulator-min-microvolt = <1800000>;
348 regulator-max-microvolt = <1800000>;
349 regulator-state-mem {
350 regulator-off-in-suspend;
351 };
352 };
353
Jagan Teki5cc21182020-04-28 15:30:17 +0530354 vcc2v8_dvp: LDO_REG2 {
355 regulator-name = "vcc2v8_dvp";
Kever Yanga46de892017-04-19 18:17:32 +0800356 regulator-always-on;
357 regulator-boot-on;
Jagan Teki5cc21182020-04-28 15:30:17 +0530358 regulator-min-microvolt = <2800000>;
359 regulator-max-microvolt = <2800000>;
Kever Yanga46de892017-04-19 18:17:32 +0800360 regulator-state-mem {
361 regulator-off-in-suspend;
362 };
363 };
364
365 vcc1v8_pmu: LDO_REG3 {
366 regulator-name = "vcc1v8_pmu";
367 regulator-always-on;
368 regulator-boot-on;
369 regulator-min-microvolt = <1800000>;
370 regulator-max-microvolt = <1800000>;
371 regulator-state-mem {
372 regulator-on-in-suspend;
373 regulator-suspend-microvolt = <1800000>;
374 };
375 };
376
Jagan Teki5cc21182020-04-28 15:30:17 +0530377 vcc_sdio: LDO_REG4 {
378 regulator-name = "vcc_sdio";
Kever Yanga46de892017-04-19 18:17:32 +0800379 regulator-always-on;
380 regulator-boot-on;
381 regulator-min-microvolt = <1800000>;
Klaus Gogere7b89402017-11-06 23:02:55 +0100382 regulator-max-microvolt = <3000000>;
Kever Yanga46de892017-04-19 18:17:32 +0800383 regulator-state-mem {
384 regulator-on-in-suspend;
Klaus Gogere7b89402017-11-06 23:02:55 +0100385 regulator-suspend-microvolt = <3000000>;
Kever Yanga46de892017-04-19 18:17:32 +0800386 };
387 };
388
389 vcca3v0_codec: LDO_REG5 {
390 regulator-name = "vcca3v0_codec";
391 regulator-always-on;
392 regulator-boot-on;
393 regulator-min-microvolt = <3000000>;
394 regulator-max-microvolt = <3000000>;
395 regulator-state-mem {
396 regulator-off-in-suspend;
397 };
398 };
399
400 vcc_1v5: LDO_REG6 {
401 regulator-name = "vcc_1v5";
402 regulator-always-on;
403 regulator-boot-on;
404 regulator-min-microvolt = <1500000>;
405 regulator-max-microvolt = <1500000>;
406 regulator-state-mem {
407 regulator-on-in-suspend;
408 regulator-suspend-microvolt = <1500000>;
409 };
410 };
411
412 vcca1v8_codec: LDO_REG7 {
413 regulator-name = "vcca1v8_codec";
414 regulator-always-on;
415 regulator-boot-on;
416 regulator-min-microvolt = <1800000>;
417 regulator-max-microvolt = <1800000>;
418 regulator-state-mem {
419 regulator-off-in-suspend;
420 };
421 };
422
423 vcc_3v0: LDO_REG8 {
424 regulator-name = "vcc_3v0";
425 regulator-always-on;
426 regulator-boot-on;
427 regulator-min-microvolt = <3000000>;
428 regulator-max-microvolt = <3000000>;
429 regulator-state-mem {
430 regulator-on-in-suspend;
431 regulator-suspend-microvolt = <3000000>;
432 };
433 };
434
Jagan Teki5cc21182020-04-28 15:30:17 +0530435 vcc3v3_s3: vcc_lan: SWITCH_REG1 {
Kever Yanga46de892017-04-19 18:17:32 +0800436 regulator-name = "vcc3v3_s3";
437 regulator-always-on;
438 regulator-boot-on;
439 regulator-state-mem {
440 regulator-off-in-suspend;
441 };
442 };
443
444 vcc3v3_s0: SWITCH_REG2 {
445 regulator-name = "vcc3v3_s0";
446 regulator-always-on;
447 regulator-boot-on;
448 regulator-state-mem {
449 regulator-off-in-suspend;
450 };
451 };
452 };
453 };
454
455 vdd_cpu_b: regulator@40 {
456 compatible = "silergy,syr827";
457 reg = <0x40>;
458 fcs,suspend-voltage-selector = <0>;
459 regulator-name = "vdd_cpu_b";
460 regulator-min-microvolt = <712500>;
461 regulator-max-microvolt = <1500000>;
462 regulator-ramp-delay = <1000>;
463 regulator-always-on;
464 regulator-boot-on;
Jagan Teki5cc21182020-04-28 15:30:17 +0530465 vin-supply = <&vcc_sys>;
Kever Yanga46de892017-04-19 18:17:32 +0800466
467 regulator-state-mem {
468 regulator-off-in-suspend;
469 };
470 };
471
472 vdd_gpu: regulator@41 {
473 compatible = "silergy,syr828";
474 reg = <0x41>;
475 fcs,suspend-voltage-selector = <1>;
476 regulator-name = "vdd_gpu";
477 regulator-min-microvolt = <712500>;
478 regulator-max-microvolt = <1500000>;
479 regulator-ramp-delay = <1000>;
480 regulator-always-on;
481 regulator-boot-on;
Jagan Teki5cc21182020-04-28 15:30:17 +0530482 vin-supply = <&vcc_sys>;
Kever Yanga46de892017-04-19 18:17:32 +0800483
484 regulator-state-mem {
485 regulator-off-in-suspend;
486 };
487 };
488};
489
490&i2c1 {
491 i2c-scl-rising-time-ns = <300>;
492 i2c-scl-falling-time-ns = <15>;
493 status = "okay";
494
495 rt5640: rt5640@1c {
496 compatible = "realtek,rt5640";
497 reg = <0x1c>;
498 clocks = <&cru SCLK_I2S_8CH_OUT>;
499 clock-names = "mclk";
500 realtek,in1-differential;
501 #sound-dai-cells = <0>;
502 pinctrl-names = "default";
503 pinctrl-0 = <&rt5640_hpcon>;
504 };
505};
506
507&i2c3 {
508 i2c-scl-rising-time-ns = <450>;
509 i2c-scl-falling-time-ns = <15>;
510 status = "okay";
511};
512
513&i2c4 {
514 i2c-scl-rising-time-ns = <600>;
515 i2c-scl-falling-time-ns = <20>;
516 status = "okay";
517
518 accelerometer@68 {
519 compatible = "invensense,mpu6500";
520 reg = <0x68>;
521 interrupt-parent = <&gpio1>;
522 interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>;
523 };
524};
525
526&i2s0 {
527 rockchip,playback-channels = <8>;
528 rockchip,capture-channels = <8>;
Kever Yanga46de892017-04-19 18:17:32 +0800529 status = "okay";
530};
531
532&i2s1 {
533 rockchip,playback-channels = <2>;
534 rockchip,capture-channels = <2>;
Kever Yanga46de892017-04-19 18:17:32 +0800535 status = "okay";
536};
537
538&i2s2 {
Kever Yanga46de892017-04-19 18:17:32 +0800539 status = "okay";
540};
541
542&io_domains {
543 status = "okay";
544
545 bt656-supply = <&vcc1v8_dvp>;
546 audio-supply = <&vcca1v8_codec>;
Jagan Teki5cc21182020-04-28 15:30:17 +0530547 sdmmc-supply = <&vcc_sdio>;
Kever Yanga46de892017-04-19 18:17:32 +0800548 gpio1830-supply = <&vcc_3v0>;
549};
550
551&pcie_phy {
552 status = "okay";
553};
554
555&pcie0 {
556 ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
557 num-lanes = <4>;
558 pinctrl-names = "default";
Jagan Teki5cc21182020-04-28 15:30:17 +0530559 pinctrl-0 = <&pcie_clkreqn_cpm>;
Kever Yanga46de892017-04-19 18:17:32 +0800560 status = "okay";
561};
562
563&pmu_io_domains {
564 pmu1830-supply = <&vcc_3v0>;
565 status = "okay";
566};
567
568&pinctrl {
569 buttons {
570 pwrbtn: pwrbtn {
571 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
572 };
573 };
574
575 lcd-panel {
576 lcd_panel_reset: lcd-panel-reset {
577 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
578 };
579 };
580
581 pcie {
Jagan Teki5cc21182020-04-28 15:30:17 +0530582 pcie_pwr_en: pcie-pwr-en {
Kever Yanga46de892017-04-19 18:17:32 +0800583 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
584 };
585
586 pcie_3g_drv: pcie-3g-drv {
587 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
588 };
589 };
590
591 pmic {
592 vsel1_gpio: vsel1-gpio {
593 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
594 };
595
596 vsel2_gpio: vsel2-gpio {
597 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
598 };
599 };
600
601 sdio-pwrseq {
602 wifi_enable_h: wifi-enable-h {
603 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
604 };
605 };
606
607 rt5640 {
608 rt5640_hpcon: rt5640-hpcon {
609 rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
610 };
611 };
612
613 pmic {
614 pmic_int_l: pmic-int-l {
615 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
616 };
617 };
618
619 usb2 {
Jagan Teki5cc21182020-04-28 15:30:17 +0530620 vcc5v0_host_en: vcc5v0-host-en {
Kever Yanga46de892017-04-19 18:17:32 +0800621 rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
622 };
623 };
Jagan Teki5cc21182020-04-28 15:30:17 +0530624
625 wifi {
626 wifi_host_wake_l: wifi-host-wake-l {
627 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
628 };
629 };
630
631 leds {
632 work_led_gpio: work_led-gpio {
633 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
634 };
635
636 diy_led_gpio: diy_led-gpio {
637 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
638 };
639 };
Kever Yanga46de892017-04-19 18:17:32 +0800640};
641
642&pwm0 {
643 status = "okay";
644};
645
646&pwm2 {
647 status = "okay";
648};
649
650&saradc {
Jagan Teki5cc21182020-04-28 15:30:17 +0530651 vref-supply = <&vcca1v8_s3>;
652 status = "okay";
653};
654
655&sdio0 {
656 /* WiFi & BT combo module Ampak AP6356S */
657 bus-width = <4>;
658 cap-sdio-irq;
659 cap-sd-highspeed;
660 keep-power-in-suspend;
661 mmc-pwrseq = <&sdio_pwrseq>;
662 non-removable;
663 pinctrl-names = "default";
664 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
665 sd-uhs-sdr104;
666
667 /* Power supply */
668 vqmmc-supply = &vcc1v8_s3; /* IO line */
669 vmmc-supply = &vcc_sdio; /* card's power */
670
671 #address-cells = <1>;
672 #size-cells = <0>;
Kever Yanga46de892017-04-19 18:17:32 +0800673 status = "okay";
Jagan Teki5cc21182020-04-28 15:30:17 +0530674
675 brcmf: wifi@1 {
676 reg = <1>;
677 compatible = "brcm,bcm4329-fmac";
678 interrupt-parent = <&gpio0>;
679 interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
680 interrupt-names = "host-wake";
681 brcm,drive-strength = <5>;
682 pinctrl-names = "default";
683 pinctrl-0 = <&wifi_host_wake_l>;
684 };
Kever Yanga46de892017-04-19 18:17:32 +0800685};
686
Kever Yangb5177032017-06-14 16:31:47 +0800687&sdmmc {
Kever Yangb5177032017-06-14 16:31:47 +0800688 bus-width = <4>;
Jagan Teki5cc21182020-04-28 15:30:17 +0530689 cap-mmc-highspeed;
690 cap-sd-highspeed;
691 cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
692 disable-wp;
693 max-frequency = <150000000>;
694 pinctrl-names = "default";
695 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
Kever Yangb5177032017-06-14 16:31:47 +0800696 status = "okay";
697};
698
Kever Yanga46de892017-04-19 18:17:32 +0800699&sdhci {
700 bus-width = <8>;
Kever Yanga46de892017-04-19 18:17:32 +0800701 mmc-hs400-1_8v;
702 mmc-hs400-enhanced-strobe;
703 non-removable;
704 status = "okay";
705};
706
Jagan Teki5cc21182020-04-28 15:30:17 +0530707&tcphy0 {
708 status = "okay";
709};
710
711&tcphy1 {
712 status = "okay";
713};
714
Kever Yanga46de892017-04-19 18:17:32 +0800715&tsadc {
716 /* tshut mode 0:CRU 1:GPIO */
717 rockchip,hw-tshut-mode = <1>;
718 /* tshut polarity 0:LOW 1:HIGH */
719 rockchip,hw-tshut-polarity = <1>;
720 status = "okay";
721};
722
723&u2phy0 {
724 status = "okay";
725
726 u2phy0_otg: otg-port {
727 status = "okay";
728 };
729
730 u2phy0_host: host-port {
731 phy-supply = <&vcc5v0_host>;
732 status = "okay";
733 };
734};
735
736&u2phy1 {
737 status = "okay";
738
739 u2phy1_otg: otg-port {
740 status = "okay";
741 };
742
743 u2phy1_host: host-port {
744 phy-supply = <&vcc5v0_host>;
745 status = "okay";
746 };
747};
748
749&uart0 {
750 pinctrl-names = "default";
751 pinctrl-0 = <&uart0_xfer &uart0_cts>;
752 status = "okay";
753};
754
755&uart2 {
756 status = "okay";
757};
758
759&usb_host0_ehci {
760 status = "okay";
761};
762
763&usb_host0_ohci {
764 status = "okay";
765};
766
767&usb_host1_ehci {
768 status = "okay";
769};
770
771&usb_host1_ohci {
772 status = "okay";
773};
Jagan Teki5cc21182020-04-28 15:30:17 +0530774
775&usbdrd3_0 {
776 status = "okay";
777};
778
779&usbdrd_dwc3_0 {
780 status = "okay";
781 dr_mode = "otg";
782};
783
784&usbdrd3_1 {
785 status = "okay";
786};
787
788&usbdrd_dwc3_1 {
789 status = "okay";
790 dr_mode = "host";
791};
792
793&vopb {
794 status = "okay";
795};
796
797&vopb_mmu {
798 status = "okay";
799};
800
801&vopl {
802 status = "okay";
803};
804
805&vopl_mmu {
806 status = "okay";
807};