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