1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright (c) 2018 MundoReader S.L. 4 * Author: Heiko Stuebner <heiko.stuebner@bq.c 5 */ 6 7 /dts-v1/; 8 #include <dt-bindings/i2c/i2c.h> 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/interrupt-controller/irq 11 #include "rk3188.dtsi" 12 13 / { 14 model = "BQ Edison2 Quad-Core"; 15 compatible = "mundoreader,bq-edison2qc 16 17 aliases { 18 mmc0 = &mmc0; 19 mmc1 = &mmc1; 20 mmc2 = &emmc; 21 }; 22 23 memory@60000000 { 24 device_type = "memory"; 25 reg = <0x60000000 0x80000000>; 26 }; 27 28 backlight: backlight { 29 compatible = "pwm-backlight"; 30 power-supply = <&vsys>; 31 pwms = <&pwm1 0 25000>; 32 }; 33 34 gpio-keys { 35 compatible = "gpio-keys"; 36 autorepeat; 37 pinctrl-names = "default"; 38 pinctrl-0 = <&pwr_key &usb_int 39 40 key-power { 41 gpios = <&gpio0 RK_PA4 42 linux,code = <KEY_POWE 43 label = "GPIO Key Powe 44 linux,input-type = <1> 45 debounce-interval = <1 46 wakeup-source; 47 }; 48 49 wake_on_usb: key-wake-on-usb { 50 label = "Wake-on-USB"; 51 gpios = <&gpio0 RK_PA7 52 linux,code = <KEY_WAKE 53 wakeup-source; 54 }; 55 }; 56 57 gpio-poweroff { 58 compatible = "gpio-poweroff"; 59 gpios = <&gpio0 RK_PA0 GPIO_AC 60 pinctrl-names = "default"; 61 pinctrl-0 = <&pwr_hold>; 62 /* only drive the pin low unti 63 active-delay-ms = <3000>; 64 }; 65 66 lvds-encoder { 67 compatible = "ti,sn75lvds83", 68 69 ports { 70 #address-cells = <1>; 71 #size-cells = <0>; 72 73 port@0 { 74 reg = <0>; 75 76 lvds_in_vop0: 77 remote 78 }; 79 }; 80 81 port@1 { 82 reg = <1>; 83 84 lvds_out_panel 85 remote 86 }; 87 }; 88 }; 89 }; 90 91 panel { 92 compatible = "innolux,ee101ia- 93 backlight = <&backlight>; 94 95 /* pin LCD_CS, Nshtdn input of 96 enable-gpios = <&gpio3 RK_PD6 97 pinctrl-names = "default"; 98 pinctrl-0 = <&lcd_cs>; 99 power-supply = <&vcc_lcd>; 100 101 data-mapping = "vesa-24"; 102 height-mm = <163>; 103 width-mm = <261>; 104 105 panel-timing { 106 clock-frequency = <720 107 hactive = <1280>; 108 vactive = <800>; 109 hback-porch = <160>; 110 hfront-porch = <16>; 111 hsync-len = <10>; 112 vback-porch = <23>; 113 vfront-porch = <12>; 114 vsync-len = <3>; 115 }; 116 117 port { 118 panel_in_lvds: endpoin 119 remote-endpoin 120 }; 121 }; 122 }; 123 124 sdio_pwrseq: sdio-pwrseq { 125 compatible = "mmc-pwrseq-simpl 126 clocks = <&hym8563>; 127 clock-names = "ext_clock"; 128 pinctrl-names = "default"; 129 pinctrl-0 = <&wifi_reg_on>; 130 reset-gpios = <&gpio3 RK_PD0 G 131 }; 132 133 avdd_cif: cif-avdd-regulator { 134 compatible = "regulator-fixed" 135 regulator-name = "avdd-cif"; 136 regulator-min-microvolt = <280 137 regulator-max-microvolt = <280 138 gpio = <&gpio1 RK_PA6 GPIO_ACT 139 pinctrl-names = "default"; 140 pinctrl-0 = <&cif_avdd_en>; 141 startup-delay-us = <100000>; 142 vin-supply = <&vcc28_cif>; 143 }; 144 145 vcc_5v: vcc-5v-regulator { 146 compatible = "regulator-fixed" 147 regulator-name = "vcc-5v"; 148 regulator-min-microvolt = <500 149 regulator-max-microvolt = <500 150 enable-active-high; 151 gpio = <&gpio0 RK_PA3 GPIO_ACT 152 pinctrl-names = "default"; 153 pinctrl-0 = <&v5_drv>; 154 vin-supply = <&vsys>; 155 }; 156 157 vcc_lcd: lcd-regulator { 158 compatible = "regulator-fixed" 159 regulator-name = "vcc-lcd"; 160 gpio = <&gpio0 RK_PB0 GPIO_ACT 161 pinctrl-names = "default"; 162 pinctrl-0 = <&lcd_en>; 163 startup-delay-us = <50000>; 164 vin-supply = <&vcc_io>; 165 }; 166 167 vcc_otg: usb-otg-regulator { 168 compatible = "regulator-fixed" 169 regulator-name = "vcc-otg"; 170 regulator-min-microvolt = <500 171 regulator-max-microvolt = <500 172 enable-active-high; 173 gpio = <&gpio3 RK_PB1 GPIO_ACT 174 pinctrl-names = "default"; 175 pinctrl-0 = <&otg_drv>; 176 startup-delay-us = <100000>; 177 vin-supply = <&vcc_5v>; 178 }; 179 180 vcc_sd: sdmmc-regulator { 181 compatible = "regulator-fixed" 182 regulator-name = "vcc-sd"; 183 regulator-min-microvolt = <330 184 regulator-max-microvolt = <330 185 gpio = <&gpio3 RK_PA1 GPIO_ACT 186 pinctrl-names = "default"; 187 pinctrl-0 = <&sdmmc_pwr>; 188 startup-delay-us = <100000>; 189 vin-supply = <&vcc_io>; 190 }; 191 192 vccq_emmc: emmc-vccq-regulator { 193 compatible = "regulator-fixed" 194 regulator-name = "vccq-emmc"; 195 regulator-min-microvolt = <280 196 regulator-max-microvolt = <280 197 vin-supply = <&vcc_io>; 198 }; 199 200 /* supplied from the bq24196 */ 201 vsys: vsys-regulator { 202 compatible = "regulator-fixed" 203 regulator-name = "vsys"; 204 regulator-min-microvolt = <500 205 regulator-max-microvolt = <500 206 regulator-boot-on; 207 }; 208 }; 209 210 &cpu0 { 211 cpu-supply = <&vdd_arm>; 212 }; 213 214 &cpu1 { 215 cpu-supply = <&vdd_arm>; 216 }; 217 218 &cpu2 { 219 cpu-supply = <&vdd_arm>; 220 }; 221 222 &cpu3 { 223 cpu-supply = <&vdd_arm>; 224 }; 225 226 &cru { 227 assigned-clocks = <&cru PLL_GPLL>, <&c 228 <&cru ACLK_CPU>, 229 <&cru HCLK_CPU>, <&c 230 <&cru ACLK_PERI>, <& 231 <&cru PCLK_PERI>; 232 assigned-clock-rates = <594000000>, <5 233 <300000000>, 234 <150000000>, <7 235 <300000000>, <1 236 <75000000>; 237 }; 238 239 &emmc { 240 bus-width = <8>; 241 cap-mmc-highspeed; 242 non-removable; 243 pinctrl-names = "default"; 244 pinctrl-0 = <&emmc_clk &emmc_cmd>; 245 vmmc-supply = <&vcc_io>; 246 vqmmc-supply = <&vccq_emmc>; 247 status = "okay"; 248 }; 249 250 &gpu { 251 status = "okay"; 252 }; 253 254 &i2c0 { 255 clock-frequency = <400000>; 256 status = "okay"; 257 258 lis3de: accelerometer@29 { 259 compatible = "st,lis3de"; 260 reg = <0x29>; 261 interrupt-parent = <&gpio0>; 262 interrupts = <RK_PB7 IRQ_TYPE_ 263 pinctrl-names = "default"; 264 pinctrl-0 = <&gsensor_int>; 265 rotation-matrix = "1", "0", "0 266 "0", "-1", " 267 "0", "0", "1 268 vdd-supply = <&vcc_io>; 269 }; 270 }; 271 272 &i2c1 { 273 clock-frequency = <400000>; 274 status = "okay"; 275 276 tmp108@48 { 277 compatible = "ti,tmp108"; 278 reg = <0x48>; 279 interrupt-parent = <&gpio1>; 280 interrupts = <RK_PA7 IRQ_TYPE_ 281 pinctrl-names = "default"; 282 pinctrl-0 = <&tmp_alrt>; 283 #thermal-sensor-cells = <0>; 284 }; 285 286 hym8563: rtc@51 { 287 compatible = "haoyu,hym8563"; 288 reg = <0x51>; 289 interrupt-parent = <&gpio0>; 290 interrupts = <RK_PB5 IRQ_TYPE_ 291 pinctrl-names = "default"; 292 pinctrl-0 = <&rtc_int>; 293 #clock-cells = <0>; 294 clock-output-names = "xin32k"; 295 }; 296 297 bat: battery@55 { 298 compatible = "ti,bq27541"; 299 reg = <0x55>; 300 power-supplies = <&bq24196>; 301 }; 302 303 act8846: pmic@5a { 304 compatible = "active-semi,act8 305 reg = <0x5a>; 306 pinctrl-names = "default"; 307 pinctrl-0 = <&dvs0_ctl &pmic_i 308 309 vp1-supply = <&vsys>; 310 vp2-supply = <&vsys>; 311 vp3-supply = <&vsys>; 312 vp4-supply = <&vsys>; 313 inl1-supply = <&vcc_io>; 314 inl2-supply = <&vsys>; 315 inl3-supply = <&vsys>; 316 317 regulators { 318 vcc_ddr: REG1 { 319 regulator-name 320 regulator-min- 321 regulator-max- 322 regulator-alwa 323 }; 324 325 vdd_log: REG2 { 326 regulator-name 327 regulator-min- 328 regulator-max- 329 regulator-alwa 330 }; 331 332 vdd_arm: REG3 { 333 regulator-name 334 regulator-min- 335 regulator-max- 336 regulator-alwa 337 }; 338 339 vcc_io: vcc_hdmi: REG4 340 regulator-name 341 regulator-min- 342 regulator-max- 343 regulator-alwa 344 }; 345 346 vdd_10: REG5 { 347 regulator-name 348 regulator-min- 349 regulator-max- 350 regulator-alwa 351 }; 352 353 vdd_12: REG6 { 354 regulator-name 355 regulator-min- 356 regulator-max- 357 regulator-alwa 358 }; 359 360 vcc18_cif: REG7 { 361 regulator-name 362 regulator-min- 363 regulator-max- 364 regulator-alwa 365 }; 366 367 vcca_33: REG8 { 368 regulator-name 369 regulator-min- 370 regulator-max- 371 regulator-alwa 372 }; 373 374 vcc_tp: REG9 { 375 regulator-name 376 regulator-min- 377 regulator-max- 378 regulator-alwa 379 }; 380 381 vccio_wl: REG10 { 382 regulator-name 383 regulator-min- 384 regulator-max- 385 regulator-alwa 386 }; 387 388 vcc_18: REG11 { 389 regulator-name 390 regulator-min- 391 regulator-max- 392 regulator-alwa 393 }; 394 395 vcc28_cif: REG12 { 396 regulator-name 397 regulator-min- 398 regulator-max- 399 regulator-alwa 400 }; 401 }; 402 }; 403 404 bq24196: charger@6b { 405 compatible = "ti,bq24196"; 406 reg = <0x6b>; 407 interrupt-parent = <&gpio0>; 408 interrupts = <RK_PD7 IRQ_TYPE_ 409 pinctrl-names = "default"; 410 pinctrl-0 = <&charger_int &chg 411 ti,system-minimum-microvolt = 412 monitored-battery = <&bat>; 413 omit-battery-class; 414 415 usb_otg_vbus: usb-otg-vbus { } 416 }; 417 }; 418 419 &i2c2 { 420 clock-frequency = <400000>; 421 status = "okay"; 422 423 ft5606: touchscreen@3e { 424 compatible = "edt,edt-ft5506"; 425 reg = <0x3e>; 426 interrupt-parent = <&gpio1>; 427 interrupts = <RK_PB7 IRQ_TYPE_ 428 pinctrl-names = "default"; 429 pinctrl-0 = <&tp_int &tp_rst>; 430 reset-gpios = <&gpio0 RK_PB6 G 431 touchscreen-inverted-y; 432 /* hw ts resolution does not m 433 touchscreen-size-y = <1024>; 434 touchscreen-size-x = <768>; 435 touchscreen-swapped-x-y; 436 }; 437 }; 438 439 &i2c3 { 440 clock-frequency = <400000>; 441 status = "okay"; 442 }; 443 444 &i2c4 { 445 clock-frequency = <400000>; 446 status = "okay"; 447 448 rt5616: codec@1b { 449 compatible = "realtek,rt5616"; 450 reg = <0x1b>; 451 clocks = <&cru SCLK_I2S0>; 452 clock-names = "mclk"; 453 #sound-dai-cells = <0>; 454 }; 455 }; 456 457 &i2s0 { 458 status = "okay"; 459 }; 460 461 &mmc0 { 462 bus-width = <4>; 463 cap-mmc-highspeed; 464 cap-sd-highspeed; 465 disable-wp; 466 pinctrl-names = "default"; 467 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <& 468 vmmc-supply = <&vcc_sd>; 469 status = "okay"; 470 }; 471 472 &mmc1 { 473 bus-width = <4>; 474 cap-sd-highspeed; 475 keep-power-in-suspend; 476 mmc-pwrseq = <&sdio_pwrseq>; 477 non-removable; 478 pinctrl-names = "default"; 479 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <& 480 vqmmc-supply = <&vccio_wl>; 481 #address-cells = <1>; 482 #size-cells = <0>; 483 status = "okay"; 484 485 brcmf: wifi@1 { 486 reg = <1>; 487 compatible = "brcm,bcm4329-fma 488 interrupt-parent = <&gpio3>; 489 interrupts = <RK_PD2 IRQ_TYPE_ 490 interrupt-names = "host-wake"; 491 brcm,drive-strength = <5>; 492 pinctrl-names = "default"; 493 pinctrl-0 = <&wifi_host_wake>; 494 }; 495 }; 496 497 &pwm1 { 498 status = "okay"; 499 }; 500 501 &pinctrl { 502 pcfg_output_high: pcfg-output-high { 503 output-high; 504 }; 505 506 pcfg_output_low: pcfg-output-low { 507 output-low; 508 }; 509 510 act8846 { 511 dvs0_ctl: dvs0-ctl { 512 rockchip,pins = <3 RK_ 513 }; 514 515 pmic_int: pmic-int { 516 rockchip,pins = <0 RK_ 517 }; 518 }; 519 520 bq24196 { 521 charger_int: charger-int { 522 rockchip,pins = <0 RK_ 523 }; 524 525 /* pin hog to make it select u 526 chg_ctl: chg-ctl { 527 rockchip,pins = <0 RK_ 528 }; 529 530 /* low: charging, high: comple 531 chg_det: chg-det { 532 rockchip,pins = <0 RK_ 533 }; 534 535 /* charging enabled when pin l 536 chg_en: chg-en { 537 rockchip,pins = <0 RK_ 538 }; 539 540 /* bq29196 powergood (when low 541 dc_det: dc-det { 542 rockchip,pins = <0 RK_ 543 }; 544 545 /* wire bq24196 otg pin to hig 546 otg_en: otg-en { 547 rockchip,pins = <0 RK_ 548 }; 549 }; 550 551 camera { 552 cif0_pdn: cif0-pdn { 553 rockchip,pins = <3 RK_ 554 }; 555 556 cif1_pdn: cif1-pdn { 557 rockchip,pins = <3 RK_ 558 }; 559 560 cif_avdd_en: cif-avdd-en { 561 rockchip,pins = <1 RK_ 562 }; 563 }; 564 565 display { 566 lcd_cs: lcd-cs { 567 rockchip,pins = <3 RK_ 568 }; 569 570 lcd_en: lcd-en { 571 rockchip,pins = <0 RK_ 572 }; 573 }; 574 575 ft5606 { 576 tp_int: tp-int { 577 rockchip,pins = <1 RK_ 578 }; 579 580 tp_rst: tp-rst { 581 rockchip,pins = <0 RK_ 582 }; 583 }; 584 585 hdmi { 586 hdmi_int: hdmi-int { 587 rockchip,pins = <2 RK_ 588 }; 589 590 hdmi_rst: hdmi-rst { 591 rockchip,pins = <3 RK_ 592 }; 593 }; 594 595 hym8563 { 596 rtc_int: rtc-int { 597 rockchip,pins = <0 RK_ 598 }; 599 }; 600 601 keys { 602 pwr_hold: pwr-hold { 603 rockchip,pins = <0 RK_ 604 }; 605 606 pwr_key: pwr-key { 607 rockchip,pins = <0 RK_ 608 }; 609 }; 610 611 lis3de { 612 gsensor_int: gsensor-int { 613 rockchip,pins = <0 RK_ 614 }; 615 }; 616 617 mmc { 618 sdmmc_pwr: sdmmc-pwr { 619 rockchip,pins = <3 RK_ 620 }; 621 }; 622 623 tmp108 { 624 tmp_alrt: tmp-alrt { 625 rockchip,pins = <1 RK_ 626 }; 627 }; 628 629 usb { 630 v5_drv: v5-drv { 631 rockchip,pins = <0 RK_ 632 }; 633 634 otg_drv: otg-drv { 635 rockchip,pins = <3 RK_ 636 }; 637 638 usb_int: usb-int { 639 rockchip,pins = <0 RK_ 640 }; 641 }; 642 643 rk903 { 644 bt_host_wake: bt-host-wake { 645 rockchip,pins = <0 RK_ 646 }; 647 648 bt_reg_on: bt-reg-on { 649 rockchip,pins = <3 RK_ 650 }; 651 652 /* pin hog to pull the reset h 653 bt_rst: bt-rst { 654 rockchip,pins = <3 RK_ 655 }; 656 657 bt_wake: bt-wake { 658 rockchip,pins = <3 RK_ 659 }; 660 661 wifi_host_wake: wifi-host-wake 662 rockchip,pins = <3 RK_ 663 }; 664 665 wifi_reg_on: wifi-reg-on { 666 rockchip,pins = <3 RK_ 667 }; 668 }; 669 }; 670 671 &saradc { 672 vref-supply = <&vcc_18>; 673 status = "okay"; 674 }; 675 676 &spdif { 677 status = "okay"; 678 }; 679 680 &uart0 { 681 pinctrl-0 = <&uart0_xfer &uart0_cts &u 682 status = "okay"; 683 684 bluetooth { 685 compatible = "brcm,bcm43438-bt 686 max-speed = <2000000>; 687 device-wakeup-gpios = <&gpio3 688 host-wakeup-gpios = <&gpio0 RK 689 shutdown-gpios = <&gpio3 RK_PC 690 pinctrl-names = "default"; 691 pinctrl-0 = <&bt_host_wake &bt 692 }; 693 }; 694 695 &uart1 { 696 status = "okay"; 697 }; 698 699 &uart2 { 700 status = "okay"; 701 }; 702 703 &uart3 { 704 pinctrl-0 = <&uart3_xfer &uart3_cts &u 705 status = "okay"; 706 }; 707 708 &usbphy { 709 status = "okay"; 710 }; 711 712 &usb_host { 713 status = "okay"; 714 }; 715 716 &usb_otg { 717 status = "okay"; 718 }; 719 720 &vop0 { 721 status = "okay"; 722 }; 723 724 &vop0_out { 725 vop0_out_lvds: endpoint { 726 remote-endpoint = <&lvds_in_vo 727 }; 728 }; 729 730 &vop1 { 731 pinctrl-names = "default"; 732 pinctrl-0 = <&lcdc1_dclk &lcdc1_den &l 733 &lcdc1_vsync &lcdc1_rgb24 734 status = "okay"; 735 }; 736 737 &wdt { 738 status = "okay"; 739 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.