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