1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 4 * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com> 5 * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org> 6 */ 7 8/dts-v1/; 9#include <dt-bindings/input/gpio-keys.h> 10#include <dt-bindings/input/linux-event-codes.h> 11#include <dt-bindings/pwm/pwm.h> 12#include <dt-bindings/usb/pd.h> 13#include <dt-bindings/leds/common.h> 14#include "rk3399.dtsi" 15#include "rk3399-opp.dtsi" 16 17/ { 18 model = "Pine64 Pinebook Pro"; 19 compatible = "pine64,pinebook-pro", "rockchip,rk3399"; 20 chassis-type = "laptop"; 21 22 aliases { 23 mmc0 = &sdio0; 24 mmc1 = &sdmmc; 25 mmc2 = &sdhci; 26 }; 27 28 chosen { 29 stdout-path = "serial2:1500000n8"; 30 }; 31 32 backlight: edp-backlight { 33 compatible = "pwm-backlight"; 34 power-supply = <&vcc_12v>; 35 pwms = <&pwm0 0 740740 0>; 36 }; 37 38 bat: battery { 39 compatible = "simple-battery"; 40 charge-full-design-microamp-hours = <9800000>; 41 voltage-max-design-microvolt = <4350000>; 42 voltage-min-design-microvolt = <3000000>; 43 }; 44 45 edp_panel: edp-panel { 46 compatible = "boe,nv140fhmn49"; 47 backlight = <&backlight>; 48 enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 49 pinctrl-names = "default"; 50 pinctrl-0 = <&panel_en_pin>; 51 power-supply = <&vcc3v3_panel>; 52 53 ports { 54 #address-cells = <1>; 55 #size-cells = <0>; 56 57 port@0 { 58 reg = <0>; 59 #address-cells = <1>; 60 #size-cells = <0>; 61 62 panel_in_edp: endpoint@0 { 63 reg = <0>; 64 remote-endpoint = <&edp_out_panel>; 65 }; 66 }; 67 }; 68 }; 69 70 /* 71 * Use separate nodes for gpio-keys to allow for selective deactivation 72 * of wakeup sources via sysfs without disabling the whole key 73 */ 74 gpio-key-lid { 75 compatible = "gpio-keys"; 76 pinctrl-names = "default"; 77 pinctrl-0 = <&lidbtn_pin>; 78 79 lid { 80 debounce-interval = <20>; 81 gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; 82 label = "Lid"; 83 linux,code = <SW_LID>; 84 linux,input-type = <EV_SW>; 85 wakeup-event-action = <EV_ACT_DEASSERTED>; 86 wakeup-source; 87 }; 88 }; 89 90 gpio-key-power { 91 compatible = "gpio-keys"; 92 pinctrl-names = "default"; 93 pinctrl-0 = <&pwrbtn_pin>; 94 95 power { 96 debounce-interval = <20>; 97 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 98 label = "Power"; 99 linux,code = <KEY_POWER>; 100 wakeup-source; 101 }; 102 }; 103 104 leds { 105 compatible = "gpio-leds"; 106 pinctrl-names = "default"; 107 pinctrl-0 = <&pwr_led_pin &slp_led_pin>; 108 109 green_led: led-0 { 110 color = <LED_COLOR_ID_GREEN>; 111 default-state = "on"; 112 function = LED_FUNCTION_POWER; 113 gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 114 label = "green:power"; 115 }; 116 117 red_led: led-1 { 118 color = <LED_COLOR_ID_RED>; 119 default-state = "off"; 120 function = LED_FUNCTION_STANDBY; 121 gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 122 label = "red:standby"; 123 panic-indicator; 124 retain-state-suspended; 125 }; 126 }; 127 128 /* Power sequence for SDIO WiFi module */ 129 sdio_pwrseq: sdio-pwrseq { 130 compatible = "mmc-pwrseq-simple"; 131 clocks = <&rk808 1>; 132 clock-names = "ext_clock"; 133 pinctrl-names = "default"; 134 pinctrl-0 = <&wifi_enable_h_pin>; 135 post-power-on-delay-ms = <100>; 136 power-off-delay-us = <500000>; 137 138 /* WL_REG_ON on module */ 139 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 140 }; 141 142 /* Audio components */ 143 es8316-sound { 144 compatible = "simple-audio-card"; 145 pinctrl-names = "default"; 146 pinctrl-0 = <&hp_det_pin>; 147 simple-audio-card,name = "rockchip,es8316-codec"; 148 simple-audio-card,format = "i2s"; 149 simple-audio-card,mclk-fs = <256>; 150 151 simple-audio-card,widgets = 152 "Microphone", "Mic Jack", 153 "Headphone", "Headphones", 154 "Speaker", "Speaker"; 155 simple-audio-card,routing = 156 "MIC1", "Mic Jack", 157 "Headphones", "HPOL", 158 "Headphones", "HPOR", 159 "Speaker Amplifier INL", "HPOL", 160 "Speaker Amplifier INR", "HPOR", 161 "Speaker", "Speaker Amplifier OUTL", 162 "Speaker", "Speaker Amplifier OUTR"; 163 164 simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 165 simple-audio-card,aux-devs = <&speaker_amp>; 166 simple-audio-card,pin-switches = "Speaker"; 167 168 simple-audio-card,cpu { 169 sound-dai = <&i2s1>; 170 }; 171 172 simple-audio-card,codec { 173 sound-dai = <&es8316>; 174 }; 175 }; 176 177 speaker_amp: speaker-amplifier { 178 compatible = "simple-audio-amplifier"; 179 enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; 180 sound-name-prefix = "Speaker Amplifier"; 181 VCC-supply = <&pa_5v>; 182 }; 183 184 /* Power tree */ 185 /* Root power source */ 186 vcc_sysin: vcc-sysin { 187 compatible = "regulator-fixed"; 188 regulator-name = "vcc_sysin"; 189 regulator-always-on; 190 regulator-boot-on; 191 }; 192 193 /* Regulators supplied by vcc_sysin */ 194 /* LCD backlight supply */ 195 vcc_12v: vcc-12v { 196 compatible = "regulator-fixed"; 197 regulator-name = "vcc_12v"; 198 regulator-always-on; 199 regulator-boot-on; 200 regulator-min-microvolt = <12000000>; 201 regulator-max-microvolt = <12000000>; 202 vin-supply = <&vcc_sysin>; 203 204 regulator-state-mem { 205 regulator-off-in-suspend; 206 }; 207 }; 208 209 /* Main 3.3 V supply */ 210 vcc3v3_sys: wifi_bat: vcc3v3-sys { 211 compatible = "regulator-fixed"; 212 regulator-name = "vcc3v3_sys"; 213 regulator-always-on; 214 regulator-boot-on; 215 regulator-min-microvolt = <3300000>; 216 regulator-max-microvolt = <3300000>; 217 vin-supply = <&vcc_sysin>; 218 219 regulator-state-mem { 220 regulator-on-in-suspend; 221 }; 222 }; 223 224 /* 5 V USB power supply */ 225 vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { 226 compatible = "regulator-fixed"; 227 enable-active-high; 228 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 229 pinctrl-names = "default"; 230 pinctrl-0 = <&pwr_5v_pin>; 231 regulator-name = "vcc5v0_usb"; 232 regulator-always-on; 233 regulator-min-microvolt = <5000000>; 234 regulator-max-microvolt = <5000000>; 235 vin-supply = <&vcc_sysin>; 236 237 regulator-state-mem { 238 regulator-off-in-suspend; 239 }; 240 }; 241 242 /* RK3399 logic supply */ 243 vdd_log: vdd-log { 244 compatible = "pwm-regulator"; 245 pwms = <&pwm2 0 25000 1>; 246 regulator-name = "vdd_log"; 247 regulator-always-on; 248 regulator-boot-on; 249 regulator-min-microvolt = <800000>; 250 regulator-max-microvolt = <1400000>; 251 vin-supply = <&vcc_sysin>; 252 253 regulator-state-mem { 254 regulator-on-in-suspend; 255 }; 256 }; 257 258 /* Regulators supplied by vcc3v3_sys */ 259 /* 0.9 V supply, always on */ 260 vcc_0v9: vcc-0v9 { 261 compatible = "regulator-fixed"; 262 regulator-name = "vcc_0v9"; 263 regulator-always-on; 264 regulator-boot-on; 265 regulator-min-microvolt = <900000>; 266 regulator-max-microvolt = <900000>; 267 vin-supply = <&vcc3v3_sys>; 268 }; 269 270 /* S3 1.8 V supply, switched by vcc1v8_s3 */ 271 vcca1v8_s3: vcc1v8-s3 { 272 compatible = "regulator-fixed"; 273 regulator-name = "vcca1v8_s3"; 274 regulator-always-on; 275 regulator-boot-on; 276 regulator-min-microvolt = <1800000>; 277 regulator-max-microvolt = <1800000>; 278 vin-supply = <&vcc3v3_sys>; 279 }; 280 281 /* micro SD card power */ 282 vcc3v0_sd: vcc3v0-sd { 283 compatible = "regulator-fixed"; 284 enable-active-high; 285 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 286 pinctrl-names = "default"; 287 pinctrl-0 = <&sdmmc0_pwr_h_pin>; 288 regulator-name = "vcc3v0_sd"; 289 regulator-always-on; 290 regulator-min-microvolt = <3000000>; 291 regulator-max-microvolt = <3000000>; 292 vin-supply = <&vcc3v3_sys>; 293 294 regulator-state-mem { 295 regulator-off-in-suspend; 296 }; 297 }; 298 299 /* LCD panel power, called VCC3V3_S0 in schematic */ 300 vcc3v3_panel: vcc3v3-panel { 301 compatible = "regulator-fixed"; 302 enable-active-high; 303 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; 304 pinctrl-names = "default"; 305 pinctrl-0 = <&lcdvcc_en_pin>; 306 regulator-name = "vcc3v3_panel"; 307 regulator-always-on; 308 regulator-min-microvolt = <3300000>; 309 regulator-max-microvolt = <3300000>; 310 regulator-enable-ramp-delay = <100000>; 311 vin-supply = <&vcc3v3_sys>; 312 313 regulator-state-mem { 314 regulator-off-in-suspend; 315 }; 316 }; 317 318 /* M.2 adapter power, switched by vcc1v8_s3 */ 319 vcc3v3_ssd: vcc3v3-ssd { 320 compatible = "regulator-fixed"; 321 regulator-name = "vcc3v3_ssd"; 322 regulator-min-microvolt = <3300000>; 323 regulator-max-microvolt = <3300000>; 324 vin-supply = <&vcc3v3_sys>; 325 }; 326 327 /* Regulators supplied by vcc5v0_usb */ 328 /* USB 3 port power supply regulator */ 329 vcc5v0_otg: vcc5v0-otg { 330 compatible = "regulator-fixed"; 331 enable-active-high; 332 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 333 pinctrl-names = "default"; 334 pinctrl-0 = <&vcc5v0_host_en_pin>; 335 regulator-name = "vcc5v0_otg"; 336 regulator-always-on; 337 regulator-min-microvolt = <5000000>; 338 regulator-max-microvolt = <5000000>; 339 vin-supply = <&vcc5v0_usb>; 340 341 regulator-state-mem { 342 regulator-off-in-suspend; 343 }; 344 }; 345 346 /* Regulators supplied by vcc5v0_usb */ 347 /* Type C port power supply regulator */ 348 vbus_5vout: vbus_typec: vbus-5vout { 349 compatible = "regulator-fixed"; 350 enable-active-high; 351 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 352 pinctrl-names = "default"; 353 pinctrl-0 = <&vcc5v0_typec0_en_pin>; 354 regulator-name = "vbus_5vout"; 355 regulator-min-microvolt = <5000000>; 356 regulator-max-microvolt = <5000000>; 357 vin-supply = <&vcc5v0_usb>; 358 359 regulator-state-mem { 360 regulator-off-in-suspend; 361 }; 362 }; 363 364 /* Regulators supplied by vcc_1v8 */ 365 /* Primary 0.9 V LDO */ 366 vcca0v9_s3: vcca0v9-s3 { 367 compatible = "regulator-fixed"; 368 regulator-name = "vcc0v9_s3"; 369 regulator-min-microvolt = <5000000>; 370 regulator-max-microvolt = <5000000>; 371 vin-supply = <&vcc_1v8>; 372 373 regulator-state-mem { 374 regulator-on-in-suspend; 375 }; 376 }; 377 378 mains_charger: dc-charger { 379 compatible = "gpio-charger"; 380 charger-type = "mains"; 381 gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; 382 383 /* Also triggered by USB charger */ 384 pinctrl-names = "default"; 385 pinctrl-0 = <&dc_det_pin>; 386 }; 387}; 388 389&cpu_b0 { 390 cpu-supply = <&vdd_cpu_b>; 391}; 392 393&cpu_b1 { 394 cpu-supply = <&vdd_cpu_b>; 395}; 396 397&cpu_l0 { 398 cpu-supply = <&vdd_cpu_l>; 399}; 400 401&cpu_l1 { 402 cpu-supply = <&vdd_cpu_l>; 403}; 404 405&cpu_l2 { 406 cpu-supply = <&vdd_cpu_l>; 407}; 408 409&cpu_l3 { 410 cpu-supply = <&vdd_cpu_l>; 411}; 412 413&edp { 414 force-hpd; 415 pinctrl-names = "default"; 416 pinctrl-0 = <&edp_hpd>; 417 status = "okay"; 418 419 ports { 420 edp_out: port@1 { 421 reg = <1>; 422 #address-cells = <1>; 423 #size-cells = <0>; 424 425 edp_out_panel: endpoint@0 { 426 reg = <0>; 427 remote-endpoint = <&panel_in_edp>; 428 }; 429 }; 430 }; 431}; 432 433&emmc_phy { 434 status = "okay"; 435}; 436 437&gpu { 438 mali-supply = <&vdd_gpu>; 439 status = "okay"; 440}; 441 442&hdmi_sound { 443 status = "okay"; 444}; 445 446&i2c0 { 447 clock-frequency = <400000>; 448 i2c-scl-falling-time-ns = <4>; 449 i2c-scl-rising-time-ns = <168>; 450 status = "okay"; 451 452 rk808: pmic@1b { 453 compatible = "rockchip,rk808"; 454 reg = <0x1b>; 455 #clock-cells = <1>; 456 clock-output-names = "xin32k", "rk808-clkout2"; 457 interrupt-parent = <&gpio3>; 458 interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 459 pinctrl-names = "default"; 460 pinctrl-0 = <&pmic_int_l_pin>; 461 rockchip,system-power-controller; 462 wakeup-source; 463 464 vcc1-supply = <&vcc_sysin>; 465 vcc2-supply = <&vcc_sysin>; 466 vcc3-supply = <&vcc_sysin>; 467 vcc4-supply = <&vcc_sysin>; 468 vcc6-supply = <&vcc_sysin>; 469 vcc7-supply = <&vcc_sysin>; 470 vcc8-supply = <&vcc3v3_sys>; 471 vcc9-supply = <&vcc_sysin>; 472 vcc10-supply = <&vcc_sysin>; 473 vcc11-supply = <&vcc_sysin>; 474 vcc12-supply = <&vcc3v3_sys>; 475 vcc13-supply = <&vcc_sysin>; 476 vcc14-supply = <&vcc_sysin>; 477 478 regulators { 479 /* rk3399 center logic supply */ 480 vdd_center: DCDC_REG1 { 481 regulator-name = "vdd_center"; 482 regulator-always-on; 483 regulator-boot-on; 484 regulator-min-microvolt = <750000>; 485 regulator-max-microvolt = <1350000>; 486 regulator-ramp-delay = <6001>; 487 488 regulator-state-mem { 489 regulator-off-in-suspend; 490 }; 491 }; 492 493 vdd_cpu_l: DCDC_REG2 { 494 regulator-name = "vdd_cpu_l"; 495 regulator-always-on; 496 regulator-boot-on; 497 regulator-min-microvolt = <750000>; 498 regulator-max-microvolt = <1350000>; 499 regulator-ramp-delay = <6001>; 500 501 regulator-state-mem { 502 regulator-off-in-suspend; 503 }; 504 }; 505 506 vcc_ddr: DCDC_REG3 { 507 regulator-name = "vcc_ddr"; 508 regulator-always-on; 509 regulator-boot-on; 510 511 regulator-state-mem { 512 regulator-on-in-suspend; 513 }; 514 }; 515 516 vcc_1v8: vcc_wl: DCDC_REG4 { 517 regulator-name = "vcc_1v8"; 518 regulator-always-on; 519 regulator-boot-on; 520 regulator-min-microvolt = <1800000>; 521 regulator-max-microvolt = <1800000>; 522 523 regulator-state-mem { 524 regulator-on-in-suspend; 525 regulator-suspend-microvolt = <1800000>; 526 }; 527 }; 528 529 /* not used */ 530 LDO_REG1 { 531 }; 532 533 /* not used */ 534 LDO_REG2 { 535 }; 536 537 vcc1v8_pmupll: LDO_REG3 { 538 regulator-name = "vcc1v8_pmupll"; 539 regulator-always-on; 540 regulator-boot-on; 541 regulator-min-microvolt = <1800000>; 542 regulator-max-microvolt = <1800000>; 543 544 regulator-state-mem { 545 regulator-on-in-suspend; 546 regulator-suspend-microvolt = <1800000>; 547 }; 548 }; 549 550 vcc_sdio: LDO_REG4 { 551 regulator-name = "vcc_sdio"; 552 regulator-always-on; 553 regulator-boot-on; 554 regulator-min-microvolt = <1800000>; 555 regulator-max-microvolt = <3000000>; 556 557 regulator-state-mem { 558 regulator-on-in-suspend; 559 regulator-suspend-microvolt = <3000000>; 560 }; 561 }; 562 563 vcca3v0_codec: LDO_REG5 { 564 regulator-name = "vcca3v0_codec"; 565 regulator-always-on; 566 regulator-boot-on; 567 regulator-min-microvolt = <3000000>; 568 regulator-max-microvolt = <3000000>; 569 570 regulator-state-mem { 571 regulator-off-in-suspend; 572 }; 573 }; 574 575 vcc_1v5: LDO_REG6 { 576 regulator-name = "vcc_1v5"; 577 regulator-always-on; 578 regulator-boot-on; 579 regulator-min-microvolt = <1500000>; 580 regulator-max-microvolt = <1500000>; 581 582 regulator-state-mem { 583 regulator-on-in-suspend; 584 regulator-suspend-microvolt = <1500000>; 585 }; 586 }; 587 588 vcca1v8_codec: LDO_REG7 { 589 regulator-name = "vcca1v8_codec"; 590 regulator-always-on; 591 regulator-boot-on; 592 regulator-min-microvolt = <1800000>; 593 regulator-max-microvolt = <1800000>; 594 595 regulator-state-mem { 596 regulator-off-in-suspend; 597 }; 598 }; 599 600 vcc_3v0: LDO_REG8 { 601 regulator-name = "vcc_3v0"; 602 regulator-always-on; 603 regulator-boot-on; 604 regulator-min-microvolt = <3000000>; 605 regulator-max-microvolt = <3000000>; 606 607 regulator-state-mem { 608 regulator-on-in-suspend; 609 regulator-suspend-microvolt = <3000000>; 610 }; 611 }; 612 613 vcc3v3_s3: SWITCH_REG1 { 614 regulator-name = "vcc3v3_s3"; 615 regulator-always-on; 616 regulator-boot-on; 617 618 regulator-state-mem { 619 regulator-off-in-suspend; 620 }; 621 }; 622 623 vcc3v3_s0: SWITCH_REG2 { 624 regulator-name = "vcc3v3_s0"; 625 regulator-always-on; 626 regulator-boot-on; 627 628 regulator-state-mem { 629 regulator-off-in-suspend; 630 }; 631 }; 632 }; 633 }; 634 635 vdd_cpu_b: regulator@40 { 636 compatible = "silergy,syr827"; 637 reg = <0x40>; 638 fcs,suspend-voltage-selector = <1>; 639 pinctrl-names = "default"; 640 pinctrl-0 = <&vsel1_pin>; 641 regulator-name = "vdd_cpu_b"; 642 regulator-always-on; 643 regulator-boot-on; 644 regulator-min-microvolt = <712500>; 645 regulator-max-microvolt = <1500000>; 646 regulator-ramp-delay = <1000>; 647 vin-supply = <&vcc_1v8>; 648 649 regulator-state-mem { 650 regulator-off-in-suspend; 651 }; 652 }; 653 654 vdd_gpu: regulator@41 { 655 compatible = "silergy,syr828"; 656 reg = <0x41>; 657 fcs,suspend-voltage-selector = <1>; 658 pinctrl-names = "default"; 659 pinctrl-0 = <&vsel2_pin>; 660 regulator-name = "vdd_gpu"; 661 regulator-always-on; 662 regulator-boot-on; 663 regulator-min-microvolt = <712500>; 664 regulator-max-microvolt = <1500000>; 665 regulator-ramp-delay = <1000>; 666 vin-supply = <&vcc_1v8>; 667 668 regulator-state-mem { 669 regulator-off-in-suspend; 670 }; 671 }; 672}; 673 674&i2c1 { 675 clock-frequency = <100000>; 676 i2c-scl-falling-time-ns = <4>; 677 i2c-scl-rising-time-ns = <168>; 678 status = "okay"; 679 680 es8316: es8316@11 { 681 compatible = "everest,es8316"; 682 reg = <0x11>; 683 clocks = <&cru SCLK_I2S_8CH_OUT>; 684 clock-names = "mclk"; 685 #sound-dai-cells = <0>; 686 }; 687}; 688 689&i2c3 { 690 i2c-scl-falling-time-ns = <15>; 691 i2c-scl-rising-time-ns = <450>; 692 status = "okay"; 693}; 694 695&i2c4 { 696 i2c-scl-falling-time-ns = <20>; 697 i2c-scl-rising-time-ns = <600>; 698 status = "okay"; 699 700 fusb0: fusb30x@22 { 701 compatible = "fcs,fusb302"; 702 reg = <0x22>; 703 interrupt-parent = <&gpio1>; 704 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 705 pinctrl-names = "default"; 706 pinctrl-0 = <&fusb0_int_pin>; 707 vbus-supply = <&vbus_typec>; 708 709 connector { 710 compatible = "usb-c-connector"; 711 data-role = "dual"; 712 label = "USB-C"; 713 op-sink-microwatt = <1000000>; 714 power-role = "dual"; 715 sink-pdos = 716 <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 717 source-pdos = 718 <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 719 try-power-role = "sink"; 720 721 ports { 722 #address-cells = <1>; 723 #size-cells = <0>; 724 725 port@0 { 726 reg = <0>; 727 728 usbc_hs: endpoint { 729 remote-endpoint = 730 <&u2phy0_typec_hs>; 731 }; 732 }; 733 734 port@1 { 735 reg = <1>; 736 737 usbc_ss: endpoint { 738 remote-endpoint = 739 <&tcphy0_typec_ss>; 740 }; 741 }; 742 743 port@2 { 744 reg = <2>; 745 746 usbc_dp: endpoint { 747 remote-endpoint = 748 <&tcphy0_typec_dp>; 749 }; 750 }; 751 }; 752 }; 753 }; 754 755 cw2015@62 { 756 compatible = "cellwise,cw2015"; 757 reg = <0x62>; 758 cellwise,battery-profile = /bits/ 8 < 759 0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63 760 0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36 761 0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69 762 0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59 763 0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17 764 0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D 765 0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB 766 0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11 767 >; 768 cellwise,monitor-interval-ms = <5000>; 769 monitored-battery = <&bat>; 770 power-supplies = <&mains_charger>, <&fusb0>; 771 }; 772}; 773 774&i2s1 { 775 pinctrl-names = "default"; 776 pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>; 777 rockchip,capture-channels = <8>; 778 rockchip,playback-channels = <8>; 779 status = "okay"; 780}; 781 782&io_domains { 783 audio-supply = <&vcc_3v0>; 784 gpio1830-supply = <&vcc_3v0>; 785 sdmmc-supply = <&vcc_sdio>; 786 status = "okay"; 787}; 788 789&pcie_phy { 790 status = "okay"; 791}; 792 793&pcie0 { 794 bus-scan-delay-ms = <1000>; 795 ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; 796 num-lanes = <4>; 797 pinctrl-names = "default"; 798 pinctrl-0 = <&pcie_clkreqn_cpm>; 799 vpcie0v9-supply = <&vcca0v9_s3>; 800 vpcie1v8-supply = <&vcca1v8_s3>; 801 vpcie3v3-supply = <&vcc3v3_ssd>; 802 status = "okay"; 803}; 804 805&pinctrl { 806 buttons { 807 pwrbtn_pin: pwrbtn-pin { 808 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 809 }; 810 811 lidbtn_pin: lidbtn-pin { 812 rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 813 }; 814 }; 815 816 dc-charger { 817 dc_det_pin: dc-det-pin { 818 rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; 819 }; 820 }; 821 822 es8316 { 823 hp_det_pin: hp-det-pin { 824 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 825 }; 826 }; 827 828 fusb302x { 829 fusb0_int_pin: fusb0-int-pin { 830 rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 831 }; 832 }; 833 834 i2s1 { 835 i2s_8ch_mclk_pin: i2s-8ch-mclk-pin { 836 rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; 837 }; 838 }; 839 840 lcd-panel { 841 lcdvcc_en_pin: lcdvcc-en-pin { 842 rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 843 }; 844 845 panel_en_pin: panel-en-pin { 846 rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 847 }; 848 849 lcd_panel_reset_pin: lcd-panel-reset-pin { 850 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 851 }; 852 }; 853 854 leds { 855 pwr_led_pin: pwr-led-pin { 856 rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 857 }; 858 859 slp_led_pin: slp-led-pin { 860 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 861 }; 862 }; 863 864 pmic { 865 pmic_int_l_pin: pmic-int-l-pin { 866 rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 867 }; 868 869 vsel1_pin: vsel1-pin { 870 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 871 }; 872 873 vsel2_pin: vsel2-pin { 874 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 875 }; 876 }; 877 878 sdcard { 879 sdmmc0_pwr_h_pin: sdmmc0-pwr-h-pin { 880 rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 881 }; 882 883 }; 884 885 sdio-pwrseq { 886 wifi_enable_h_pin: wifi-enable-h-pin { 887 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 888 }; 889 }; 890 891 usb-typec { 892 vcc5v0_typec0_en_pin: vcc5v0-typec0-en-pin { 893 rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 894 }; 895 }; 896 897 usb2 { 898 pwr_5v_pin: pwr-5v-pin { 899 rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 900 }; 901 902 vcc5v0_host_en_pin: vcc5v0-host-en-pin { 903 rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 904 }; 905 }; 906 907 wireless-bluetooth { 908 bt_wake_pin: bt-wake-pin { 909 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 910 }; 911 912 bt_host_wake_pin: bt-host-wake-pin { 913 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 914 }; 915 916 bt_reset_pin: bt-reset-pin { 917 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 918 }; 919 }; 920}; 921 922&pmu_io_domains { 923 pmu1830-supply = <&vcc_3v0>; 924 status = "okay"; 925}; 926 927&pwm0 { 928 status = "okay"; 929}; 930 931&pwm2 { 932 status = "okay"; 933}; 934 935&saradc { 936 vref-supply = <&vcca1v8_s3>; 937 status = "okay"; 938}; 939 940&sdmmc { 941 bus-width = <4>; 942 cap-mmc-highspeed; 943 cap-sd-highspeed; 944 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 945 disable-wp; 946 pinctrl-names = "default"; 947 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 948 sd-uhs-sdr104; 949 vmmc-supply = <&vcc3v0_sd>; 950 vqmmc-supply = <&vcc_sdio>; 951 status = "okay"; 952}; 953 954&sdio0 { 955 bus-width = <4>; 956 cap-sd-highspeed; 957 cap-sdio-irq; 958 keep-power-in-suspend; 959 mmc-pwrseq = <&sdio_pwrseq>; 960 non-removable; 961 pinctrl-names = "default"; 962 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 963 sd-uhs-sdr104; 964 status = "okay"; 965}; 966 967&sdhci { 968 bus-width = <8>; 969 mmc-hs200-1_8v; 970 non-removable; 971 status = "okay"; 972}; 973 974&spi1 { 975 max-freq = <10000000>; 976 status = "okay"; 977 978 spiflash: flash@0 { 979 compatible = "jedec,spi-nor"; 980 reg = <0>; 981 m25p,fast-read; 982 spi-max-frequency = <10000000>; 983 }; 984}; 985 986&tcphy0 { 987 status = "okay"; 988}; 989 990&tcphy0_dp { 991 port { 992 tcphy0_typec_dp: endpoint { 993 remote-endpoint = <&usbc_dp>; 994 }; 995 }; 996}; 997 998&tcphy0_usb3 { 999 port { 1000 tcphy0_typec_ss: endpoint { 1001 remote-endpoint = <&usbc_ss>; 1002 }; 1003 }; 1004}; 1005 1006&tcphy1 { 1007 status = "okay"; 1008}; 1009 1010&tsadc { 1011 /* tshut mode 0:CRU 1:GPIO */ 1012 rockchip,hw-tshut-mode = <1>; 1013 /* tshut polarity 0:LOW 1:HIGH */ 1014 rockchip,hw-tshut-polarity = <1>; 1015 status = "okay"; 1016}; 1017 1018&u2phy0 { 1019 status = "okay"; 1020 1021 u2phy0_otg: otg-port { 1022 status = "okay"; 1023 }; 1024 1025 u2phy0_host: host-port { 1026 phy-supply = <&vcc5v0_otg>; 1027 status = "okay"; 1028 }; 1029 1030 port { 1031 u2phy0_typec_hs: endpoint { 1032 remote-endpoint = <&usbc_hs>; 1033 }; 1034 }; 1035}; 1036 1037&u2phy1 { 1038 status = "okay"; 1039 1040 u2phy1_otg: otg-port { 1041 status = "okay"; 1042 }; 1043 1044 u2phy1_host: host-port { 1045 phy-supply = <&vcc5v0_otg>; 1046 status = "okay"; 1047 }; 1048}; 1049 1050&uart0 { 1051 pinctrl-names = "default"; 1052 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 1053 uart-has-rtscts; 1054 status = "okay"; 1055 1056 bluetooth { 1057 compatible = "brcm,bcm4345c5"; 1058 clocks = <&rk808 1>; 1059 clock-names = "lpo"; 1060 device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 1061 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 1062 max-speed = <1500000>; 1063 pinctrl-names = "default"; 1064 pinctrl-0 = <&bt_host_wake_pin &bt_wake_pin &bt_reset_pin>; 1065 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 1066 vbat-supply = <&wifi_bat>; 1067 vddio-supply = <&vcc_wl>; 1068 }; 1069}; 1070 1071&uart2 { 1072 status = "okay"; 1073}; 1074 1075&usb_host0_ehci { 1076 status = "okay"; 1077}; 1078 1079&usb_host0_ohci { 1080 status = "okay"; 1081}; 1082 1083&usb_host1_ehci { 1084 status = "okay"; 1085}; 1086 1087&usb_host1_ohci { 1088 status = "okay"; 1089}; 1090 1091&usbdrd3_0 { 1092 status = "okay"; 1093}; 1094 1095&usbdrd_dwc3_0 { 1096 dr_mode = "host"; 1097 status = "okay"; 1098}; 1099 1100&usbdrd3_1 { 1101 status = "okay"; 1102}; 1103 1104&usbdrd_dwc3_1 { 1105 dr_mode = "host"; 1106 status = "okay"; 1107}; 1108 1109&vopb { 1110 status = "okay"; 1111}; 1112 1113&vopb_mmu { 1114 status = "okay"; 1115}; 1116 1117&vopl { 1118 status = "okay"; 1119}; 1120 1121&vopl_mmu { 1122 status = "okay"; 1123}; 1124