1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2022 Fuzhou Rockchip Electronics Co., Ltd. 4 */ 5 6/dts-v1/; 7#include <dt-bindings/input/linux-event-codes.h> 8#include <dt-bindings/pwm/pwm.h> 9#include <dt-bindings/usb/pd.h> 10#include "rk3399.dtsi" 11#include "rk3399-opp.dtsi" 12 13/ { 14 model = "OPEN AI LAB EAIDK-610"; 15 compatible = "openailab,eaidk-610", "rockchip,rk3399"; 16 17 aliases { 18 ethernet0 = &gmac; 19 mmc0 = &sdio0; 20 mmc1 = &sdmmc; 21 mmc2 = &sdhci; 22 }; 23 24 backlight: backlight { 25 compatible = "pwm-backlight"; 26 pwms = <&pwm0 0 25000 0>; 27 brightness-levels = < 28 0 1 2 3 4 5 6 7 29 8 9 10 11 12 13 14 15 30 16 17 18 19 20 21 22 23 31 24 25 26 27 28 29 30 31 32 32 33 34 35 36 37 38 39 33 40 41 42 43 44 45 46 47 34 48 49 50 51 52 53 54 55 35 56 57 58 59 60 61 62 63 36 64 65 66 67 68 69 70 71 37 72 73 74 75 76 77 78 79 38 80 81 82 83 84 85 86 87 39 88 89 90 91 92 93 94 95 40 96 97 98 99 100 101 102 103 41 104 105 106 107 108 109 110 111 42 112 113 114 115 116 117 118 119 43 120 121 122 123 124 125 126 127 44 128 129 130 131 132 133 134 135 45 136 137 138 139 140 141 142 143 46 144 145 146 147 148 149 150 151 47 152 153 154 155 156 157 158 159 48 160 161 162 163 164 165 166 167 49 168 169 170 171 172 173 174 175 50 176 177 178 179 180 181 182 183 51 184 185 186 187 188 189 190 191 52 192 193 194 195 196 197 198 199 53 200 201 202 203 204 205 206 207 54 208 209 210 211 212 213 214 215 55 216 217 218 219 220 221 222 223 56 224 225 226 227 228 229 230 231 57 232 233 234 235 236 237 238 239 58 240 241 242 243 244 245 246 247 59 248 249 250 251 252 253 254 255>; 60 default-brightness-level = <200>; 61 }; 62 63 clkin_gmac: external-gmac-clock { 64 compatible = "fixed-clock"; 65 clock-frequency = <125000000>; 66 clock-output-names = "clkin_gmac"; 67 #clock-cells = <0>; 68 }; 69 70 dc_12v: dc-12v { 71 compatible = "regulator-fixed"; 72 regulator-name = "dc_12v"; 73 regulator-always-on; 74 regulator-boot-on; 75 regulator-min-microvolt = <12000000>; 76 regulator-max-microvolt = <12000000>; 77 }; 78 79 gpio-keys { 80 compatible = "gpio-keys"; 81 autorepeat; 82 pinctrl-names = "default"; 83 pinctrl-0 = <&pwrbtn>; 84 85 key-power { 86 debounce-interval = <100>; 87 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 88 label = "GPIO Key Power"; 89 linux,code = <KEY_POWER>; 90 wakeup-source; 91 }; 92 }; 93 94 leds { 95 compatible = "gpio-leds"; 96 pinctrl-names = "default"; 97 pinctrl-0 = <&work_led_pin>, <&user_led_pin>, 98 <&heartbeat_led_pin>, <&wlan_active_led_pin>, 99 <&bt_active_led_pin>; 100 101 work_led: led-0 { 102 label = "blue:work"; 103 default-state = "on"; 104 gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 105 }; 106 107 user_led: led-1 { 108 label = "read:user"; 109 default-state = "off"; 110 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 111 }; 112 113 heartbeat_led: led-2 { 114 label = "green:heartbeat"; 115 linux,default-trigger = "heartbeat"; 116 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 117 }; 118 119 wlan_active_led: led-3 { 120 label = "yellow:wlan"; 121 gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 122 linux,default-trigger = "phy0tx"; 123 default-state = "off"; 124 }; 125 126 bt_active_led: led-4 { 127 label = "blue:bt"; 128 gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; 129 linux,default-trigger = "hci0-power"; 130 default-state = "off"; 131 }; 132 }; 133 134 rt5651-sound { 135 compatible = "simple-audio-card"; 136 simple-audio-card,name = "realtek,rt5651-codec"; 137 simple-audio-card,format = "i2s"; 138 simple-audio-card,mclk-fs = <256>; 139 simple-audio-card,widgets = 140 "Microphone", "Mic Jack", 141 "Headphone", "Headphone Jack"; 142 simple-audio-card,routing = 143 "Mic Jack", "MICBIAS1", 144 "IN1P", "Mic Jack", 145 "Headphone Jack", "HPOL", 146 "Headphone Jack", "HPOR"; 147 simple-audio-card,cpu { 148 sound-dai = <&i2s1>; 149 }; 150 simple-audio-card,codec { 151 sound-dai = <&rt5651>; 152 }; 153 }; 154 155 sdio_pwrseq: sdio-pwrseq { 156 compatible = "mmc-pwrseq-simple"; 157 clocks = <&rk808 1>; 158 clock-names = "ext_clock"; 159 pinctrl-names = "default"; 160 pinctrl-0 = <&wifi_enable_h>; 161 162 /* 163 * On the module itself this is one of these (depending 164 * on the actual card populated): 165 * - SDIO_RESET_L_WL_REG_ON 166 * - PDN (power down when low) 167 */ 168 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 169 }; 170 171 /* switched by pmic_sleep */ 172 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 173 compatible = "regulator-fixed"; 174 regulator-name = "vcc1v8_s3"; 175 regulator-always-on; 176 regulator-boot-on; 177 regulator-min-microvolt = <1800000>; 178 regulator-max-microvolt = <1800000>; 179 vin-supply = <&vcc_1v8>; 180 }; 181 182 vcc3v3_sys: vcc3v3-sys { 183 compatible = "regulator-fixed"; 184 regulator-name = "vcc3v3_sys"; 185 regulator-always-on; 186 regulator-boot-on; 187 regulator-min-microvolt = <3300000>; 188 regulator-max-microvolt = <3300000>; 189 vin-supply = <&dc_12v>; 190 }; 191 192 vcc5v0_sys: vcc5v0-sys { 193 compatible = "regulator-fixed"; 194 regulator-name = "vcc5v0_sys"; 195 regulator-always-on; 196 regulator-boot-on; 197 regulator-min-microvolt = <5000000>; 198 regulator-max-microvolt = <5000000>; 199 vin-supply = <&dc_12v>; 200 }; 201 202 /* For USB3.0 Port1/2 */ 203 vcc5v0_host1: vcc5v0-host1-regulator { 204 compatible = "regulator-fixed"; 205 enable-active-high; 206 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 207 pinctrl-names = "default"; 208 pinctrl-0 = <&vcc5v0_host1_en>; 209 regulator-name = "vcc5v0_host1"; 210 regulator-always-on; 211 vin-supply = <&vcc5v0_sys>; 212 }; 213 214 /* For USB2.0 Port1/2 */ 215 vcc5v0_host3: vcc5v0-host3-regulator { 216 compatible = "regulator-fixed"; 217 enable-active-high; 218 gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 219 pinctrl-names = "default"; 220 pinctrl-0 = <&vcc5v0_host3_en>; 221 regulator-name = "vcc5v0_host3"; 222 regulator-always-on; 223 vin-supply = <&vcc5v0_sys>; 224 }; 225 226 vcc5v0_typec: vcc5v0-typec-regulator { 227 compatible = "regulator-fixed"; 228 enable-active-high; 229 gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; 230 pinctrl-names = "default"; 231 pinctrl-0 = <&vcc5v0_typec_en>; 232 regulator-name = "vcc5v0_typec"; 233 regulator-always-on; 234 vin-supply = <&vcc3v3_sys>; 235 }; 236 237 vdd_log: vdd-log { 238 compatible = "regulator-fixed"; 239 regulator-name = "vdd_log"; 240 regulator-always-on; 241 regulator-boot-on; 242 regulator-min-microvolt = <900000>; 243 regulator-max-microvolt = <900000>; 244 }; 245}; 246 247&cpu_l0 { 248 cpu-supply = <&vdd_cpu_l>; 249}; 250 251&cpu_l1 { 252 cpu-supply = <&vdd_cpu_l>; 253}; 254 255&cpu_l2 { 256 cpu-supply = <&vdd_cpu_l>; 257}; 258 259&cpu_l3 { 260 cpu-supply = <&vdd_cpu_l>; 261}; 262 263&cpu_b0 { 264 cpu-supply = <&vdd_cpu_b>; 265}; 266 267&cpu_b1 { 268 cpu-supply = <&vdd_cpu_b>; 269}; 270 271&emmc_phy { 272 status = "okay"; 273}; 274 275&gmac { 276 assigned-clocks = <&cru SCLK_RMII_SRC>; 277 assigned-clock-parents = <&clkin_gmac>; 278 clock_in_out = "input"; 279 phy-supply = <&vcc_lan>; 280 phy-mode = "rgmii"; 281 pinctrl-names = "default"; 282 pinctrl-0 = <&rgmii_pins>; 283 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 284 snps,reset-active-low; 285 snps,reset-delays-us = <0 10000 50000>; 286 tx_delay = <0x28>; 287 rx_delay = <0x11>; 288 status = "okay"; 289}; 290 291&gpu { 292 mali-supply = <&vdd_gpu>; 293 status = "okay"; 294}; 295 296&hdmi { 297 ddc-i2c-bus = <&i2c3>; 298 pinctrl-names = "default"; 299 pinctrl-0 = <&hdmi_cec>; 300 status = "okay"; 301}; 302 303&i2c0 { 304 status = "okay"; 305 306 rk808: pmic@1b { 307 compatible = "rockchip,rk808"; 308 reg = <0x1b>; 309 interrupt-parent = <&gpio1>; 310 interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 311 pinctrl-names = "default"; 312 pinctrl-0 = <&pmic_int_l>; 313 rockchip,system-power-controller; 314 wakeup-source; 315 #clock-cells = <1>; 316 clock-output-names = "xin32k", "rk808-clkout2"; 317 318 vcc1-supply = <&vcc3v3_sys>; 319 vcc2-supply = <&vcc3v3_sys>; 320 vcc3-supply = <&vcc3v3_sys>; 321 vcc4-supply = <&vcc3v3_sys>; 322 vcc6-supply = <&vcc3v3_sys>; 323 vcc7-supply = <&vcc3v3_sys>; 324 vcc8-supply = <&vcc3v3_sys>; 325 vcc9-supply = <&vcc3v3_sys>; 326 vcc10-supply = <&vcc3v3_sys>; 327 vcc11-supply = <&vcc3v3_sys>; 328 vcc12-supply = <&vcc3v3_sys>; 329 vddio-supply = <&vcc_3v0>; 330 331 regulators { 332 vdd_center: DCDC_REG1 { 333 regulator-name = "vdd_center"; 334 regulator-min-microvolt = <750000>; 335 regulator-max-microvolt = <1350000>; 336 regulator-ramp-delay = <6001>; 337 regulator-always-on; 338 regulator-boot-on; 339 340 regulator-state-mem { 341 regulator-off-in-suspend; 342 }; 343 }; 344 345 vdd_cpu_l: DCDC_REG2 { 346 regulator-name = "vdd_cpu_l"; 347 regulator-min-microvolt = <750000>; 348 regulator-max-microvolt = <1350000>; 349 regulator-ramp-delay = <6001>; 350 regulator-always-on; 351 regulator-boot-on; 352 353 regulator-state-mem { 354 regulator-off-in-suspend; 355 }; 356 }; 357 358 vcc_ddr: DCDC_REG3 { 359 regulator-name = "vcc_ddr"; 360 regulator-always-on; 361 regulator-boot-on; 362 regulator-state-mem { 363 regulator-on-in-suspend; 364 }; 365 }; 366 367 vcc_1v8: DCDC_REG4 { 368 regulator-name = "vcc_1v8"; 369 regulator-min-microvolt = <1800000>; 370 regulator-max-microvolt = <1800000>; 371 regulator-always-on; 372 regulator-boot-on; 373 374 regulator-state-mem { 375 regulator-on-in-suspend; 376 regulator-suspend-microvolt = <1800000>; 377 }; 378 }; 379 380 vcc1v8_dvp: LDO_REG1 { 381 regulator-name = "vcc1v8_dvp"; 382 regulator-min-microvolt = <1800000>; 383 regulator-max-microvolt = <1800000>; 384 regulator-always-on; 385 regulator-boot-on; 386 387 regulator-state-mem { 388 regulator-off-in-suspend; 389 }; 390 }; 391 392 vcc2v8_dvp: LDO_REG2 { 393 regulator-name = "vcc2v8_dvp"; 394 regulator-min-microvolt = <2800000>; 395 regulator-max-microvolt = <2800000>; 396 regulator-always-on; 397 regulator-boot-on; 398 399 regulator-state-mem { 400 regulator-off-in-suspend; 401 }; 402 }; 403 404 vcc1v8_pmu: LDO_REG3 { 405 regulator-name = "vcc1v8_pmu"; 406 regulator-min-microvolt = <1800000>; 407 regulator-max-microvolt = <1800000>; 408 regulator-always-on; 409 regulator-boot-on; 410 411 regulator-state-mem { 412 regulator-on-in-suspend; 413 regulator-suspend-microvolt = <1800000>; 414 }; 415 }; 416 417 vcc_sdio: LDO_REG4 { 418 regulator-name = "vcc_sdio"; 419 regulator-min-microvolt = <1800000>; 420 regulator-max-microvolt = <3000000>; 421 regulator-always-on; 422 regulator-boot-on; 423 424 regulator-state-mem { 425 regulator-on-in-suspend; 426 regulator-suspend-microvolt = <3000000>; 427 }; 428 }; 429 430 vcca3v0_codec: LDO_REG5 { 431 regulator-name = "vcca3v0_codec"; 432 regulator-min-microvolt = <3000000>; 433 regulator-max-microvolt = <3000000>; 434 regulator-always-on; 435 regulator-boot-on; 436 437 regulator-state-mem { 438 regulator-off-in-suspend; 439 }; 440 }; 441 442 vcc_1v5: LDO_REG6 { 443 regulator-name = "vcc_1v5"; 444 regulator-min-microvolt = <1500000>; 445 regulator-max-microvolt = <1500000>; 446 regulator-always-on; 447 regulator-boot-on; 448 449 regulator-state-mem { 450 regulator-on-in-suspend; 451 regulator-suspend-microvolt = <1500000>; 452 }; 453 }; 454 455 vcca1v8_codec: LDO_REG7 { 456 regulator-name = "vcca1v8_codec"; 457 regulator-min-microvolt = <1800000>; 458 regulator-max-microvolt = <1800000>; 459 regulator-always-on; 460 regulator-boot-on; 461 462 regulator-state-mem { 463 regulator-off-in-suspend; 464 }; 465 }; 466 467 vcc_3v0: LDO_REG8 { 468 regulator-name = "vcc_3v0"; 469 regulator-min-microvolt = <3000000>; 470 regulator-max-microvolt = <3000000>; 471 regulator-always-on; 472 regulator-boot-on; 473 474 regulator-state-mem { 475 regulator-on-in-suspend; 476 regulator-suspend-microvolt = <3000000>; 477 }; 478 }; 479 480 vcc3v3_s3: vcc_lan: SWITCH_REG1 { 481 regulator-name = "vcc3v3_s3"; 482 regulator-always-on; 483 regulator-boot-on; 484 regulator-state-mem { 485 regulator-off-in-suspend; 486 }; 487 }; 488 489 vcc3v3_s0: SWITCH_REG2 { 490 regulator-name = "vcc3v3_s0"; 491 regulator-always-on; 492 regulator-boot-on; 493 regulator-state-mem { 494 regulator-off-in-suspend; 495 }; 496 }; 497 }; 498 }; 499 500 vdd_cpu_b: regulator@40 { 501 compatible = "silergy,syr827"; 502 reg = <0x40>; 503 fcs,suspend-voltage-selector = <1>; 504 regulator-name = "vdd_cpu_b"; 505 pinctrl-names = "default"; 506 pinctrl-0 = <&vsel1_pin>; 507 regulator-min-microvolt = <712500>; 508 regulator-max-microvolt = <1500000>; 509 regulator-ramp-delay = <1000>; 510 regulator-always-on; 511 regulator-boot-on; 512 vin-supply = <&vcc3v3_sys>; 513 514 regulator-state-mem { 515 regulator-off-in-suspend; 516 }; 517 }; 518 519 vdd_gpu: regulator@41 { 520 compatible = "silergy,syr828"; 521 reg = <0x41>; 522 fcs,suspend-voltage-selector = <1>; 523 regulator-name = "vdd_gpu"; 524 pinctrl-names = "default"; 525 pinctrl-0 = <&vsel2_pin>; 526 regulator-min-microvolt = <712500>; 527 regulator-max-microvolt = <1500000>; 528 regulator-ramp-delay = <1000>; 529 regulator-always-on; 530 regulator-boot-on; 531 vin-supply = <&vcc3v3_sys>; 532 533 regulator-state-mem { 534 regulator-off-in-suspend; 535 }; 536 }; 537}; 538 539&i2c1 { 540 i2c-scl-rising-time-ns = <300>; 541 i2c-scl-falling-time-ns = <15>; 542 status = "okay"; 543 544 rt5651: audio-codec@1a { 545 compatible = "rockchip,rt5651"; 546 reg = <0x1a>; 547 clocks = <&cru SCLK_I2S_8CH_OUT>; 548 clock-names = "mclk"; 549 hp-det-gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>; 550 spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 551 #sound-dai-cells = <0>; 552 }; 553 554}; 555 556&i2c3 { 557 i2c-scl-rising-time-ns = <450>; 558 i2c-scl-falling-time-ns = <15>; 559 status = "okay"; 560}; 561 562&i2c4 { 563 i2c-scl-rising-time-ns = <600>; 564 i2c-scl-falling-time-ns = <20>; 565 status = "okay"; 566 567 fusb0: typec-portc@22 { 568 compatible = "fcs,fusb302"; 569 reg = <0x22>; 570 interrupt-parent = <&gpio1>; 571 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 572 pinctrl-names = "default"; 573 pinctrl-0 = <&fusb0_int>; 574 vbus-supply = <&vcc5v0_typec>; 575 576 ports { 577 #address-cells = <1>; 578 #size-cells = <0>; 579 580 port@0 { 581 reg = <0>; 582 usbc0_role_sw: endpoint@0 { 583 remote-endpoint = <&dwc3_0_role_switch>; 584 }; 585 }; 586 }; 587 588 connector { 589 compatible = "usb-c-connector"; 590 data-role = "dual"; 591 label = "USB-C"; 592 593 ports { 594 #address-cells = <1>; 595 #size-cells = <0>; 596 597 port@0 { 598 reg = <0>; 599 600 usbc_hs: endpoint { 601 remote-endpoint = <&u2phy0_typec_hs>; 602 }; 603 }; 604 605 port@1 { 606 reg = <1>; 607 608 usbc_ss: endpoint { 609 remote-endpoint = <&tcphy0_typec_ss>; 610 }; 611 }; 612 }; 613 }; 614 }; 615}; 616 617&i2s1 { 618 rockchip,playback-channels = <2>; 619 rockchip,capture-channels = <2>; 620 status = "okay"; 621}; 622 623&i2s2 { 624 status = "okay"; 625}; 626 627&io_domains { 628 status = "okay"; 629 630 audio-supply = <&vcca1v8_codec>; 631 bt656-supply = <&vcc_3v0>; 632 gpio1830-supply = <&vcc_3v0>; 633 sdmmc-supply = <&vcc_sdio>; 634}; 635 636&pmu_io_domains { 637 status = "okay"; 638 639 pmu1830-supply = <&vcc_3v0>; 640}; 641 642&pinctrl { 643 buttons { 644 pwrbtn: pwrbtn { 645 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 646 }; 647 }; 648 649 bt { 650 bt_enable_h: bt-enable-h { 651 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 652 }; 653 654 bt_host_wake_l: bt-host-wake-l { 655 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 656 }; 657 658 bt_wake_l: bt-wake-l { 659 rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 660 }; 661 }; 662 663 fusb302x { 664 fusb0_int: fusb0-int { 665 rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 666 }; 667 }; 668 669 lcd-panel { 670 lcd_panel_reset: lcd-panel-reset { 671 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 672 }; 673 }; 674 675 leds { 676 work_led_pin: work-led-pin { 677 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 678 }; 679 680 user_led_pin: user-led-pin { 681 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 682 }; 683 684 heartbeat_led_pin: heartbeat-led-pin { 685 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 686 }; 687 688 wlan_active_led_pin: wlan-led-pin { 689 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 690 }; 691 692 bt_active_led_pin: bt-led-pin { 693 rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 694 }; 695 696 697 }; 698 699 pmic { 700 pmic_int_l: pmic-int-l { 701 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 702 }; 703 704 vsel1_pin: vsel1-pin { 705 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 706 }; 707 708 vsel2_pin: vsel2-pin { 709 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 710 }; 711 }; 712 713 rt5651 { 714 rt5651_hpcon: rt5640-hpcon { 715 rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 716 }; 717 }; 718 719 sdio-pwrseq { 720 wifi_enable_h: wifi-enable-h { 721 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 722 }; 723 }; 724 725 usb-typec { 726 vcc5v0_typec_en: vcc5v0_typec_en { 727 rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 728 }; 729 }; 730 731 usb2 { 732 vcc5v0_host3_en: vcc5v0-host3-en { 733 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 734 }; 735 736 vcc5v0_host1_en: vcc5v0-host1-en { 737 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 738 }; 739 }; 740 741 wifi { 742 wifi_host_wake_l: wifi-host-wake-l { 743 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 744 }; 745 }; 746}; 747 748&pwm0 { 749 status = "okay"; 750}; 751 752&saradc { 753 vref-supply = <&vcca1v8_s3>; 754 status = "okay"; 755}; 756 757&sdio0 { 758 /* WiFi & BT combo module AMPAK AP6255 */ 759 #address-cells = <1>; 760 #size-cells = <0>; 761 bus-width = <4>; 762 clock-frequency = <50000000>; 763 cap-sdio-irq; 764 cap-sd-highspeed; 765 keep-power-in-suspend; 766 mmc-pwrseq = <&sdio_pwrseq>; 767 non-removable; 768 pinctrl-names = "default"; 769 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 770 sd-uhs-sdr104; 771 status = "okay"; 772 773 brcmf: wifi@1 { 774 compatible = "brcm,bcm4329-fmac"; 775 reg = <1>; 776 interrupt-parent = <&gpio0>; 777 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 778 interrupt-names = "host-wake"; 779 pinctrl-names = "default"; 780 pinctrl-0 = <&wifi_host_wake_l>; 781 }; 782}; 783 784&sdmmc { 785 bus-width = <4>; 786 cap-mmc-highspeed; 787 cap-sd-highspeed; 788 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 789 disable-wp; 790 max-frequency = <150000000>; 791 pinctrl-names = "default"; 792 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 793 status = "okay"; 794}; 795 796&sdhci { 797 bus-width = <8>; 798 non-removable; 799 status = "okay"; 800}; 801 802&tcphy0 { 803 status = "okay"; 804}; 805 806&tcphy0_usb3 { 807 orientation-switch; 808 port { 809 tcphy0_typec_ss: endpoint { 810 remote-endpoint = <&usbc_ss>; 811 }; 812 }; 813}; 814 815&tcphy1 { 816 status = "okay"; 817}; 818 819&tsadc { 820 /* tshut mode 0:CRU 1:GPIO */ 821 rockchip,hw-tshut-mode = <1>; 822 /* tshut polarity 0:LOW 1:HIGH */ 823 rockchip,hw-tshut-polarity = <1>; 824 status = "okay"; 825}; 826 827&u2phy0 { 828 status = "okay"; 829 830 u2phy0_otg: otg-port { 831 status = "okay"; 832 }; 833 834 u2phy0_host: host-port { 835 phy-supply = <&vcc5v0_host3>; 836 status = "okay"; 837 }; 838 839 port { 840 u2phy0_typec_hs: endpoint { 841 remote-endpoint = <&usbc_hs>; 842 }; 843 }; 844}; 845 846&u2phy1 { 847 status = "okay"; 848 849 u2phy1_otg: otg-port { 850 status = "okay"; 851 }; 852 853 u2phy1_host: host-port { 854 phy-supply = <&vcc5v0_host3>; 855 status = "okay"; 856 }; 857}; 858 859&uart0 { 860 pinctrl-names = "default"; 861 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 862 status = "okay"; 863 864 bluetooth { 865 compatible = "brcm,bcm4345c5"; 866 clocks = <&rk808 1>; 867 clock-names = "lpo"; 868 device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>; 869 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 870 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 871 max-speed = <1500000>; 872 pinctrl-names = "default"; 873 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 874 vbat-supply = <&vcc3v3_sys>; 875 vddio-supply = <&vcc_1v8>; 876 }; 877}; 878 879&uart2 { 880 status = "okay"; 881}; 882 883&usb_host0_ehci { 884 status = "okay"; 885}; 886 887&usb_host0_ohci { 888 status = "okay"; 889}; 890 891&usb_host1_ehci { 892 status = "okay"; 893}; 894 895&usb_host1_ohci { 896 status = "okay"; 897}; 898 899&usbdrd3_0 { 900 status = "okay"; 901}; 902 903&usbdrd_dwc3_0 { 904 status = "okay"; 905 usb-role-switch; 906 907 port { 908 #address-cells = <1>; 909 #size-cells = <0>; 910 dwc3_0_role_switch: endpoint@0 { 911 reg = <0>; 912 remote-endpoint = <&usbc0_role_sw>; 913 }; 914 }; 915}; 916 917&usbdrd3_1 { 918 status = "okay"; 919}; 920 921&usbdrd_dwc3_1 { 922 status = "okay"; 923 dr_mode = "host"; 924}; 925 926&vopb { 927 status = "okay"; 928}; 929 930&vopb_mmu { 931 status = "okay"; 932}; 933 934&vopl { 935 status = "okay"; 936}; 937 938&vopl_mmu { 939 status = "okay"; 940}; 941