1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3/dts-v1/; 4 5#include <dt-bindings/gpio/gpio.h> 6#include <dt-bindings/input/linux-event-codes.h> 7#include <dt-bindings/leds/common.h> 8#include <dt-bindings/pinctrl/rockchip.h> 9#include <dt-bindings/soc/rockchip,vop2.h> 10#include "rk3566.dtsi" 11 12/ { 13 model = "Powkiddy x55"; 14 chassis-type = "handset"; 15 compatible = "powkiddy,x55", "rockchip,rk3566"; 16 17 aliases { 18 mmc0 = &sdhci; 19 mmc1 = &sdmmc0; 20 mmc2 = &sdmmc2; 21 mmc3 = &sdmmc1; 22 }; 23 24 chosen: chosen { 25 stdout-path = "serial2:1500000n8"; 26 }; 27 28 adc_joystick: adc-joystick { 29 compatible = "adc-joystick"; 30 io-channels = <&saradc 0>, <&saradc 1>, 31 <&saradc 2>, <&saradc 3>; 32 poll-interval = <60>; 33 #address-cells = <1>; 34 #size-cells = <0>; 35 36 axis@0 { 37 reg = <0>; 38 abs-flat = <30>; 39 abs-fuzz = <20>; 40 abs-range = <15 1023>; 41 linux,code = <ABS_X>; 42 }; 43 44 axis@1 { 45 reg = <1>; 46 abs-flat = <30>; 47 abs-fuzz = <20>; 48 abs-range = <1023 15>; 49 linux,code = <ABS_Y>; 50 }; 51 52 axis@2 { 53 reg = <2>; 54 abs-flat = <30>; 55 abs-fuzz = <20>; 56 abs-range = <15 1023>; 57 linux,code = <ABS_RX>; 58 }; 59 60 axis@3 { 61 reg = <3>; 62 abs-flat = <30>; 63 abs-fuzz = <20>; 64 abs-range = <1023 15>; 65 linux,code = <ABS_RY>; 66 }; 67 }; 68 69 backlight: backlight { 70 compatible = "pwm-backlight"; 71 power-supply = <&vcc_sys>; 72 pwms = <&pwm4 0 25000 0>; 73 }; 74 75 battery: battery { 76 compatible = "simple-battery"; 77 charge-full-design-microamp-hours = <4000000>; 78 charge-term-current-microamp = <300000>; 79 constant-charge-current-max-microamp = <2000000>; 80 constant-charge-voltage-max-microvolt = <4300000>; 81 factory-internal-resistance-micro-ohms = <91000>; 82 voltage-max-design-microvolt = <4138000>; 83 voltage-min-design-microvolt = <3400000>; 84 85 ocv-capacity-celsius = <20>; 86 ocv-capacity-table-0 = <4138000 100>, <4083000 95>, <4059000 90>, <4044000 85>, 87 <4030000 80>, <4020000 75>, <4006000 70>, <3972000 65>, 88 <3934000 60>, <3904000 55>, <3878000 50>, <3857000 45>, 89 <3843000 40>, <3826000 35>, <3801000 30>, <3768000 25>, 90 <3735000 20>, <3688000 15>, <3621000 10>, <3553000 5>, 91 <3400000 0>; 92 }; 93 94 gpio_keys_control: gpio-keys-control { 95 compatible = "gpio-keys"; 96 pinctrl-0 = <&btn_pins_ctrl>; 97 pinctrl-names = "default"; 98 99 button-a { 100 gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>; 101 label = "EAST"; 102 linux,code = <BTN_EAST>; 103 }; 104 105 button-b { 106 gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>; 107 label = "SOUTH"; 108 linux,code = <BTN_SOUTH>; 109 }; 110 111 button-down { 112 gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; 113 label = "DPAD-DOWN"; 114 linux,code = <BTN_DPAD_DOWN>; 115 }; 116 117 button-l1 { 118 gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>; 119 label = "TL"; 120 linux,code = <BTN_TL>; 121 }; 122 123 button-l2 { 124 gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_LOW>; 125 label = "TL2"; 126 linux,code = <BTN_TL2>; 127 }; 128 129 button-left { 130 gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>; 131 label = "DPAD-LEFT"; 132 linux,code = <BTN_DPAD_LEFT>; 133 }; 134 135 button-right { 136 gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_LOW>; 137 label = "DPAD-RIGHT"; 138 linux,code = <BTN_DPAD_RIGHT>; 139 }; 140 141 button-select { 142 gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_LOW>; 143 label = "SELECT"; 144 linux,code = <BTN_SELECT>; 145 }; 146 147 button-start { 148 gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>; 149 label = "START"; 150 linux,code = <BTN_START>; 151 }; 152 153 button-thumbl { 154 gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>; 155 label = "THUMBL"; 156 linux,code = <BTN_THUMBL>; 157 }; 158 159 button-thumbr { 160 gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 161 label = "THUMBR"; 162 linux,code = <BTN_THUMBR>; 163 }; 164 165 button-r1 { 166 gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>; 167 label = "TR"; 168 linux,code = <BTN_TR>; 169 }; 170 171 button-r2 { 172 gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>; 173 label = "TR2"; 174 linux,code = <BTN_TR2>; 175 }; 176 177 button-up { 178 gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>; 179 label = "DPAD-UP"; 180 linux,code = <BTN_DPAD_UP>; 181 }; 182 183 button-x { 184 gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; 185 label = "NORTH"; 186 linux,code = <BTN_NORTH>; 187 }; 188 189 button-y { 190 gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>; 191 label = "WEST"; 192 linux,code = <BTN_WEST>; 193 }; 194 }; 195 196 gpio_keys_vol: gpio-keys-vol { 197 compatible = "gpio-keys"; 198 autorepeat; 199 pinctrl-0 = <&btn_pins_vol>; 200 pinctrl-names = "default"; 201 202 button-voldown { 203 gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; 204 label = "VOLUMEDOWN"; 205 linux,code = <KEY_VOLUMEDOWN>; 206 }; 207 208 button-volup { 209 gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_LOW>; 210 label = "VOLUMEUP"; 211 linux,code = <KEY_VOLUMEUP>; 212 }; 213 }; 214 215 gpio_leds: gpio-leds { 216 compatible = "gpio-leds"; 217 pinctrl-names = "default"; 218 pinctrl-0 = <&led_pins>; 219 220 red_led: led-0 { 221 color = <LED_COLOR_ID_RED>; 222 default-state = "off"; 223 gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 224 function = LED_FUNCTION_STATUS; 225 }; 226 227 green_led: led-1 { 228 color = <LED_COLOR_ID_GREEN>; 229 default-state = "on"; 230 gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; 231 function = LED_FUNCTION_POWER; 232 }; 233 234 amber_led: led-2 { 235 color = <LED_COLOR_ID_AMBER>; 236 gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 237 function = LED_FUNCTION_CHARGING; 238 }; 239 240 }; 241 242 hdmi-con { 243 compatible = "hdmi-connector"; 244 ddc-i2c-bus = <&i2c5>; 245 type = "c"; 246 247 port { 248 hdmi_con_in: endpoint { 249 remote-endpoint = <&hdmi_out_con>; 250 }; 251 }; 252 }; 253 254 sdio_pwrseq: sdio-pwrseq { 255 compatible = "mmc-pwrseq-simple"; 256 clocks = <&rk817 1>; 257 clock-names = "ext_clock"; 258 pinctrl-0 = <&wifi_enable_h>; 259 pinctrl-names = "default"; 260 post-power-on-delay-ms = <200>; 261 reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>; 262 }; 263 264 /* Channels reversed for both headphones and speakers. */ 265 sound { 266 compatible = "simple-audio-card"; 267 pinctrl-0 = <&hp_det>; 268 pinctrl-names = "default"; 269 simple-audio-card,name = "rk817_ext"; 270 simple-audio-card,aux-devs = <&spk_amp>; 271 simple-audio-card,format = "i2s"; 272 simple-audio-card,hp-det-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; 273 simple-audio-card,mclk-fs = <256>; 274 simple-audio-card,widgets = 275 "Microphone", "Mic Jack", 276 "Headphone", "Headphones", 277 "Speaker", "Internal Speakers"; 278 simple-audio-card,routing = 279 "MICL", "Mic Jack", 280 "Headphones", "HPOL", 281 "Headphones", "HPOR", 282 "Internal Speakers", "Speaker Amp OUTL", 283 "Internal Speakers", "Speaker Amp OUTR", 284 "Speaker Amp INL", "HPOL", 285 "Speaker Amp INR", "HPOR"; 286 simple-audio-card,pin-switches = "Internal Speakers"; 287 288 simple-audio-card,codec { 289 sound-dai = <&rk817>; 290 }; 291 292 simple-audio-card,cpu { 293 sound-dai = <&i2s1_8ch>; 294 }; 295 }; 296 297 spk_amp: audio-amplifier { 298 compatible = "simple-audio-amplifier"; 299 enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; 300 pinctrl-0 = <&spk_amp_enable_h>; 301 pinctrl-names = "default"; 302 sound-name-prefix = "Speaker Amp"; 303 }; 304 305 vcc5v0_host: regulator-vcc5v0-host { 306 compatible = "regulator-fixed"; 307 enable-active-high; 308 gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; 309 pinctrl-0 = <&vcc5v0_host_en>; 310 pinctrl-names = "default"; 311 regulator-name = "vcc5v0_host"; 312 vin-supply = <&dcdc_boost>; 313 }; 314 315 vcc_lcd: regulator-vcc-lcd { 316 compatible = "regulator-fixed"; 317 enable-active-high; 318 gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 319 pinctrl-0 = <&vcc_lcd_en>; 320 pinctrl-names = "default"; 321 regulator-min-microvolt = <3300000>; 322 regulator-max-microvolt = <3300000>; 323 regulator-name = "vcc_lcd"; 324 }; 325 326 vcc_sys: regulator-vcc-sys { 327 compatible = "regulator-fixed"; 328 regulator-always-on; 329 regulator-boot-on; 330 regulator-min-microvolt = <3800000>; 331 regulator-max-microvolt = <3800000>; 332 regulator-name = "vcc_sys"; 333 }; 334 335 vcc_wifi: regulator-vcc-wifi { 336 compatible = "regulator-fixed"; 337 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; 338 pinctrl-0 = <&vcc_wifi_h>; 339 pinctrl-names = "default"; 340 regulator-min-microvolt = <3300000>; 341 regulator-max-microvolt = <3300000>; 342 regulator-name = "vcc_wifi"; 343 }; 344}; 345 346&combphy1 { 347 status = "okay"; 348}; 349 350&cru { 351 assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, 352 <&pmucru PLL_PPLL>, <&cru PLL_VPLL>; 353 assigned-clock-rates = <32768>, <1200000000>, 354 <200000000>, <126400000>; 355}; 356 357&cpu0 { 358 cpu-supply = <&vdd_cpu>; 359}; 360 361&cpu1 { 362 cpu-supply = <&vdd_cpu>; 363}; 364 365&cpu2 { 366 cpu-supply = <&vdd_cpu>; 367}; 368 369&cpu3 { 370 cpu-supply = <&vdd_cpu>; 371}; 372 373&dsi_dphy0 { 374 status = "okay"; 375}; 376 377&dsi0 { 378 status = "okay"; 379 #address-cells = <1>; 380 #size-cells = <0>; 381 382 ports { 383 dsi0_in: port@0 { 384 reg = <0>; 385 dsi0_in_vp1: endpoint { 386 remote-endpoint = <&vp1_out_dsi0>; 387 }; 388 }; 389 390 dsi0_out: port@1 { 391 reg = <1>; 392 mipi_out_panel: endpoint { 393 remote-endpoint = <&mipi_in_panel>; 394 }; 395 }; 396 }; 397 398 panel: panel@0 { 399 compatible = "powkiddy,x55-panel", "himax,hx8394"; 400 reg = <0>; 401 backlight = <&backlight>; 402 iovcc-supply = <&vcc_lcd>; 403 pinctrl-names = "default"; 404 pinctrl-0 = <&lcd_rst>; 405 reset-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_LOW>; 406 rotation = <270>; 407 vcc-supply = <&vcc_lcd>; 408 409 port { 410 mipi_in_panel: endpoint { 411 remote-endpoint = <&mipi_out_panel>; 412 }; 413 }; 414 }; 415}; 416 417&gpu { 418 mali-supply = <&vdd_gpu>; 419 status = "okay"; 420}; 421 422&hdmi { 423 ddc-i2c-bus = <&i2c5>; 424 pinctrl-0 = <&hdmitxm0_cec>; 425 pinctrl-names = "default"; 426 status = "okay"; 427}; 428 429&hdmi_in { 430 hdmi_in_vp0: endpoint { 431 remote-endpoint = <&vp0_out_hdmi>; 432 }; 433}; 434 435&hdmi_out { 436 hdmi_out_con: endpoint { 437 remote-endpoint = <&hdmi_con_in>; 438 }; 439}; 440 441&hdmi_sound { 442 status = "okay"; 443}; 444 445&i2c0 { 446 status = "okay"; 447 448 rk817: pmic@20 { 449 compatible = "rockchip,rk817"; 450 reg = <0x20>; 451 assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 452 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 453 clock-names = "mclk"; 454 clock-output-names = "rk808-clkout1", "rk808-clkout2"; 455 clocks = <&cru I2S1_MCLKOUT_TX>; 456 interrupt-parent = <&gpio0>; 457 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 458 pinctrl-names = "default"; 459 pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>; 460 wakeup-source; 461 #clock-cells = <1>; 462 #sound-dai-cells = <0>; 463 464 vcc1-supply = <&vcc_sys>; 465 vcc2-supply = <&vcc_sys>; 466 vcc3-supply = <&vcc_sys>; 467 vcc4-supply = <&vcc_sys>; 468 vcc5-supply = <&vcc_sys>; 469 vcc6-supply = <&vcc_sys>; 470 vcc7-supply = <&vcc_sys>; 471 vcc8-supply = <&vcc_sys>; 472 vcc9-supply = <&dcdc_boost>; 473 474 regulators { 475 vdd_logic: DCDC_REG1 { 476 regulator-always-on; 477 regulator-boot-on; 478 regulator-min-microvolt = <500000>; 479 regulator-max-microvolt = <1350000>; 480 regulator-ramp-delay = <6001>; 481 regulator-initial-mode = <0x2>; 482 regulator-name = "vdd_logic"; 483 regulator-state-mem { 484 regulator-off-in-suspend; 485 regulator-suspend-microvolt = <900000>; 486 }; 487 }; 488 489 vdd_gpu: DCDC_REG2 { 490 regulator-always-on; 491 regulator-boot-on; 492 regulator-min-microvolt = <500000>; 493 regulator-max-microvolt = <1350000>; 494 regulator-ramp-delay = <6001>; 495 regulator-initial-mode = <0x2>; 496 regulator-name = "vdd_gpu"; 497 regulator-state-mem { 498 regulator-off-in-suspend; 499 }; 500 }; 501 502 vcc_ddr: DCDC_REG3 { 503 regulator-always-on; 504 regulator-boot-on; 505 regulator-initial-mode = <0x2>; 506 regulator-name = "vcc_ddr"; 507 regulator-state-mem { 508 regulator-on-in-suspend; 509 }; 510 }; 511 512 vcc_3v3: DCDC_REG4 { 513 regulator-always-on; 514 regulator-boot-on; 515 regulator-min-microvolt = <3300000>; 516 regulator-max-microvolt = <3300000>; 517 regulator-initial-mode = <0x2>; 518 regulator-name = "vcc_3v3"; 519 regulator-state-mem { 520 regulator-on-in-suspend; 521 regulator-suspend-microvolt = <3300000>; 522 }; 523 }; 524 525 vcca1v8_pmu: LDO_REG1 { 526 regulator-always-on; 527 regulator-boot-on; 528 regulator-min-microvolt = <1800000>; 529 regulator-max-microvolt = <1800000>; 530 regulator-name = "vcca1v8_pmu"; 531 regulator-state-mem { 532 regulator-on-in-suspend; 533 regulator-suspend-microvolt = <1800000>; 534 }; 535 }; 536 537 vdda_0v9: LDO_REG2 { 538 regulator-always-on; 539 regulator-boot-on; 540 regulator-min-microvolt = <900000>; 541 regulator-max-microvolt = <900000>; 542 regulator-name = "vdda_0v9"; 543 regulator-state-mem { 544 regulator-off-in-suspend; 545 }; 546 }; 547 548 vdda0v9_pmu: LDO_REG3 { 549 regulator-always-on; 550 regulator-boot-on; 551 regulator-min-microvolt = <900000>; 552 regulator-max-microvolt = <900000>; 553 regulator-name = "vdda0v9_pmu"; 554 regulator-state-mem { 555 regulator-on-in-suspend; 556 regulator-suspend-microvolt = <900000>; 557 }; 558 }; 559 560 vccio_acodec: LDO_REG4 { 561 regulator-always-on; 562 regulator-boot-on; 563 regulator-min-microvolt = <3300000>; 564 regulator-max-microvolt = <3300000>; 565 regulator-name = "vccio_acodec"; 566 regulator-state-mem { 567 regulator-off-in-suspend; 568 }; 569 }; 570 571 vccio_sd: LDO_REG5 { 572 regulator-always-on; 573 regulator-boot-on; 574 regulator-min-microvolt = <1800000>; 575 regulator-max-microvolt = <3300000>; 576 regulator-name = "vccio_sd"; 577 regulator-state-mem { 578 regulator-off-in-suspend; 579 }; 580 }; 581 582 vcc3v3_pmu: LDO_REG6 { 583 regulator-always-on; 584 regulator-boot-on; 585 regulator-min-microvolt = <3300000>; 586 regulator-max-microvolt = <3300000>; 587 regulator-name = "vcc3v3_pmu"; 588 regulator-state-mem { 589 regulator-on-in-suspend; 590 regulator-suspend-microvolt = <3300000>; 591 }; 592 }; 593 594 vcc_1v8: LDO_REG7 { 595 regulator-always-on; 596 regulator-boot-on; 597 regulator-min-microvolt = <1800000>; 598 regulator-max-microvolt = <1800000>; 599 regulator-name = "vcc_1v8"; 600 regulator-state-mem { 601 regulator-off-in-suspend; 602 }; 603 }; 604 605 vcc1v8_dvp: LDO_REG8 { 606 regulator-always-on; 607 regulator-boot-on; 608 regulator-min-microvolt = <1800000>; 609 regulator-max-microvolt = <1800000>; 610 regulator-name = "vcc1v8_dvp"; 611 regulator-state-mem { 612 regulator-on-in-suspend; 613 }; 614 }; 615 616 vcc2v8_dvp: LDO_REG9 { 617 regulator-always-on; 618 regulator-boot-on; 619 regulator-min-microvolt = <1800000>; 620 regulator-max-microvolt = <3300000>; 621 regulator-name = "vcc2v8_dvp"; 622 regulator-state-mem { 623 regulator-off-in-suspend; 624 }; 625 }; 626 627 dcdc_boost: BOOST { 628 regulator-min-microvolt = <4700000>; 629 regulator-max-microvolt = <5400000>; 630 regulator-name = "boost"; 631 regulator-state-mem { 632 regulator-off-in-suspend; 633 }; 634 }; 635 636 otg_switch: OTG_SWITCH { 637 regulator-name = "otg_switch"; 638 regulator-state-mem { 639 regulator-off-in-suspend; 640 }; 641 }; 642 }; 643 644 rk817_charger: charger { 645 monitored-battery = <&battery>; 646 rockchip,resistor-sense-micro-ohms = <10000>; 647 rockchip,sleep-enter-current-microamp = <150000>; 648 rockchip,sleep-filter-current-microamp = <100000>; 649 }; 650 651 }; 652 653 vdd_cpu: regulator@1c { 654 compatible = "tcs,tcs4525"; 655 reg = <0x1c>; 656 fcs,suspend-voltage-selector = <1>; 657 regulator-always-on; 658 regulator-boot-on; 659 regulator-min-microvolt = <712500>; 660 regulator-max-microvolt = <1390000>; 661 regulator-name = "vdd_cpu"; 662 regulator-ramp-delay = <2300>; 663 vin-supply = <&vcc_sys>; 664 regulator-state-mem { 665 regulator-off-in-suspend; 666 }; 667 }; 668}; 669 670&i2c5 { 671 pinctrl-0 = <&i2c5m1_xfer>; 672 pinctrl-names = "default"; 673 status = "okay"; 674}; 675 676&i2s0_8ch { 677 status = "okay"; 678}; 679 680&i2s1_8ch { 681 pinctrl-0 = <&i2s1m0_sclktx>, <&i2s1m0_lrcktx>, <&i2s1m0_sdi0>, 682 <&i2s1m0_sdo0>; 683 pinctrl-names = "default"; 684 rockchip,trcm-sync-tx-only; 685 status = "okay"; 686}; 687 688&pinctrl { 689 audio-amplifier { 690 spk_amp_enable_h: spk-amp-enable-h { 691 rockchip,pins = 692 <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 693 }; 694 }; 695 696 gpio-control { 697 btn_pins_ctrl: btn-pins-ctrl { 698 rockchip,pins = 699 <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>, 700 <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>, 701 <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>, 702 <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>, 703 <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>, 704 <3 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>, 705 <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>, 706 <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>, 707 <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>, 708 <3 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>, 709 <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>, 710 <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>, 711 <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 712 <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 713 <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 714 <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 715 }; 716 717 btn_pins_vol: btn-pins-vol { 718 rockchip,pins = 719 <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, 720 <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 721 }; 722 }; 723 724 gpio-lcd { 725 lcd_rst: lcd-rst { 726 rockchip,pins = 727 <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 728 }; 729 }; 730 731 gpio-leds { 732 led_pins: led-pins { 733 rockchip,pins = 734 <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>, 735 <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>, 736 <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 737 }; 738 }; 739 740 hp-detect { 741 hp_det: hp-det { 742 rockchip,pins = 743 <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; 744 }; 745 }; 746 747 pmic { 748 pmic_int_l: pmic-int-l { 749 rockchip,pins = 750 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 751 }; 752 }; 753 754 sdio-pwrseq { 755 wifi_enable_h: wifi-enable-h { 756 rockchip,pins = 757 <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 758 }; 759 }; 760 761 usb { 762 vcc5v0_host_en: vcc5v0-host-en { 763 rockchip,pins = 764 <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>; 765 }; 766 767 vcc5v0_otg_en: vcc5v0-otg-en { 768 rockchip,pins = 769 <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 770 }; 771 }; 772 773 vcc-lcd { 774 vcc_lcd_en: vcc-lcd-en { 775 rockchip,pins = 776 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 777 }; 778 }; 779 780 vcc-wifi { 781 vcc_wifi_h: vcc-wifi-h { 782 rockchip,pins = 783 <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 784 }; 785 }; 786}; 787 788&pmu_io_domains { 789 status = "okay"; 790 pmuio1-supply = <&vcc3v3_pmu>; 791 pmuio2-supply = <&vcca1v8_pmu>; 792 vccio1-supply = <&vccio_acodec>; 793 vccio3-supply = <&vccio_sd>; 794 vccio4-supply = <&vcca1v8_pmu>; 795 vccio5-supply = <&vcc2v8_dvp>; 796 vccio6-supply = <&vcc1v8_dvp>; 797 vccio7-supply = <&vcc_3v3>; 798}; 799 800&pwm4 { 801 status = "okay"; 802}; 803 804&saradc { 805 vref-supply = <&vcc_1v8>; 806 status = "okay"; 807}; 808 809&sdhci { 810 bus-width = <8>; 811 mmc-hs200-1_8v; 812 non-removable; 813 pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>, 814 <&emmc_datastrobe>, <&emmc_rstnout>; 815 pinctrl-names = "default"; 816 status = "okay"; 817}; 818 819&sdmmc0 { 820 bus-width = <4>; 821 cap-mmc-highspeed; 822 cap-sd-highspeed; 823 disable-wp; 824 pinctrl-0 = <&sdmmc0_bus4>, <&sdmmc0_clk>, <&sdmmc0_cmd>, 825 <&sdmmc0_det>; 826 pinctrl-names = "default"; 827 sd-uhs-sdr104; 828 vqmmc-supply = <&vccio_sd>; 829 status = "okay"; 830}; 831 832&sdmmc1 { 833 bus-width = <4>; 834 cap-sd-highspeed; 835 cap-sdio-irq; 836 keep-power-in-suspend; 837 mmc-pwrseq = <&sdio_pwrseq>; 838 non-removable; 839 pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_cmd>, <&sdmmc1_clk>; 840 pinctrl-names = "default"; 841 vmmc-supply = <&vcc_wifi>; 842 status = "okay"; 843}; 844 845&sdmmc2 { 846 bus-width = <4>; 847 cap-mmc-highspeed; 848 cap-sd-highspeed; 849 disable-wp; 850 pinctrl-0 = <&sdmmc2m1_bus4>, <&sdmmc2m1_cmd>, <&sdmmc2m1_clk>, 851 <&sdmmc2m1_det>; 852 pinctrl-names = "default"; 853 sd-uhs-sdr104; 854 vqmmc-supply = <&vcc2v8_dvp>; 855 status = "okay"; 856}; 857 858&tsadc { 859 rockchip,hw-tshut-mode = <1>; 860 rockchip,hw-tshut-polarity = <0>; 861 status = "okay"; 862}; 863 864&uart1 { 865 pinctrl-0 = <&uart1m0_xfer>, <&uart1m0_ctsn>, <&uart1m0_rtsn>; 866 pinctrl-names = "default"; 867 uart-has-rtscts; 868 status = "okay"; 869 870 bluetooth { 871 compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt"; 872 device-wake-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 873 enable-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; 874 host-wake-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 875 }; 876}; 877 878&uart2 { 879 status = "okay"; 880}; 881 882&usb_host0_xhci { 883 phys = <&usb2phy0_otg>; 884 phy-names = "usb2-phy"; 885 status = "okay"; 886}; 887 888&usb_host1_xhci { 889 status = "okay"; 890}; 891 892&usb2phy0 { 893 status = "okay"; 894}; 895 896&usb2phy0_otg { 897 status = "okay"; 898}; 899 900&usb2phy0_host { 901 phy-supply = <&vcc5v0_host>; 902 status = "okay"; 903}; 904 905&vop { 906 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 907 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 908 status = "okay"; 909}; 910 911&vop_mmu { 912 status = "okay"; 913}; 914 915&vp0 { 916 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 917 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 918 remote-endpoint = <&hdmi_in_vp0>; 919 }; 920}; 921 922&vp1 { 923 vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { 924 reg = <ROCKCHIP_VOP2_EP_MIPI0>; 925 remote-endpoint = <&dsi0_in_vp1>; 926 }; 927}; 928