1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2024 Chris Morgan <macromorgan@hotmail.com> 4 */ 5 6/dts-v1/; 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/input/input.h> 9#include <dt-bindings/leds/common.h> 10#include <dt-bindings/pinctrl/rockchip.h> 11#include "rk3326.dtsi" 12 13/ { 14 model = "GameForce Chi"; 15 compatible = "gameforce,chi", "rockchip,rk3326"; 16 chassis-type = "handset"; 17 18 aliases { 19 mmc0 = &sdmmc; 20 mmc1 = &sdio; 21 }; 22 23 chosen { 24 stdout-path = "serial2:115200n8"; 25 }; 26 27 adc_joystick: adc-joystick { 28 compatible = "adc-joystick"; 29 io-channels = <&saradc 0>, 30 <&saradc 1>; 31 poll-interval = <100>; 32 #address-cells = <1>; 33 #size-cells = <0>; 34 35 axis@0 { 36 reg = <0>; 37 abs-flat = <10>; 38 abs-fuzz = <10>; 39 abs-range = <850 175>; 40 linux,code = <ABS_Y>; 41 }; 42 43 axis@1 { 44 reg = <1>; 45 abs-flat = <10>; 46 abs-fuzz = <10>; 47 abs-range = <800 190>; 48 linux,code = <ABS_X>; 49 }; 50 }; 51 52 adc_keys: adc-keys { 53 compatible = "adc-keys"; 54 io-channels = <&saradc 2>; 55 io-channel-names = "buttons"; 56 keyup-threshold-microvolt = <1800000>; 57 poll-interval = <60>; 58 59 button-1 { 60 label = "HAPPY1"; 61 linux,code = <BTN_TRIGGER_HAPPY1>; 62 press-threshold-microvolt = <15000>; 63 }; 64 65 button-2 { 66 label = "HAPPY2"; 67 linux,code = <BTN_TRIGGER_HAPPY2>; 68 press-threshold-microvolt = <300000>; 69 }; 70 }; 71 72 backlight: backlight { 73 compatible = "pwm-backlight"; 74 power-supply = <&vcc_bl>; 75 pwms = <&pwm1 0 25000 0>; 76 }; 77 78 battery: battery { 79 compatible = "simple-battery"; 80 charge-full-design-microamp-hours = <3000000>; 81 charge-term-current-microamp = <300000>; 82 constant-charge-current-max-microamp = <1500000>; 83 constant-charge-voltage-max-microvolt = <4200000>; 84 factory-internal-resistance-micro-ohms = <180000>; 85 ocv-capacity-celsius = <20>; 86 ocv-capacity-table-0 = <4106000 100>, <4071000 95>, <4018000 90>, <3975000 85>, 87 <3946000 80>, <3908000 75>, <3877000 70>, <3853000 65>, 88 <3834000 60>, <3816000 55>, <3802000 50>, <3788000 45>, 89 <3774000 40>, <3760000 35>, <3748000 30>, <3735000 25>, 90 <3718000 20>, <3697000 15>, <3685000 10>, <3625000 5>, 91 <3400000 0>; 92 voltage-max-design-microvolt = <4250000>; 93 voltage-min-design-microvolt = <3400000>; 94 }; 95 96 gpio_leds: gpio-leds { 97 compatible = "gpio-leds"; 98 pinctrl-names = "default"; 99 pinctrl-0 = <&led_pins>; 100 101 red_led: led-0 { 102 color = <LED_COLOR_ID_RED>; 103 gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; 104 }; 105 106 green_led: led-1 { 107 color = <LED_COLOR_ID_GREEN>; 108 gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; 109 }; 110 111 blue_led: led-2 { 112 color = <LED_COLOR_ID_BLUE>; 113 gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; 114 }; 115 116 white_led: led-3 { 117 color = <LED_COLOR_ID_WHITE>; 118 function = LED_FUNCTION_STATUS; 119 gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>; 120 }; 121 122 chg_led: led-4 { 123 color = <LED_COLOR_ID_RED>; 124 function = LED_FUNCTION_CHARGING; 125 gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>; 126 }; 127 128 }; 129 130 gpio_keys: gpio-keys { 131 compatible = "gpio-keys"; 132 pinctrl-0 = <&btn_pins_ctrl>; 133 pinctrl-names = "default"; 134 135 button-a { 136 gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>; 137 label = "EAST"; 138 linux,code = <BTN_EAST>; 139 }; 140 141 button-b { 142 gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; 143 label = "SOUTH"; 144 linux,code = <BTN_SOUTH>; 145 }; 146 147 button-down { 148 gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>; 149 label = "DPAD-DOWN"; 150 linux,code = <BTN_DPAD_DOWN>; 151 }; 152 153 button-home { 154 gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>; 155 label = "HOME"; 156 linux,code = <BTN_MODE>; 157 }; 158 159 button-l1 { 160 gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>; 161 label = "TL"; 162 linux,code = <BTN_TL>; 163 }; 164 165 button-l2 { 166 gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>; 167 label = "TL2"; 168 linux,code = <BTN_TL2>; 169 }; 170 171 button-left { 172 gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>; 173 label = "DPAD-LEFT"; 174 linux,code = <BTN_DPAD_LEFT>; 175 }; 176 177 button-r1 { 178 gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>; 179 label = "TR"; 180 linux,code = <BTN_TR>; 181 }; 182 183 button-r2 { 184 gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>; 185 label = "TR2"; 186 linux,code = <BTN_TR2>; 187 }; 188 189 button-right { 190 gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>; 191 label = "DPAD-RIGHT"; 192 linux,code = <BTN_DPAD_RIGHT>; 193 }; 194 195 button-select { 196 gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>; 197 label = "SELECT"; 198 linux,code = <BTN_SELECT>; 199 }; 200 201 button-start { 202 gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; 203 label = "START"; 204 linux,code = <BTN_START>; 205 }; 206 207 button-up { 208 gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>; 209 label = "DPAD-UP"; 210 linux,code = <BTN_DPAD_UP>; 211 }; 212 213 button-x { 214 gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>; 215 label = "NORTH"; 216 linux,code = <BTN_NORTH>; 217 }; 218 219 button-y { 220 gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>; 221 label = "WEST"; 222 linux,code = <BTN_WEST>; 223 }; 224 }; 225 226 multi-led { 227 compatible = "leds-group-multicolor"; 228 color = <LED_COLOR_ID_RGB>; 229 function = LED_FUNCTION_KBD_BACKLIGHT; 230 leds = <&red_led>, <&green_led>, <&blue_led>; 231 }; 232 233 spk_amp: audio-amplifier { 234 compatible = "simple-audio-amplifier"; 235 enable-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>; 236 pinctrl-0 = <&spk_amp_enable_h>; 237 pinctrl-names = "default"; 238 sound-name-prefix = "Speaker Amp"; 239 }; 240 241 sound { 242 compatible = "simple-audio-card"; 243 pinctrl-0 = <&hp_det>; 244 pinctrl-names = "default"; 245 simple-audio-card,name = "rk817_ext"; 246 simple-audio-card,aux-devs = <&spk_amp>; 247 simple-audio-card,format = "i2s"; 248 simple-audio-card,hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>; 249 simple-audio-card,mclk-fs = <256>; 250 simple-audio-card,widgets = 251 "Microphone", "Mic Jack", 252 "Headphone", "Headphones", 253 "Speaker", "Internal Speakers"; 254 simple-audio-card,routing = 255 "MICL", "Mic Jack", 256 "Headphones", "HPOL", 257 "Headphones", "HPOR", 258 "Internal Speakers", "Speaker Amp OUTL", 259 "Internal Speakers", "Speaker Amp OUTR", 260 "Speaker Amp INL", "HPOL", 261 "Speaker Amp INR", "HPOR"; 262 simple-audio-card,pin-switches = "Internal Speakers"; 263 264 simple-audio-card,codec { 265 sound-dai = <&rk817>; 266 }; 267 268 simple-audio-card,cpu { 269 sound-dai = <&i2s1_2ch>; 270 }; 271 }; 272 273 vibrator_left: pwm-vibrator-l { 274 compatible = "pwm-vibrator"; 275 pwm-names = "enable"; 276 pwms = <&pwm4 0 25000 0>; 277 }; 278 279 vibrator_right: pwm-vibrator-r { 280 compatible = "pwm-vibrator"; 281 pwm-names = "enable"; 282 pwms = <&pwm5 0 25000 0>; 283 }; 284 285 sdio_pwrseq: sdio-pwrseq { 286 compatible = "mmc-pwrseq-simple"; 287 clocks = <&rk817 1>; 288 clock-names = "ext_clock"; 289 pinctrl-0 = <&wifi_enable_h>; 290 pinctrl-names = "default"; 291 post-power-on-delay-ms = <200>; 292 reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; 293 }; 294 295 vccsys: vccsys-regulator { 296 compatible = "regulator-fixed"; 297 regulator-name = "vcc3v8_sys"; 298 regulator-always-on; 299 regulator-min-microvolt = <3800000>; 300 regulator-max-microvolt = <3800000>; 301 }; 302}; 303 304&cpu0 { 305 cpu-supply = <&vdd_arm>; 306}; 307 308&cpu1 { 309 cpu-supply = <&vdd_arm>; 310}; 311 312&cpu2 { 313 cpu-supply = <&vdd_arm>; 314}; 315 316&cpu3 { 317 cpu-supply = <&vdd_arm>; 318}; 319 320&display_subsystem { 321 status = "okay"; 322}; 323 324&dsi { 325 status = "okay"; 326 327 internal_display: panel@0 { 328 reg = <0>; 329 compatible = "gameforce,chi-panel"; 330 backlight = <&backlight>; 331 iovcc-supply = <&vcc_lcd>; 332 vcc-supply = <&vcc_lcd>; 333 reset-gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>; 334 335 port { 336 mipi_in_panel: endpoint { 337 remote-endpoint = <&mipi_out_panel>; 338 }; 339 }; 340 }; 341 342 ports { 343 mipi_out: port@1 { 344 reg = <1>; 345 346 mipi_out_panel: endpoint { 347 remote-endpoint = <&mipi_in_panel>; 348 }; 349 }; 350 }; 351}; 352 353&dsi_dphy { 354 status = "okay"; 355}; 356 357&gpu { 358 mali-supply = <&vdd_logic>; 359 status = "okay"; 360}; 361 362&i2c0 { 363 clock-frequency = <400000>; 364 i2c-scl-falling-time-ns = <16>; 365 i2c-scl-rising-time-ns = <280>; 366 status = "okay"; 367 368 rk817: pmic@20 { 369 compatible = "rockchip,rk817"; 370 reg = <0x20>; 371 #clock-cells = <1>; 372 clock-names = "mclk"; 373 clock-output-names = "rk808-clkout1", "xin32k"; 374 clocks = <&cru SCLK_I2S1_OUT>; 375 interrupt-parent = <&gpio0>; 376 interrupts = <RK_PC1 IRQ_TYPE_LEVEL_LOW>; 377 pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>; 378 pinctrl-names = "default"; 379 #sound-dai-cells = <0>; 380 system-power-controller; 381 wakeup-source; 382 383 vcc1-supply = <&vccsys>; 384 vcc2-supply = <&vccsys>; 385 vcc3-supply = <&vccsys>; 386 vcc4-supply = <&vccsys>; 387 vcc5-supply = <&vccsys>; 388 vcc6-supply = <&vccsys>; 389 vcc7-supply = <&vcc_3v0>; 390 vcc8-supply = <&vccsys>; 391 vcc9-supply = <&dcdc_boost>; 392 393 regulators { 394 vdd_logic: DCDC_REG1 { 395 regulator-always-on; 396 regulator-boot-on; 397 regulator-max-microvolt = <1150000>; 398 regulator-min-microvolt = <950000>; 399 regulator-name = "vdd_logic"; 400 regulator-ramp-delay = <6001>; 401 402 regulator-state-mem { 403 regulator-on-in-suspend; 404 regulator-suspend-microvolt = <950000>; 405 }; 406 }; 407 408 vdd_arm: DCDC_REG2 { 409 regulator-always-on; 410 regulator-boot-on; 411 regulator-max-microvolt = <1350000>; 412 regulator-min-microvolt = <950000>; 413 regulator-name = "vdd_arm"; 414 regulator-ramp-delay = <6001>; 415 416 regulator-state-mem { 417 regulator-off-in-suspend; 418 regulator-suspend-microvolt = <950000>; 419 }; 420 }; 421 422 vcc_ddr: DCDC_REG3 { 423 regulator-always-on; 424 regulator-boot-on; 425 regulator-name = "vcc_ddr"; 426 427 regulator-state-mem { 428 regulator-on-in-suspend; 429 }; 430 }; 431 432 vcc_3v0: DCDC_REG4 { 433 regulator-always-on; 434 regulator-boot-on; 435 regulator-max-microvolt = <3000000>; 436 regulator-min-microvolt = <3000000>; 437 regulator-name = "vcc_3v0"; 438 439 regulator-state-mem { 440 regulator-off-in-suspend; 441 regulator-suspend-microvolt = <3000000>; 442 }; 443 }; 444 445 vcc_1v8: LDO_REG2 { 446 regulator-always-on; 447 regulator-boot-on; 448 regulator-max-microvolt = <1800000>; 449 regulator-min-microvolt = <1800000>; 450 regulator-name = "vcc_1v8"; 451 452 regulator-state-mem { 453 regulator-on-in-suspend; 454 regulator-suspend-microvolt = <1800000>; 455 }; 456 }; 457 458 vdd_1v0: LDO_REG3 { 459 regulator-always-on; 460 regulator-boot-on; 461 regulator-max-microvolt = <1000000>; 462 regulator-min-microvolt = <1000000>; 463 regulator-name = "vdd_1v0"; 464 465 regulator-state-mem { 466 regulator-on-in-suspend; 467 regulator-suspend-microvolt = <1000000>; 468 }; 469 }; 470 471 vcc_3v0_pmu: LDO_REG4 { 472 regulator-always-on; 473 regulator-boot-on; 474 regulator-max-microvolt = <3000000>; 475 regulator-min-microvolt = <3000000>; 476 regulator-name = "vcc_3v0_pmu"; 477 478 regulator-state-mem { 479 regulator-on-in-suspend; 480 regulator-suspend-microvolt = <3000000>; 481 }; 482 }; 483 484 vccio_sd: LDO_REG5 { 485 regulator-always-on; 486 regulator-boot-on; 487 regulator-max-microvolt = <3300000>; 488 regulator-min-microvolt = <1800000>; 489 regulator-name = "vccio_sd"; 490 491 regulator-state-mem { 492 regulator-on-in-suspend; 493 regulator-suspend-microvolt = <3300000>; 494 }; 495 }; 496 497 vcc_sd: LDO_REG6 { 498 regulator-boot-on; 499 regulator-max-microvolt = <3300000>; 500 regulator-min-microvolt = <3300000>; 501 regulator-name = "vcc_sd"; 502 503 regulator-state-mem { 504 regulator-on-in-suspend; 505 regulator-suspend-microvolt = <3300000>; 506 }; 507 }; 508 509 vcc_bl: LDO_REG7 { 510 regulator-max-microvolt = <3300000>; 511 regulator-min-microvolt = <3300000>; 512 regulator-name = "vcc_bl"; 513 514 regulator-state-mem { 515 regulator-off-in-suspend; 516 regulator-suspend-microvolt = <3300000>; 517 }; 518 }; 519 520 vcc_lcd: LDO_REG8 { 521 regulator-max-microvolt = <2800000>; 522 regulator-min-microvolt = <2800000>; 523 regulator-name = "vcc_lcd"; 524 525 regulator-state-mem { 526 regulator-off-in-suspend; 527 regulator-suspend-microvolt = <2800000>; 528 }; 529 }; 530 531 vcc_wifi: LDO_REG9 { 532 regulator-always-on; 533 regulator-boot-on; 534 regulator-max-microvolt = <3300000>; 535 regulator-min-microvolt = <3300000>; 536 regulator-name = "vcc_wifi"; 537 538 regulator-state-mem { 539 regulator-off-in-suspend; 540 regulator-suspend-microvolt = <3300000>; 541 }; 542 }; 543 544 dcdc_boost: BOOST { 545 regulator-max-microvolt = <5000000>; 546 regulator-min-microvolt = <5000000>; 547 regulator-name = "dcdc_boost"; 548 549 regulator-state-mem { 550 regulator-off-in-suspend; 551 }; 552 }; 553 554 otg_switch: OTG_SWITCH { 555 regulator-name = "otg_switch"; 556 557 regulator-state-mem { 558 regulator-off-in-suspend; 559 }; 560 }; 561 }; 562 563 rk817_charger: charger { 564 monitored-battery = <&battery>; 565 rockchip,resistor-sense-micro-ohms = <10000>; 566 rockchip,sleep-enter-current-microamp = <300000>; 567 rockchip,sleep-filter-current-microamp = <100000>; 568 }; 569 }; 570}; 571 572&i2s1_2ch { 573 status = "okay"; 574}; 575 576&io_domains { 577 vccio1-supply = <&vcc_3v0_pmu>; 578 vccio2-supply = <&vccio_sd>; 579 vccio3-supply = <&vcc_3v0>; 580 vccio4-supply = <&vcc_3v0>; 581 vccio5-supply = <&vcc_3v0>; 582 vccio6-supply = <&vcc_3v0>; 583 status = "okay"; 584}; 585 586&pinctrl { 587 bluetooth-pins { 588 bt_reset: bt-reset { 589 rockchip,pins = 590 <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; 591 }; 592 593 bt_wake_dev: bt-wake-dev { 594 rockchip,pins = 595 <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 596 }; 597 598 bt_wake_host: bt-wake-host { 599 rockchip,pins = 600 <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; 601 }; 602 }; 603 604 headphone { 605 hp_det: hp-det { 606 rockchip,pins = 607 <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; 608 }; 609 }; 610 611 gpio-btns { 612 btn_pins_ctrl: btn-pins-ctrl { 613 rockchip,pins = 614 <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, 615 <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, 616 <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, 617 <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>, 618 <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>, 619 <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 620 <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, 621 <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 622 <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, 623 <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, 624 <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 625 <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>, 626 <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, 627 <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, 628 <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>; 629 }; 630 }; 631 632 gpio-leds { 633 led_pins: led-pins { 634 rockchip,pins = 635 <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>, 636 <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>, 637 <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>, 638 <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>, 639 <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 640 }; 641 }; 642 643 pmic { 644 pmic_int: pmic-int { 645 rockchip,pins = 646 <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>; 647 }; 648 649 soc_slppin_gpio: soc_slppin_gpio { 650 rockchip,pins = 651 <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>; 652 }; 653 654 soc_slppin_rst: soc_slppin_rst { 655 rockchip,pins = 656 <0 RK_PA4 2 &pcfg_pull_none>; 657 }; 658 659 soc_slppin_slp: soc_slppin_slp { 660 rockchip,pins = 661 <0 RK_PA4 1 &pcfg_pull_none>; 662 }; 663 }; 664 665 sdio-pwrseq { 666 wifi_enable_h: wifi-enable-h { 667 rockchip,pins = 668 <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 669 }; 670 }; 671 672 speaker { 673 spk_amp_enable_h: spk-amp-enable-h { 674 rockchip,pins = 675 <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 676 }; 677 }; 678}; 679 680&pmu_io_domains { 681 pmuio1-supply = <&vcc_1v8>; 682 pmuio2-supply = <&vcc_3v0_pmu>; 683 status = "okay"; 684}; 685 686&pwm1 { 687 status = "okay"; 688}; 689 690&pwm4 { 691 status = "okay"; 692}; 693 694&pwm5 { 695 status = "okay"; 696}; 697 698&saradc { 699 vref-supply = <&vcc_1v8>; 700 status = "okay"; 701}; 702 703&sdio { 704 bus-width = <4>; 705 cap-sd-highspeed; 706 cap-sdio-irq; 707 disable-wp; 708 keep-power-in-suspend; 709 mmc-pwrseq = <&sdio_pwrseq>; 710 no-mmc; 711 no-sd; 712 non-removable; 713 sd-uhs-sdr104; 714 status = "okay"; 715}; 716 717&sdmmc { 718 cap-mmc-highspeed; 719 cap-sd-highspeed; 720 no-sdio; 721 sd-uhs-sdr12; 722 sd-uhs-sdr25; 723 sd-uhs-sdr50; 724 sd-uhs-sdr104; 725 vmmc-supply = <&vcc_sd>; 726 vqmmc-supply = <&vccio_sd>; 727 status = "okay"; 728}; 729 730&sfc { 731 #address-cells = <1>; 732 pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>; 733 pinctrl-names = "default"; 734 #size-cells = <0>; 735 status = "okay"; 736 737 flash@0 { 738 compatible = "jedec,spi-nor"; 739 reg = <0>; 740 spi-max-frequency = <108000000>; 741 spi-rx-bus-width = <2>; 742 spi-tx-bus-width = <1>; 743 }; 744}; 745 746&tsadc { 747 status = "okay"; 748}; 749 750&u2phy { 751 status = "okay"; 752 753 u2phy_otg: otg-port { 754 status = "okay"; 755 }; 756}; 757 758&usb20_otg { 759 status = "okay"; 760}; 761 762/* 763 * The right ADC joystick exists connected to an unknown ADC 764 * controller which can be communicated with via uart0. This ADC device 765 * is an 8-pin SOIC with no markings located right next to the left ADC 766 * joystick ribbon cable. The pinout for this ADC controller appears to 767 * be pin 1 - VCC (2.8v), pin 2 - 1.8v (clk maybe?), pin 3 - GPIO 10, 768 * pin 4 - unknown, pin 5 - unknown, pin 6 - analog in, pin 7 - analog in, 769 * pin 8 - ground. There is currently a userspace UART driver for this 770 * device but it only works with the BSP joystick driver. 771 */ 772&uart0 { 773 status = "okay"; 774}; 775 776/* 777 * Bluetooth was not working on BSP and is not currently working on 778 * mainline due to missing firmware. Bluetooth requires removal of DMA 779 * or else it will not probe. 780 */ 781&uart1 { 782 /delete-property/ dma-names; 783 /delete-property/ dmas; 784 uart-has-rtscts; 785 status = "okay"; 786 787 bluetooth: bluetooth { 788 compatible = "realtek,rtl8723ds-bt"; 789 device-wake-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 790 enable-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 791 host-wake-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>; 792 pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>; 793 pinctrl-names = "default"; 794 }; 795}; 796 797&uart2 { 798 pinctrl-0 = <&uart2m1_xfer>; 799 pinctrl-names = "default"; 800 status = "okay"; 801}; 802 803&vopb { 804 status = "okay"; 805}; 806 807&vopb_mmu { 808 status = "okay"; 809}; 810