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