aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts1
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi31
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi110
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts83
4 files changed, 185 insertions, 40 deletions
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
index 99d0d9912950..33c44e857247 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
@@ -104,6 +104,7 @@
104 phy-mode = "rgmii"; 104 phy-mode = "rgmii";
105 pinctrl-names = "default"; 105 pinctrl-names = "default";
106 pinctrl-0 = <&rgmiim1_pins>; 106 pinctrl-0 = <&rgmiim1_pins>;
107 snps,force_thresh_dma_mode;
107 snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; 108 snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
108 snps,reset-active-low; 109 snps,reset-active-low;
109 snps,reset-delays-us = <0 10000 50000>; 110 snps,reset-delays-us = <0 10000 50000>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
index cf6cc4e7d315..d325e117287b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
@@ -218,7 +218,7 @@
218 rk808: pmic@1b { 218 rk808: pmic@1b {
219 compatible = "rockchip,rk808"; 219 compatible = "rockchip,rk808";
220 reg = <0x1b>; 220 reg = <0x1b>;
221 clock-output-names = "xin32k", "rk808-clkout2"; 221 clock-output-names = "xin32k", "rtc_clko_wifi";
222 #clock-cells = <1>; 222 #clock-cells = <1>;
223 interrupt-parent = <&gpio1>; 223 interrupt-parent = <&gpio1>;
224 interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 224 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
@@ -501,7 +501,20 @@
501 }; 501 };
502 }; 502 };
503 503
504 sdio-pwrseq { 504 sdio {
505 bt_host_wake_l: bt-host-wake-l {
506 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
507 };
508
509 bt_reg_on_h: bt-reg-on-h {
510 /* external pullup to VCC1V8_PMUPLL */
511 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
512 };
513
514 bt_wake_l: bt-wake-l {
515 rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
516 };
517
505 wifi_reg_on_h: wifi-reg_on-h { 518 wifi_reg_on_h: wifi-reg_on-h {
506 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 519 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
507 }; 520 };
@@ -620,6 +633,20 @@
620 pinctrl-names = "default"; 633 pinctrl-names = "default";
621 pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>; 634 pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>;
622 status = "okay"; 635 status = "okay";
636
637 bluetooth {
638 compatible = "brcm,bcm43438-bt";
639 clocks = <&rk808 1>;
640 clock-names = "lpo";
641 device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
642 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
643 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
644 max-speed = <4000000>;
645 pinctrl-names = "default";
646 pinctrl-0 = <&bt_reg_on_h &bt_host_wake_l &bt_wake_l>;
647 vbat-supply = <&vcc3v3_sys>;
648 vddio-supply = <&vcc_1v8>;
649 };
623}; 650};
624 651
625&uart2 { 652&uart2 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
index 56abbb08c133..2927db4dda9d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
@@ -9,6 +9,15 @@
9#include "rk3399-opp.dtsi" 9#include "rk3399-opp.dtsi"
10 10
11/ { 11/ {
12 sdio_pwrseq: sdio-pwrseq {
13 compatible = "mmc-pwrseq-simple";
14 clocks = <&rk808 1>;
15 clock-names = "ext_clock";
16 pinctrl-names = "default";
17 pinctrl-0 = <&wifi_enable_h>;
18 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
19 };
20
12 vcc1v8_s0: vcc1v8-s0 { 21 vcc1v8_s0: vcc1v8-s0 {
13 compatible = "regulator-fixed"; 22 compatible = "regulator-fixed";
14 regulator-name = "vcc1v8_s0"; 23 regulator-name = "vcc1v8_s0";
@@ -94,6 +103,10 @@
94 status = "okay"; 103 status = "okay";
95}; 104};
96 105
106&hdmi_sound {
107 status = "okay";
108};
109
97&i2c0 { 110&i2c0 {
98 clock-frequency = <400000>; 111 clock-frequency = <400000>;
99 i2c-scl-rising-time-ns = <168>; 112 i2c-scl-rising-time-ns = <168>;
@@ -336,6 +349,10 @@
336 status = "okay"; 349 status = "okay";
337}; 350};
338 351
352&i2s2 {
353 status = "okay";
354};
355
339&io_domains { 356&io_domains {
340 bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */ 357 bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
341 audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */ 358 audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
@@ -362,6 +379,20 @@
362}; 379};
363 380
364&pinctrl { 381&pinctrl {
382 bt {
383 bt_enable_h: bt-enable-h {
384 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
385 };
386
387 bt_host_wake_l: bt-host-wake-l {
388 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
389 };
390
391 bt_wake_l: bt-wake-l {
392 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
393 };
394 };
395
365 sdmmc { 396 sdmmc {
366 sdmmc_bus1: sdmmc-bus1 { 397 sdmmc_bus1: sdmmc-bus1 {
367 rockchip,pins = 398 rockchip,pins =
@@ -387,6 +418,26 @@
387 }; 418 };
388 }; 419 };
389 420
421 sdio0 {
422 sdio0_bus4: sdio0-bus4 {
423 rockchip,pins =
424 <2 20 RK_FUNC_1 &pcfg_pull_up_20ma>,
425 <2 21 RK_FUNC_1 &pcfg_pull_up_20ma>,
426 <2 22 RK_FUNC_1 &pcfg_pull_up_20ma>,
427 <2 23 RK_FUNC_1 &pcfg_pull_up_20ma>;
428 };
429
430 sdio0_cmd: sdio0-cmd {
431 rockchip,pins =
432 <2 24 RK_FUNC_1 &pcfg_pull_up_20ma>;
433 };
434
435 sdio0_clk: sdio0-clk {
436 rockchip,pins =
437 <2 25 RK_FUNC_1 &pcfg_pull_none_20ma>;
438 };
439 };
440
390 pmic { 441 pmic {
391 pmic_int_l: pmic-int-l { 442 pmic_int_l: pmic-int-l {
392 rockchip,pins = 443 rockchip,pins =
@@ -403,6 +454,19 @@
403 <1 14 RK_FUNC_GPIO &pcfg_pull_down>; 454 <1 14 RK_FUNC_GPIO &pcfg_pull_down>;
404 }; 455 };
405 }; 456 };
457
458 sdio-pwrseq {
459 wifi_enable_h: wifi-enable-h {
460 rockchip,pins =
461 <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
462 };
463 };
464
465 wifi {
466 wifi_host_wake_l: wifi-host-wake-l {
467 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
468 };
469 };
406}; 470};
407 471
408&pwm2 { 472&pwm2 {
@@ -413,6 +477,32 @@
413 status = "okay"; 477 status = "okay";
414}; 478};
415 479
480&sdio0 {
481 bus-width = <4>;
482 clock-frequency = <50000000>;
483 cap-sdio-irq;
484 cap-sd-highspeed;
485 keep-power-in-suspend;
486 mmc-pwrseq = <&sdio_pwrseq>;
487 non-removable;
488 pinctrl-names = "default";
489 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
490 sd-uhs-sdr104;
491 #address-cells = <1>;
492 #size-cells = <0>;
493 status = "okay";
494
495 brcmf: wifi@1 {
496 compatible = "brcm,bcm4329-fmac";
497 reg = <1>;
498 interrupt-parent = <&gpio0>;
499 interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
500 interrupt-names = "host-wake";
501 pinctrl-names = "default";
502 pinctrl-0 = <&wifi_host_wake_l>;
503 };
504};
505
416&sdhci { 506&sdhci {
417 bus-width = <8>; 507 bus-width = <8>;
418 mmc-hs400-1_8v; 508 mmc-hs400-1_8v;
@@ -437,10 +527,28 @@
437 status = "okay"; 527 status = "okay";
438}; 528};
439 529
530&tsadc {
531 rockchip,hw-tshut-mode = <1>;
532 rockchip,hw-tshut-polarity = <1>;
533 rockchip,hw-tshut-temp = <110000>;
534 status = "okay";
535};
536
440&uart0 { 537&uart0 {
441 pinctrl-names = "default"; 538 pinctrl-names = "default";
442 pinctrl-0 = <&uart0_xfer &uart0_cts>; 539 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
443 status = "okay"; 540 status = "okay";
541
542 bluetooth {
543 compatible = "brcm,bcm43438-bt";
544 clocks = <&rk808 1>;
545 clock-names = "ext_clock";
546 device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
547 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
548 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
549 pinctrl-names = "default";
550 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
551 };
444}; 552};
445 553
446&uart2 { 554&uart2 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index be78172abc09..1f2394e0587d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -25,15 +25,6 @@
25 #clock-cells = <0>; 25 #clock-cells = <0>;
26 }; 26 };
27 27
28 dc_12v: dc-12v {
29 compatible = "regulator-fixed";
30 regulator-name = "dc_12v";
31 regulator-always-on;
32 regulator-boot-on;
33 regulator-min-microvolt = <12000000>;
34 regulator-max-microvolt = <12000000>;
35 };
36
37 gpio-keys { 28 gpio-keys {
38 compatible = "gpio-keys"; 29 compatible = "gpio-keys";
39 autorepeat; 30 autorepeat;
@@ -83,6 +74,15 @@
83 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 74 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
84 }; 75 };
85 76
77 vcc12v_dcin: vcc12v-dcin {
78 compatible = "regulator-fixed";
79 regulator-name = "vcc12v_dcin";
80 regulator-always-on;
81 regulator-boot-on;
82 regulator-min-microvolt = <12000000>;
83 regulator-max-microvolt = <12000000>;
84 };
85
86 /* switched by pmic_sleep */ 86 /* switched by pmic_sleep */
87 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 87 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
88 compatible = "regulator-fixed"; 88 compatible = "regulator-fixed";
@@ -103,7 +103,7 @@
103 regulator-name = "vcc3v3_pcie"; 103 regulator-name = "vcc3v3_pcie";
104 regulator-always-on; 104 regulator-always-on;
105 regulator-boot-on; 105 regulator-boot-on;
106 vin-supply = <&dc_12v>; 106 vin-supply = <&vcc12v_dcin>;
107 }; 107 };
108 108
109 vcc3v3_sys: vcc3v3-sys { 109 vcc3v3_sys: vcc3v3-sys {
@@ -113,7 +113,7 @@
113 regulator-boot-on; 113 regulator-boot-on;
114 regulator-min-microvolt = <3300000>; 114 regulator-min-microvolt = <3300000>;
115 regulator-max-microvolt = <3300000>; 115 regulator-max-microvolt = <3300000>;
116 vin-supply = <&vcc_sys>; 116 vin-supply = <&vcc5v0_sys>;
117 }; 117 };
118 118
119 /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */ 119 /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
@@ -125,7 +125,7 @@
125 pinctrl-0 = <&vcc5v0_host_en>; 125 pinctrl-0 = <&vcc5v0_host_en>;
126 regulator-name = "vcc5v0_host"; 126 regulator-name = "vcc5v0_host";
127 regulator-always-on; 127 regulator-always-on;
128 vin-supply = <&vcc_sys>; 128 vin-supply = <&vcc5v0_usb>;
129 }; 129 };
130 130
131 vcc5v0_typec: vcc5v0-typec-regulator { 131 vcc5v0_typec: vcc5v0-typec-regulator {
@@ -136,17 +136,27 @@
136 pinctrl-0 = <&vcc5v0_typec_en>; 136 pinctrl-0 = <&vcc5v0_typec_en>;
137 regulator-name = "vcc5v0_typec"; 137 regulator-name = "vcc5v0_typec";
138 regulator-always-on; 138 regulator-always-on;
139 vin-supply = <&vcc_sys>; 139 vin-supply = <&vcc5v0_usb>;
140 }; 140 };
141 141
142 vcc_sys: vcc-sys { 142 vcc5v0_sys: vcc5v0-sys {
143 compatible = "regulator-fixed"; 143 compatible = "regulator-fixed";
144 regulator-name = "vcc_sys"; 144 regulator-name = "vcc5v0_sys";
145 regulator-always-on; 145 regulator-always-on;
146 regulator-boot-on; 146 regulator-boot-on;
147 regulator-min-microvolt = <5000000>; 147 regulator-min-microvolt = <5000000>;
148 regulator-max-microvolt = <5000000>; 148 regulator-max-microvolt = <5000000>;
149 vin-supply = <&dc_12v>; 149 vin-supply = <&vcc12v_dcin>;
150 };
151
152 vcc5v0_usb: vcc5v0-usb {
153 compatible = "regulator-fixed";
154 regulator-name = "vcc5v0_usb";
155 regulator-always-on;
156 regulator-boot-on;
157 regulator-min-microvolt = <5000000>;
158 regulator-max-microvolt = <5000000>;
159 vin-supply = <&vcc12v_dcin>;
150 }; 160 };
151 161
152 vdd_log: vdd-log { 162 vdd_log: vdd-log {
@@ -157,7 +167,7 @@
157 regulator-boot-on; 167 regulator-boot-on;
158 regulator-min-microvolt = <800000>; 168 regulator-min-microvolt = <800000>;
159 regulator-max-microvolt = <1400000>; 169 regulator-max-microvolt = <1400000>;
160 vin-supply = <&vcc_sys>; 170 vin-supply = <&vcc5v0_sys>;
161 }; 171 };
162}; 172};
163 173
@@ -212,6 +222,11 @@
212 status = "okay"; 222 status = "okay";
213}; 223};
214 224
225&gpu {
226 mali-supply = <&vdd_gpu>;
227 status = "okay";
228};
229
215&i2c0 { 230&i2c0 {
216 clock-frequency = <400000>; 231 clock-frequency = <400000>;
217 i2c-scl-rising-time-ns = <168>; 232 i2c-scl-rising-time-ns = <168>;
@@ -230,18 +245,18 @@
230 rockchip,system-power-controller; 245 rockchip,system-power-controller;
231 wakeup-source; 246 wakeup-source;
232 247
233 vcc1-supply = <&vcc_sys>; 248 vcc1-supply = <&vcc5v0_sys>;
234 vcc2-supply = <&vcc_sys>; 249 vcc2-supply = <&vcc5v0_sys>;
235 vcc3-supply = <&vcc_sys>; 250 vcc3-supply = <&vcc5v0_sys>;
236 vcc4-supply = <&vcc_sys>; 251 vcc4-supply = <&vcc5v0_sys>;
237 vcc6-supply = <&vcc_sys>; 252 vcc6-supply = <&vcc5v0_sys>;
238 vcc7-supply = <&vcc_sys>; 253 vcc7-supply = <&vcc5v0_sys>;
239 vcc8-supply = <&vcc3v3_sys>; 254 vcc8-supply = <&vcc3v3_sys>;
240 vcc9-supply = <&vcc_sys>; 255 vcc9-supply = <&vcc5v0_sys>;
241 vcc10-supply = <&vcc_sys>; 256 vcc10-supply = <&vcc5v0_sys>;
242 vcc11-supply = <&vcc_sys>; 257 vcc11-supply = <&vcc5v0_sys>;
243 vcc12-supply = <&vcc3v3_sys>; 258 vcc12-supply = <&vcc3v3_sys>;
244 vddio-supply = <&vcc1v8_pmu>; 259 vddio-supply = <&vcca_1v8>;
245 260
246 regulators { 261 regulators {
247 vdd_center: DCDC_REG1 { 262 vdd_center: DCDC_REG1 {
@@ -311,8 +326,8 @@
311 }; 326 };
312 }; 327 };
313 328
314 vcc1v8_pmu: LDO_REG3 { 329 vcca_1v8: LDO_REG3 {
315 regulator-name = "vcc1v8_pmu"; 330 regulator-name = "vcca_1v8";
316 regulator-always-on; 331 regulator-always-on;
317 regulator-boot-on; 332 regulator-boot-on;
318 regulator-min-microvolt = <1800000>; 333 regulator-min-microvolt = <1800000>;
@@ -413,7 +428,7 @@
413 regulator-ramp-delay = <1000>; 428 regulator-ramp-delay = <1000>;
414 regulator-always-on; 429 regulator-always-on;
415 regulator-boot-on; 430 regulator-boot-on;
416 vin-supply = <&vcc_sys>; 431 vin-supply = <&vcc5v0_sys>;
417 432
418 regulator-state-mem { 433 regulator-state-mem {
419 regulator-off-in-suspend; 434 regulator-off-in-suspend;
@@ -432,7 +447,7 @@
432 regulator-ramp-delay = <1000>; 447 regulator-ramp-delay = <1000>;
433 regulator-always-on; 448 regulator-always-on;
434 regulator-boot-on; 449 regulator-boot-on;
435 vin-supply = <&vcc_sys>; 450 vin-supply = <&vcc5v0_sys>;
436 451
437 regulator-state-mem { 452 regulator-state-mem {
438 regulator-off-in-suspend; 453 regulator-off-in-suspend;
@@ -522,12 +537,6 @@
522 }; 537 };
523 }; 538 };
524 539
525 lcd-panel {
526 lcd_panel_reset: lcd-panel-reset {
527 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
528 };
529 };
530
531 pcie { 540 pcie {
532 pcie_pwr_en: pcie-pwr-en { 541 pcie_pwr_en: pcie-pwr-en {
533 rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 542 rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;