1/* 2 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd 3 * 4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5 */ 6 7/dts-v1/; 8#include <dt-bindings/display/drm_mipi_dsi.h> 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/pinctrl/rockchip.h> 12#include <dt-bindings/sensor-dev.h> 13#include "rk3326.dtsi" 14#include "rk3326-863-cif-sensor.dtsi" 15#include "px30-android.dtsi" 16 17/ { 18 model = "Rockchip rk3326 ai voice assistant evb v12 board"; 19 compatible = "rockchip,rk3326-evb-ai-va-v12", "rockchip,rk3326"; 20 21 adc-keys { 22 compatible = "adc-keys"; 23 io-channels = <&saradc 2>; 24 io-channel-names = "buttons"; 25 poll-interval = <100>; 26 keyup-threshold-microvolt = <1800000>; 27 28 mute-key { 29 linux,code = <KEY_MUTE>; 30 label = "mute"; 31 press-threshold-microvolt = <1119000>; 32 }; 33 34 mode-key { 35 linux,code = <KEY_MODE>; 36 label = "mode"; 37 press-threshold-microvolt = <892000>; 38 }; 39 40 media-key { 41 linux,code = <KEY_MEDIA>; 42 label = "media"; 43 press-threshold-microvolt = <616000>; 44 }; 45 46 vol-down-key { 47 linux,code = <KEY_VOLUMEDOWN>; 48 label = "volume down"; 49 press-threshold-microvolt = <300000>; 50 }; 51 52 vol-up-key { 53 linux,code = <KEY_VOLUMEUP>; 54 label = "volume up"; 55 press-threshold-microvolt = <15000>; 56 }; 57 }; 58 59 backlight: backlight { 60 compatible = "pwm-backlight"; 61 pwms = <&pwm1 0 25000 0>; 62 brightness-levels = < 63 0 1 2 3 4 5 6 7 64 8 9 10 11 12 13 14 15 65 16 17 18 19 20 21 22 23 66 24 25 26 27 28 29 30 31 67 32 33 34 35 36 37 38 39 68 40 41 42 43 44 45 46 47 69 48 49 50 51 52 53 54 55 70 56 57 58 59 60 61 62 63 71 64 65 66 67 68 69 70 71 72 72 73 74 75 76 77 78 79 73 80 81 82 83 84 85 86 87 74 88 89 90 91 92 93 94 95 75 96 97 98 99 100 101 102 103 76 104 105 106 107 108 109 110 111 77 112 113 114 115 116 117 118 119 78 120 121 122 123 124 125 126 127 79 128 129 130 131 132 133 134 135 80 136 137 138 139 140 141 142 143 81 144 145 146 147 148 149 150 151 82 152 153 154 155 156 157 158 159 83 160 161 162 163 164 165 166 167 84 168 169 170 171 172 173 174 175 85 176 177 178 179 180 181 182 183 86 184 185 186 187 188 189 190 191 87 192 193 194 195 196 197 198 199 88 200 201 202 203 204 205 206 207 89 208 209 210 211 212 213 214 215 90 216 217 218 219 220 221 222 223 91 224 225 226 227 228 229 230 231 92 232 233 234 235 236 237 238 239 93 240 241 242 243 244 245 246 247 94 248 249 250 251 252 253 254 255>; 95 default-brightness-level = <200>; 96 }; 97 98 rk809-sound { 99 compatible = "simple-audio-card"; 100 simple-audio-card,name = "rockchip,rk809-codec"; 101 simple-audio-card,mclk-fs = <256>; 102 simple-audio-card,widgets = 103 "Microphone", "Mic Jack", 104 "Headphone", "Headphone Jack"; 105 simple-audio-card,routing = 106 "Mic Jack", "MICBIAS1", 107 "IN1P", "Mic Jack", 108 "Headphone Jack", "HPOL", 109 "Headphone Jack", "HPOR"; 110 simple-audio-card,dai-link@0 { 111 format = "i2s"; 112 cpu { 113 sound-dai = <&i2s1_2ch>; 114 }; 115 codec { 116 sound-dai = <&rk809_codec 0>; 117 }; 118 }; 119 simple-audio-card,dai-link@1 { 120 format = "pdm"; 121 cpu { 122 sound-dai = <&pdm>; 123 }; 124 codec { 125 sound-dai = <&rk809_codec 1>; 126 }; 127 }; 128 }; 129 130 bt-sound { 131 compatible = "simple-audio-card"; 132 simple-audio-card,format = "dsp_a"; 133 simple-audio-card,bitclock-inversion = <1>; 134 simple-audio-card,mclk-fs = <256>; 135 simple-audio-card,name = "rockchip,bt"; 136 simple-audio-card,cpu { 137 sound-dai = <&i2s2_2ch>; 138 }; 139 simple-audio-card,codec { 140 sound-dai = <&bt_sco>; 141 }; 142 }; 143 144 bt_sco: bt-sco { 145 compatible = "delta,dfbmcs320"; 146 #sound-dai-cells = <0>; 147 status = "okay"; 148 }; 149 150 rk_headset: rk-headset { 151 compatible = "rockchip_headset"; 152 headset_gpio = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>; 153 pinctrl-names = "default"; 154 pinctrl-0 = <&hp_det>; 155 io-channels = <&saradc 1>; 156 }; 157 158 sdio_pwrseq: sdio-pwrseq { 159 compatible = "mmc-pwrseq-simple"; 160 clocks = <&rk809 1>; 161 clock-names = "ext_clock"; 162 pinctrl-names = "default"; 163 pinctrl-0 = <&wifi_enable_h>; 164 165 /* 166 * On the module itself this is one of these (depending 167 * on the actual card populated): 168 * - SDIO_RESET_L_WL_REG_ON 169 * - PDN (power down when low) 170 */ 171 reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */ 172 }; 173 174 test-power { 175 status = "okay"; 176 }; 177 178 vcc5v0_sys: vccsys { 179 compatible = "regulator-fixed"; 180 regulator-name = "vcc5v0_sys"; 181 regulator-always-on; 182 regulator-boot-on; 183 regulator-min-microvolt = <5000000>; 184 regulator-max-microvolt = <5000000>; 185 }; 186 187 wireless-wlan { 188 compatible = "wlan-platdata"; 189 wifi_chip_type = "AP6256"; 190 WIFI,host_wake_irq = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 191 status = "okay"; 192 }; 193 194 wireless-bluetooth { 195 compatible = "bluetooth-platdata"; 196 clocks = <&rk809 1>; 197 clock-names = "ext_clock"; 198 uart_rts_gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_LOW>; 199 pinctrl-names = "default","rts_gpio"; 200 pinctrl-0 = <&uart1_rts>; 201 pinctrl-1 = <&uart1_rts_gpio>; 202 BT,reset_gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 203 BT,wake_gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 204 BT,wake_host_irq = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>; 205 status = "okay"; 206 }; 207}; 208 209&bus_apll { 210 bus-supply = <&vdd_logic>; 211 status = "okay"; 212}; 213 214&cpu0 { 215 cpu-supply = <&vdd_arm>; 216}; 217 218&dfi { 219 status = "okay"; 220}; 221 222&display_subsystem { 223 status = "okay"; 224}; 225 226&dmc { 227 center-supply = <&vdd_logic>; 228 status = "okay"; 229}; 230 231&dsi { 232 status = "okay"; 233 234 panel@0 { 235 compatible = "sitronix,st7703", "simple-panel-dsi"; 236 reg = <0>; 237 backlight = <&backlight>; 238 enable-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 239 prepare-delay-ms = <2>; 240 reset-delay-ms = <1>; 241 init-delay-ms = <20>; 242 enable-delay-ms = <120>; 243 disable-delay-ms = <50>; 244 unprepare-delay-ms = <40>; 245 246 width-mm = <68>; 247 height-mm = <121>; 248 249 dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | 250 MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; 251 dsi,format = <MIPI_DSI_FMT_RGB888>; 252 dsi,lanes = <4>; 253 254 panel-init-sequence = [ 255 05 fa 01 11 256 39 00 04 b9 f1 12 83 257 39 00 1c ba 33 81 05 f9 0e 0e 00 00 00 258 00 00 00 00 00 44 25 00 91 0a 259 00 00 02 4f 01 00 00 37 260 15 00 02 b8 25 261 39 00 04 bf 02 11 00 262 39 00 0b b3 0c 10 0a 50 03 ff 00 00 00 263 00 264 39 00 0a c0 73 73 50 50 00 00 08 70 00 265 15 00 02 bc 46 266 15 00 02 cc 0b 267 15 00 02 b4 80 268 39 00 04 b2 c8 12 30 269 39 00 0f e3 07 07 0b 0b 03 0b 00 00 00 270 00 ff 00 c0 10 271 39 00 0d c1 53 00 1e 1e 77 e1 cc dd 67 272 77 33 33 273 39 00 07 c6 00 00 ff ff 01 ff 274 39 00 03 b5 09 09 275 39 00 03 b6 87 95 276 39 00 40 e9 c2 10 05 05 10 05 a0 12 31 277 23 3f 81 0a a0 37 18 00 80 01 278 00 00 00 00 80 01 00 00 00 48 279 f8 86 42 08 88 88 80 88 88 88 280 58 f8 87 53 18 88 88 81 88 88 281 88 00 00 00 01 00 00 00 00 00 282 00 00 00 00 283 39 00 3e ea 00 1a 00 00 00 00 02 00 00 284 00 00 00 1f 88 81 35 78 88 88 285 85 88 88 88 0f 88 80 24 68 88 286 88 84 88 88 88 23 10 00 00 1c 287 00 00 00 00 00 00 00 00 00 00 288 00 00 00 00 00 30 05 a0 00 00 289 00 00 290 39 00 23 e0 00 06 08 2a 31 3f 38 36 07 291 0c 0d 11 13 12 13 11 18 00 06 292 08 2a 31 3f 38 36 07 0c 0d 11 293 13 12 13 11 18 294 05 32 01 29 295 ]; 296 297 panel-exit-sequence = [ 298 05 00 01 28 299 05 00 01 10 300 ]; 301 302 display-timings { 303 native-mode = <&timing0>; 304 305 timing0: timing0 { 306 clock-frequency = <66000000>; 307 hactive = <720>; 308 vactive = <1280>; 309 hfront-porch = <40>; 310 hsync-len = <10>; 311 hback-porch = <40>; 312 vfront-porch = <22>; 313 vsync-len = <4>; 314 vback-porch = <11>; 315 hsync-active = <0>; 316 vsync-active = <0>; 317 de-active = <0>; 318 pixelclk-active = <0>; 319 }; 320 }; 321 322 ports { 323 #address-cells = <1>; 324 #size-cells = <0>; 325 326 port@0 { 327 reg = <0>; 328 panel_in_dsi: endpoint { 329 remote-endpoint = <&dsi_out_panel>; 330 }; 331 }; 332 }; 333 }; 334 335 ports { 336 #address-cells = <1>; 337 #size-cells = <0>; 338 339 port@1 { 340 reg = <1>; 341 dsi_out_panel: endpoint { 342 remote-endpoint = <&panel_in_dsi>; 343 }; 344 }; 345 }; 346}; 347 348&dsi_in_vopb { 349 status = "okay"; 350}; 351 352&dsi_in_vopl { 353 status = "disabled"; 354}; 355 356&route_dsi { 357 connect = <&vopb_out_dsi>; 358 status = "okay"; 359}; 360 361&emmc { 362 bus-width = <8>; 363 cap-mmc-highspeed; 364 mmc-hs200-1_8v; 365 no-sdio; 366 no-sd; 367 disable-wp; 368 non-removable; 369 num-slots = <1>; 370 status = "okay"; 371}; 372 373&gpu { 374 mali-supply = <&vdd_logic>; 375 status = "okay"; 376}; 377 378&i2c0 { 379 status = "okay"; 380 clock-frequency = <400000>; 381 i2c-scl-rising-time-ns = <280>; 382 i2c-scl-falling-time-ns = <16>; 383 384 rk809: pmic@20 { 385 compatible = "rockchip,rk809"; 386 reg = <0x20>; 387 interrupt-parent = <&gpio0>; 388 interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 389 pinctrl-names = "default", "pmic-sleep", 390 "pmic-power-off", "pmic-reset"; 391 pinctrl-0 = <&pmic_int>; 392 pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>; 393 pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>; 394 pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>; 395 rockchip,system-power-controller; 396 wakeup-source; 397 #clock-cells = <1>; 398 clock-output-names = "rk808-clkout1", "rk808-clkout2"; 399 //fb-inner-reg-idxs = <2>; 400 /* 1: rst regs (default in codes), 0: rst the pmic */ 401 pmic-reset-func = <1>; 402 403 vcc1-supply = <&vcc5v0_sys>; 404 vcc2-supply = <&vcc5v0_sys>; 405 vcc3-supply = <&vcc5v0_sys>; 406 vcc4-supply = <&vcc5v0_sys>; 407 vcc5-supply = <&vcc3v3_sys>; 408 vcc6-supply = <&vcc3v3_sys>; 409 vcc7-supply = <&vcc3v3_sys>; 410 vcc8-supply = <&vcc3v3_sys>; 411 vcc9-supply = <&vcc5v0_sys>; 412 413 pwrkey { 414 status = "okay"; 415 }; 416 417 pinctrl_rk8xx: pinctrl_rk8xx { 418 gpio-controller; 419 #gpio-cells = <2>; 420 421 rk817_slppin_null: rk817_slppin_null { 422 pins = "gpio_slp"; 423 function = "pin_fun0"; 424 }; 425 426 rk817_slppin_slp: rk817_slppin_slp { 427 pins = "gpio_slp"; 428 function = "pin_fun1"; 429 }; 430 431 rk817_slppin_pwrdn: rk817_slppin_pwrdn { 432 pins = "gpio_slp"; 433 function = "pin_fun2"; 434 }; 435 436 rk817_slppin_rst: rk817_slppin_rst { 437 pins = "gpio_slp"; 438 function = "pin_fun3"; 439 }; 440 }; 441 442 regulators { 443 vdd_logic: DCDC_REG1 { 444 regulator-always-on; 445 regulator-boot-on; 446 regulator-min-microvolt = <850000>; 447 regulator-max-microvolt = <1350000>; 448 regulator-ramp-delay = <6001>; 449 regulator-initial-mode = <0x2>; 450 regulator-name = "vdd_logic"; 451 regulator-state-mem { 452 regulator-on-in-suspend; 453 regulator-suspend-microvolt = <950000>; 454 }; 455 }; 456 457 vdd_arm: DCDC_REG2 { 458 regulator-always-on; 459 regulator-boot-on; 460 regulator-min-microvolt = <850000>; 461 regulator-max-microvolt = <1350000>; 462 regulator-ramp-delay = <6001>; 463 regulator-initial-mode = <0x2>; 464 regulator-name = "vdd_arm"; 465 regulator-state-mem { 466 regulator-off-in-suspend; 467 regulator-suspend-microvolt = <950000>; 468 }; 469 }; 470 471 vcc_ddr: DCDC_REG3 { 472 regulator-always-on; 473 regulator-boot-on; 474 regulator-initial-mode = <0x2>; 475 regulator-name = "vcc_ddr"; 476 regulator-state-mem { 477 regulator-on-in-suspend; 478 }; 479 }; 480 481 vcc_3v0: DCDC_REG4 { 482 regulator-always-on; 483 regulator-boot-on; 484 regulator-min-microvolt = <3000000>; 485 regulator-max-microvolt = <3000000>; 486 regulator-initial-mode = <0x2>; 487 regulator-name = "vcc_3v0"; 488 regulator-state-mem { 489 regulator-off-in-suspend; 490 regulator-suspend-microvolt = <3000000>; 491 }; 492 }; 493 494 vcc_1v0: LDO_REG1 { 495 regulator-always-on; 496 regulator-boot-on; 497 regulator-min-microvolt = <1000000>; 498 regulator-max-microvolt = <1000000>; 499 regulator-name = "vcc_1v0"; 500 regulator-state-mem { 501 regulator-on-in-suspend; 502 regulator-suspend-microvolt = <1000000>; 503 }; 504 }; 505 506 vcc1v8_soc: LDO_REG2 { 507 regulator-always-on; 508 regulator-boot-on; 509 regulator-min-microvolt = <1800000>; 510 regulator-max-microvolt = <1800000>; 511 512 regulator-name = "vcc1v8_soc"; 513 regulator-state-mem { 514 regulator-on-in-suspend; 515 regulator-suspend-microvolt = <1800000>; 516 }; 517 }; 518 519 vdd1v0_soc: LDO_REG3 { 520 regulator-always-on; 521 regulator-boot-on; 522 regulator-min-microvolt = <1000000>; 523 regulator-max-microvolt = <1000000>; 524 525 regulator-name = "vcc1v0_soc"; 526 regulator-state-mem { 527 regulator-on-in-suspend; 528 regulator-suspend-microvolt = <1000000>; 529 }; 530 }; 531 532 vcc3v0_pmu: LDO_REG4 { 533 regulator-always-on; 534 regulator-boot-on; 535 regulator-min-microvolt = <3000000>; 536 regulator-max-microvolt = <3000000>; 537 538 regulator-name = "vcc3v0_pmu"; 539 regulator-state-mem { 540 regulator-on-in-suspend; 541 regulator-suspend-microvolt = <3000000>; 542 543 }; 544 }; 545 546 vccio_sd: LDO_REG5 { 547 regulator-always-on; 548 regulator-boot-on; 549 regulator-min-microvolt = <1800000>; 550 regulator-max-microvolt = <3300000>; 551 552 regulator-name = "vccio_sd"; 553 regulator-state-mem { 554 regulator-on-in-suspend; 555 regulator-suspend-microvolt = <3300000>; 556 }; 557 }; 558 559 vcc_sd: LDO_REG6 { 560 regulator-min-microvolt = <3300000>; 561 regulator-max-microvolt = <3300000>; 562 563 regulator-name = "vcc_sd"; 564 regulator-state-mem { 565 regulator-on-in-suspend; 566 regulator-suspend-microvolt = <3300000>; 567 568 }; 569 }; 570 571 vcc2v8_dvp: LDO_REG7 { 572 regulator-always-on; 573 regulator-boot-on; 574 regulator-min-microvolt = <2800000>; 575 regulator-max-microvolt = <2800000>; 576 577 regulator-name = "vcc2v8_dvp"; 578 regulator-state-mem { 579 regulator-off-in-suspend; 580 regulator-suspend-microvolt = <2800000>; 581 }; 582 }; 583 584 vcc1v8_dvp: LDO_REG8 { 585 regulator-always-on; 586 regulator-boot-on; 587 regulator-min-microvolt = <1800000>; 588 regulator-max-microvolt = <1800000>; 589 590 regulator-name = "vcc1v8_dvp"; 591 regulator-state-mem { 592 regulator-on-in-suspend; 593 regulator-suspend-microvolt = <1800000>; 594 }; 595 }; 596 597 vdd1v5_dvp: LDO_REG9 { 598 regulator-always-on; 599 regulator-boot-on; 600 regulator-min-microvolt = <1500000>; 601 regulator-max-microvolt = <1500000>; 602 603 regulator-name = "vdd1v5_dvp"; 604 regulator-state-mem { 605 regulator-off-in-suspend; 606 regulator-suspend-microvolt = <1500000>; 607 }; 608 }; 609 610 vcc3v3_sys: DCDC_REG5 { 611 regulator-always-on; 612 regulator-boot-on; 613 regulator-min-microvolt = <3300000>; 614 regulator-max-microvolt = <3300000>; 615 regulator-name = "vcc3v3_sys"; 616 regulator-state-mem { 617 regulator-on-in-suspend; 618 regulator-suspend-microvolt = <3300000>; 619 }; 620 }; 621 622 vcc5v0_host: SWITCH_REG1 { 623 regulator-name = "vcc5v0_host"; 624 }; 625 626 vcc3v3_lcd: SWITCH_REG2 { 627 regulator-boot-on; 628 regulator-name = "vcc3v3_lcd"; 629 }; 630 }; 631 632 rk809_codec: codec { 633 #sound-dai-cells = <1>; 634 compatible = "rockchip,rk809-codec", "rockchip,rk817-codec"; 635 clocks = <&cru SCLK_I2S1_OUT>; 636 clock-names = "mclk"; 637 pinctrl-names = "default"; 638 pinctrl-0 = <&i2s1_2ch_mclk>; 639 pdmdata-out-enable; 640 use-ext-amplifier; 641 adc-for-loopback; 642 spk-ctl-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; 643 hp-volume = <20>; 644 spk-volume = <20>; 645 }; 646 }; 647}; 648 649&i2c1 { 650 status = "okay"; 651 clock-frequency = <400000>; 652 i2c-scl-rising-time-ns = <275>; 653 i2c-scl-falling-time-ns = <16>; 654 655 gt1x: gt1x@14 { 656 compatible = "goodix,gt1x"; 657 reg = <0x14>; 658 goodix,rst-gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 659 goodix,irq-gpio = <&gpio0 RK_PB3 IRQ_TYPE_LEVEL_LOW>; 660 }; 661 662 is31fl3236: led-controller@3c { 663 compatible = "issi,is31fl3236"; 664 reg = <0x3c>; 665 #address-cells = <1>; 666 #size-cells = <0>; 667 reset-gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>; 668 status = "okay"; 669 670 led1: led@1 { 671 label = "led1"; 672 reg = <1>; 673 led-max-microamp = <10000>; 674 linux,default-trigger = "timer"; 675 linux,default-trigger-delay-ms = <0>; 676 linux,blink-delay-on-ms = <100>; 677 linux,blink-delay-off-ms = <1200>; 678 }; 679 680 led2: led@2 { 681 label = "led2"; 682 reg = <2>; 683 led-max-microamp = <10000>; 684 linux,default-trigger = "timer"; 685 linux,default-trigger-delay-ms = <0>; 686 linux,blink-delay-on-ms = <100>; 687 linux,blink-delay-off-ms = <1200>; 688 }; 689 690 led3: led@3 { 691 label = "led3"; 692 reg = <3>; 693 led-max-microamp = <10000>; 694 linux,default-trigger = "default-on"; 695 }; 696 697 led4: led@4 { 698 label = "led4"; 699 reg = <4>; 700 led-max-microamp = <10000>; 701 linux,default-trigger = "timer"; 702 linux,default-trigger-delay-ms = <100>; 703 linux,blink-delay-on-ms = <100>; 704 linux,blink-delay-off-ms = <1200>; 705 }; 706 707 led5: led@5 { 708 label = "led5"; 709 reg = <5>; 710 led-max-microamp = <10000>; 711 linux,default-trigger = "timer"; 712 linux,default-trigger-delay-ms = <100>; 713 linux,blink-delay-on-ms = <100>; 714 linux,blink-delay-off-ms = <1200>; 715 }; 716 717 led6: led@6 { 718 label = "led6"; 719 reg = <6>; 720 led-max-microamp = <10000>; 721 linux,default-trigger = "default-on"; 722 }; 723 724 led7: led@7 { 725 label = "led7"; 726 reg = <7>; 727 led-max-microamp = <10000>; 728 linux,default-trigger = "timer"; 729 linux,default-trigger-delay-ms = <200>; 730 linux,blink-delay-on-ms = <100>; 731 linux,blink-delay-off-ms = <1200>; 732 }; 733 734 led8: led@8 { 735 label = "led8"; 736 reg = <8>; 737 led-max-microamp = <10000>; 738 linux,default-trigger = "timer"; 739 linux,default-trigger-delay-ms = <200>; 740 linux,blink-delay-on-ms = <100>; 741 linux,blink-delay-off-ms = <1200>; 742 }; 743 744 led9: led@9 { 745 label = "led9"; 746 reg = <9>; 747 led-max-microamp = <10000>; 748 linux,default-trigger = "default-on"; 749 }; 750 751 led10: led@10 { 752 label = "led10"; 753 reg = <10>; 754 led-max-microamp = <10000>; 755 linux,default-trigger = "timer"; 756 linux,default-trigger-delay-ms = <300>; 757 linux,blink-delay-on-ms = <100>; 758 linux,blink-delay-off-ms = <1200>; 759 }; 760 761 led11: led@11 { 762 label = "led11"; 763 reg = <11>; 764 led-max-microamp = <10000>; 765 linux,default-trigger = "timer"; 766 linux,default-trigger-delay-ms = <300>; 767 linux,blink-delay-on-ms = <100>; 768 linux,blink-delay-off-ms = <1200>; 769 }; 770 771 led12: led@12 { 772 label = "led12"; 773 reg = <12>; 774 led-max-microamp = <10000>; 775 linux,default-trigger = "default-on"; 776 }; 777 778 led13: led@13 { 779 label = "led13"; 780 reg = <13>; 781 led-max-microamp = <10000>; 782 linux,default-trigger = "timer"; 783 linux,default-trigger-delay-ms = <400>; 784 linux,blink-delay-on-ms = <100>; 785 linux,blink-delay-off-ms = <1200>; 786 }; 787 788 led14: led@14 { 789 label = "led14"; 790 reg = <14>; 791 led-max-microamp = <10000>; 792 linux,default-trigger = "timer"; 793 linux,default-trigger-delay-ms = <400>; 794 linux,blink-delay-on-ms = <100>; 795 linux,blink-delay-off-ms = <1200>; 796 }; 797 798 led15: led@15 { 799 label = "led15"; 800 reg = <15>; 801 led-max-microamp = <10000>; 802 linux,default-trigger = "default-on"; 803 }; 804 805 led16: led@16 { 806 label = "led16"; 807 reg = <16>; 808 led-max-microamp = <10000>; 809 linux,default-trigger = "timer"; 810 linux,default-trigger-delay-ms = <500>; 811 linux,blink-delay-on-ms = <100>; 812 linux,blink-delay-off-ms = <1200>; 813 }; 814 815 led17: led@17 { 816 label = "led17"; 817 reg = <17>; 818 led-max-microamp = <10000>; 819 linux,default-trigger = "timer"; 820 linux,default-trigger-delay-ms = <500>; 821 linux,blink-delay-on-ms = <100>; 822 linux,blink-delay-off-ms = <1200>; 823 }; 824 825 led18: led@18 { 826 label = "led18"; 827 reg = <18>; 828 led-max-microamp = <10000>; 829 linux,default-trigger = "default-on"; 830 }; 831 832 led19: led@19 { 833 label = "led19"; 834 reg = <19>; 835 led-max-microamp = <10000>; 836 linux,default-trigger = "timer"; 837 linux,default-trigger-delay-ms = <600>; 838 linux,blink-delay-on-ms = <100>; 839 linux,blink-delay-off-ms = <1200>; 840 }; 841 842 led20: led@20 { 843 label = "led20"; 844 reg = <20>; 845 led-max-microamp = <10000>; 846 linux,default-trigger = "timer"; 847 linux,default-trigger-delay-ms = <600>; 848 linux,blink-delay-on-ms = <100>; 849 linux,blink-delay-off-ms = <1200>; 850 }; 851 852 led21: led@21 { 853 label = "led21"; 854 reg = <21>; 855 led-max-microamp = <10000>; 856 linux,default-trigger = "default-on"; 857 }; 858 859 led22: led@22 { 860 label = "led22"; 861 reg = <22>; 862 led-max-microamp = <10000>; 863 linux,default-trigger = "timer"; 864 linux,default-trigger-delay-ms = <700>; 865 linux,blink-delay-on-ms = <100>; 866 linux,blink-delay-off-ms = <1200>; 867 }; 868 869 led23: led@23 { 870 label = "led23"; 871 reg = <23>; 872 led-max-microamp = <10000>; 873 linux,default-trigger = "timer"; 874 linux,default-trigger-delay-ms = <700>; 875 linux,blink-delay-on-ms = <100>; 876 linux,blink-delay-off-ms = <1200>; 877 }; 878 879 led124: led@24 { 880 label = "led24"; 881 reg = <24>; 882 led-max-microamp = <10000>; 883 linux,default-trigger = "default-on"; 884 }; 885 886 led25: led@25 { 887 label = "led25"; 888 reg = <25>; 889 led-max-microamp = <10000>; 890 linux,default-trigger = "timer"; 891 linux,default-trigger-delay-ms = <800>; 892 linux,blink-delay-on-ms = <100>; 893 linux,blink-delay-off-ms = <1200>; 894 }; 895 896 led26: led@26 { 897 label = "led26"; 898 reg = <26>; 899 led-max-microamp = <10000>; 900 linux,default-trigger = "timer"; 901 linux,default-trigger-delay-ms = <800>; 902 linux,blink-delay-on-ms = <100>; 903 linux,blink-delay-off-ms = <1200>; 904 }; 905 906 led27: led@27 { 907 label = "led27"; 908 reg = <27>; 909 led-max-microamp = <10000>; 910 linux,default-trigger = "default-on"; 911 }; 912 913 led28: led@28 { 914 label = "led28"; 915 reg = <28>; 916 led-max-microamp = <10000>; 917 linux,default-trigger = "timer"; 918 linux,default-trigger-delay-ms = <900>; 919 linux,blink-delay-on-ms = <100>; 920 linux,blink-delay-off-ms = <1200>; 921 }; 922 923 led29: led@29 { 924 label = "led29"; 925 reg = <29>; 926 led-max-microamp = <10000>; 927 linux,default-trigger = "timer"; 928 linux,default-trigger-delay-ms = <900>; 929 linux,blink-delay-on-ms = <100>; 930 linux,blink-delay-off-ms = <1200>; 931 }; 932 933 led30: led@30 { 934 label = "led30"; 935 reg = <30>; 936 led-max-microamp = <10000>; 937 linux,default-trigger = "default-on"; 938 }; 939 940 led31: led@31 { 941 label = "led31"; 942 reg = <31>; 943 led-max-microamp = <10000>; 944 linux,default-trigger = "timer"; 945 linux,default-trigger-delay-ms = <1000>; 946 linux,blink-delay-on-ms = <100>; 947 linux,blink-delay-off-ms = <1200>; 948 }; 949 950 led32: led@32 { 951 label = "led32"; 952 reg = <32>; 953 led-max-microamp = <10000>; 954 linux,default-trigger = "timer"; 955 linux,default-trigger-delay-ms = <1000>; 956 linux,blink-delay-on-ms = <100>; 957 linux,blink-delay-off-ms = <1200>; 958 }; 959 960 led33: led@33 { 961 label = "led33"; 962 reg = <33>; 963 led-max-microamp = <10000>; 964 linux,default-trigger = "default-on"; 965 }; 966 967 led34: led@34 { 968 label = "led34"; 969 reg = <34>; 970 led-max-microamp = <10000>; 971 linux,default-trigger = "timer"; 972 linux,default-trigger-delay-ms = <1100>; 973 linux,blink-delay-on-ms = <100>; 974 linux,blink-delay-off-ms = <1200>; 975 }; 976 977 led35: led@35 { 978 label = "led35"; 979 reg = <35>; 980 led-max-microamp = <10000>; 981 linux,default-trigger = "timer"; 982 linux,default-trigger-delay-ms = <1100>; 983 linux,blink-delay-on-ms = <100>; 984 linux,blink-delay-off-ms = <1200>; 985 }; 986 987 led36: led@36 { 988 label = "led36"; 989 reg = <36>; 990 led-max-microamp = <10000>; 991 linux,default-trigger = "default-on"; 992 }; 993 }; 994 995 ls_stk3410: light@48 { 996 compatible = "ls_stk3410"; 997 status = "okay"; 998 reg = <0x48>; 999 type = <SENSOR_TYPE_LIGHT>; 1000 irq_enable = <0>; 1001 als_threshold_high = <100>; 1002 als_threshold_low = <10>; 1003 als_ctrl_gain = <2>; /* 0:x1 1:x4 2:x16 3:x64 */ 1004 poll_delay_ms = <100>; 1005 }; 1006 1007 ps_stk3410: proximity@48 { 1008 compatible = "ps_stk3410"; 1009 status = "okay"; 1010 reg = <0x48>; 1011 type = <SENSOR_TYPE_PROXIMITY>; 1012 //pinctrl-names = "default"; 1013 //pinctrl-0 = <&gpio2_c3>; 1014 //irq-gpio = <&gpio0 RK_PB7 IRQ_TYPE_LEVEL_LOW>; 1015 //irq_enable = <1>; 1016 ps_threshold_high = <0x200>; 1017 ps_threshold_low = <0x100>; 1018 ps_ctrl_gain = <3>; /* 0:x1 1:x4 2:x16 3:x64 */ 1019 ps_led_current = <3>; /* 0:12.5mA 1:25mA 2:50mA 3:100mA */ 1020 poll_delay_ms = <100>; 1021 }; 1022 1023}; 1024 1025&i2c2 { 1026 status = "okay"; 1027 1028 clock-frequency = <100000>; 1029 1030 /* These are relatively safe rise/fall times; TODO: measure */ 1031 i2c-scl-falling-time-ns = <50>; 1032 i2c-scl-rising-time-ns = <300>; 1033 1034 ov5695: ov5695@36 { 1035 compatible = "ovti,ov5695"; 1036 reg = <0x36>; 1037 clocks = <&cru SCLK_CIF_OUT>; 1038 clock-names = "xvclk"; 1039 /*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/ 1040 pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; 1041 //pinctrl-names = "default"; 1042 //pinctrl-0 = <&cif_clkout_m0>; 1043 rockchip,camera-module-index = <0>; 1044 rockchip,camera-module-facing = "back"; 1045 rockchip,camera-module-name = "TongJu"; 1046 rockchip,camera-module-lens-name = "CHT842-MD"; 1047 port { 1048 ov5695_out: endpoint { 1049 remote-endpoint = <&mipi_in>; 1050 data-lanes = <1 2>; 1051 }; 1052 }; 1053 }; 1054}; 1055 1056&i2s1_2ch { 1057 status = "okay"; 1058 #sound-dai-cells = <0>; 1059 pinctrl-0 = <&i2s1_2ch_sclk 1060 &i2s1_2ch_lrck 1061 &i2s1_2ch_sdo>; 1062}; 1063 1064&i2s2_2ch { 1065 status = "okay"; 1066 rockchip,bclk-fs = <64>; 1067 #sound-dai-cells = <0>; 1068}; 1069 1070&io_domains { 1071 status = "okay"; 1072 1073 vccio1-supply = <&vcc1v8_soc>; 1074 vccio2-supply = <&vccio_sd>; 1075 vccio3-supply = <&vcc1v8_dvp>; 1076 vccio4-supply = <&vcc1v8_soc>; 1077 vccio5-supply = <&vcc_3v0>; 1078}; 1079 1080&isp_mmu { 1081 status = "okay"; 1082}; 1083 1084&nandc0 { 1085 status = "okay"; 1086}; 1087 1088&pdm { 1089 status = "okay"; 1090 #sound-dai-cells = <0>; 1091 pinctrl-names = "default"; 1092 pinctrl-0 = <&pdm_clk0m1 1093 &pdm_clk1 1094 &pdm_sdi0m1 1095 &pdm_sdi1 1096 &pdm_sdi2 1097 &pdm_sdi3>; 1098}; 1099 1100&pinctrl { 1101 pinctrl-names = "default"; 1102 pinctrl-0 = <&tp_int>; 1103 1104 headphone { 1105 hp_det: hp-det { 1106 rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 1107 }; 1108 }; 1109 1110 pmic { 1111 pmic_int: pmic_int { 1112 rockchip,pins = 1113 <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 1114 }; 1115 1116 soc_slppin_gpio: soc_slppin_gpio { 1117 rockchip,pins = 1118 <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>; 1119 }; 1120 1121 soc_slppin_slp: soc_slppin_slp { 1122 rockchip,pins = 1123 <0 RK_PA4 1 &pcfg_pull_none>; 1124 }; 1125 1126 soc_slppin_rst: soc_slppin_rst { 1127 rockchip,pins = 1128 <0 RK_PA4 2 &pcfg_pull_none>; 1129 }; 1130 }; 1131 1132 sdio-pwrseq { 1133 wifi_enable_h: wifi-enable-h { 1134 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 1135 }; 1136 }; 1137 1138 touchscreen-int { 1139 tp_int: tp-int { 1140 rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>; 1141 }; 1142 }; 1143}; 1144 1145&pmu_io_domains { 1146 status = "okay"; 1147 1148 pmuio1-supply = <&vcc3v0_pmu>; 1149 pmuio2-supply = <&vcc3v0_pmu>; 1150}; 1151 1152&pwm1 { 1153 status = "okay"; 1154}; 1155 1156&rk_rga { 1157 status = "okay"; 1158}; 1159 1160&rockchip_suspend { 1161 status = "okay"; 1162 rockchip,sleep-debug-en = <1>; 1163}; 1164 1165&saradc { 1166 status = "okay"; 1167 vref-supply = <&vcc1v8_soc>; 1168}; 1169 1170&sdmmc { 1171 bus-width = <4>; 1172 cap-mmc-highspeed; 1173 cap-sd-highspeed; 1174 no-sdio; 1175 no-mmc; 1176 card-detect-delay = <800>; 1177 ignore-pm-notify; 1178 /*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/ 1179 sd-uhs-sdr12; 1180 sd-uhs-sdr25; 1181 sd-uhs-sdr50; 1182 sd-uhs-sdr104; 1183 vqmmc-supply = <&vccio_sd>; 1184 vmmc-supply = <&vcc_sd>; 1185 status = "okay"; 1186}; 1187 1188&sdio { 1189 bus-width = <4>; 1190 cap-sd-highspeed; 1191 no-sd; 1192 no-mmc; 1193 ignore-pm-notify; 1194 keep-power-in-suspend; 1195 non-removable; 1196 mmc-pwrseq = <&sdio_pwrseq>; 1197 sd-uhs-sdr104; 1198 status = "okay"; 1199}; 1200 1201&tsadc { 1202 pinctrl-names = "gpio", "otpout"; 1203 pinctrl-0 = <&tsadc_otp_gpio>; 1204 pinctrl-1 = <&tsadc_otp_out>; 1205 status = "okay"; 1206}; 1207 1208&u2phy { 1209 status = "okay"; 1210 1211 u2phy_host: host-port { 1212 status = "okay"; 1213 }; 1214 1215 u2phy_otg: otg-port { 1216 vbus-supply = <&vcc5v0_host>; 1217 status = "okay"; 1218 }; 1219}; 1220 1221&usb20_otg { 1222 status = "okay"; 1223}; 1224 1225&uart1 { 1226 pinctrl-names = "default"; 1227 pinctrl-0 = <&uart1_xfer &uart1_cts>; 1228 status = "okay"; 1229}; 1230 1231&vopb { 1232 status = "okay"; 1233}; 1234 1235&vopb_mmu { 1236 status = "okay"; 1237}; 1238 1239&vopl { 1240 status = "okay"; 1241}; 1242 1243&vopl_mmu { 1244 status = "okay"; 1245}; 1246 1247&mpp_srv { 1248 status = "okay"; 1249}; 1250 1251&vdpu { 1252 status = "okay"; 1253}; 1254 1255&vepu { 1256 status = "okay"; 1257}; 1258 1259&vpu_mmu { 1260 status = "okay"; 1261}; 1262 1263&hevc { 1264 status = "okay"; 1265}; 1266 1267&hevc_mmu { 1268 status = "okay"; 1269}; 1270 1271&mipi_dphy_rx0 { 1272 status = "okay"; 1273 1274 ports { 1275 #address-cells = <1>; 1276 #size-cells = <0>; 1277 1278 port@0 { 1279 reg = <0>; 1280 #address-cells = <1>; 1281 #size-cells = <0>; 1282 1283 mipi_in: endpoint@1 { 1284 reg = <1>; 1285 remote-endpoint = <&ov5695_out>; 1286 data-lanes = <1 2>; 1287 }; 1288 }; 1289 1290 port@1 { 1291 reg = <1>; 1292 #address-cells = <1>; 1293 #size-cells = <0>; 1294 1295 dphy_rx_out: endpoint@0 { 1296 reg = <0>; 1297 remote-endpoint = <&isp_mipi_in>; 1298 }; 1299 }; 1300 }; 1301}; 1302 1303&rkisp1 { 1304 status = "okay"; 1305 pinctrl-names = "default"; 1306 pinctrl-0 = <&cif_clkout_m0 &dvp_d0d1_m0 &dvp_d2d9_m0>; 1307 port { 1308 #address-cells = <1>; 1309 #size-cells = <0>; 1310 1311 isp_mipi_in: endpoint@0 { 1312 reg = <0>; 1313 remote-endpoint = <&dphy_rx_out>; 1314 }; 1315 1316 }; 1317}; 1318