1/* 2 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd 3 * 4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5 */ 6 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/interrupt-controller/arm-gic.h> 9#include <dt-bindings/interrupt-controller/irq.h> 10#include <dt-bindings/pinctrl/rockchip.h> 11#include <dt-bindings/clock/rk3308-cru.h> 12 13/ { 14 compatible = "rockchip,rk3308"; 15 16 interrupt-parent = <&gic>; 17 #address-cells = <2>; 18 #size-cells = <2>; 19 20 aliases { 21 serial0 = &uart0; 22 serial1 = &uart1; 23 serial2 = &uart2; 24 }; 25 26 cpus { 27 #address-cells = <2>; 28 #size-cells = <0>; 29 30 cpu0: cpu@0 { 31 device_type = "cpu"; 32 compatible = "arm,cortex-a35", "arm,armv8"; 33 reg = <0x0 0x0>; 34 enable-method = "psci"; 35 }; 36 37 cpu1: cpu@1 { 38 device_type = "cpu"; 39 compatible = "arm,cortex-a35", "arm,armv8"; 40 reg = <0x0 0x1>; 41 enable-method = "psci"; 42 }; 43 44 cpu2: cpu@2 { 45 device_type = "cpu"; 46 compatible = "arm,cortex-a35", "arm,armv8"; 47 reg = <0x0 0x2>; 48 enable-method = "psci"; 49 }; 50 51 cpu3: cpu@3 { 52 device_type = "cpu"; 53 compatible = "arm,cortex-a35", "arm,armv8"; 54 reg = <0x0 0x3>; 55 enable-method = "psci"; 56 }; 57 }; 58 59 arm-pmu { 60 compatible = "arm,cortex-a53-pmu"; 61 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>, 62 <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>, 63 <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 64 <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 65 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 66 }; 67 68 display_subsystem: display-subsystem { 69 compatible = "rockchip,display-subsystem"; 70 ports = <&vop_out>; 71 status = "disabled"; 72 73 route { 74 route_rgb: route-rgb { 75 status = "okay"; 76 logo,uboot = "logo.bmp"; 77 logo,kernel = "logo_kernel.bmp"; 78 logo,mode = "center"; 79 charge_logo,mode = "center"; 80 connect = <&vop_out_rgb>; 81 }; 82 }; 83 }; 84 85 psci { 86 compatible = "arm,psci-1.0"; 87 method = "smc"; 88 }; 89 90 timer { 91 compatible = "arm,armv8-timer"; 92 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 93 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 94 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 95 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 96 clock-frequency = <24000000>; 97 }; 98 99 clocks { 100 xin24m: xin24m { 101 compatible = "fixed-clock"; 102 #clock-cells = <0>; 103 clock-frequency = <24000000>; 104 clock-output-names = "xin24m"; 105 }; 106 }; 107 108 grf: grf@ff000000 { 109 compatible = "rockchip,rk3308-grf", "syscon", "simple-mfd"; 110 reg = <0x0 0xff000000 0x0 0x10000>; 111 }; 112 113 usb2phy_grf: syscon@ff008000 { 114 compatible = "rockchip,rk3308-usb2phy-grf", "syscon", 115 "simple-mfd"; 116 reg = <0x0 0xff008000 0x0 0x4000>; 117 #address-cells = <1>; 118 #size-cells = <1>; 119 120 u2phy: usb2-phy@100 { 121 compatible = "rockchip,rk3308-usb2phy", 122 "rockchip,rk3328-usb2phy"; 123 reg = <0x100 0x10>; 124 clocks = <&cru SCLK_USBPHY_REF>; 125 clock-names = "phyclk"; 126 #clock-cells = <0>; 127 assigned-clocks = <&cru USB480M>; 128 assigned-clock-parents = <&u2phy>; 129 clock-output-names = "usb480m_phy"; 130 status = "disabled"; 131 132 u2phy_host: host-port { 133 #phy-cells = <0>; 134 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 135 interrupt-names = "linestate"; 136 status = "disabled"; 137 }; 138 139 u2phy_otg: otg-port { 140 #phy-cells = <0>; 141 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 142 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 143 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 144 interrupt-names = "otg-bvalid", "otg-id", 145 "linestate"; 146 status = "disabled"; 147 }; 148 }; 149 }; 150 151 uart0: serial@ff0a0000 { 152 compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart"; 153 reg = <0x0 0xff0a0000 0x0 0x100>; 154 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 155 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 156 clock-names = "baudclk", "apb_pclk"; 157 reg-shift = <2>; 158 reg-io-width = <4>; 159 status = "disabled"; 160 }; 161 162 uart1: serial@ff0b0000 { 163 compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart"; 164 reg = <0x0 0xff0b0000 0x0 0x100>; 165 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 166 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 167 clock-names = "baudclk", "apb_pclk"; 168 reg-shift = <2>; 169 reg-io-width = <4>; 170 status = "disabled"; 171 }; 172 173 uart2: serial@ff0c0000 { 174 compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart"; 175 reg = <0x0 0xff0c0000 0x0 0x100>; 176 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 177 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 178 clock-names = "baudclk", "apb_pclk"; 179 reg-shift = <2>; 180 reg-io-width = <4>; 181 status = "disabled"; 182 }; 183 184 vop: vop@ff2e0000 { 185 compatible = "rockchip,rk3308-vop"; 186 reg = <0x0 0xff2e0000 0x0 0x1fc>, <0x0 0xff2e0a00 0x0 0x400>; 187 reg-names = "regs", "gamma_lut"; 188 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 189 clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, 190 <&cru HCLK_VOP>; 191 clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 192 status = "disabled"; 193 194 vop_out: port { 195 #address-cells = <1>; 196 #size-cells = <0>; 197 198 vop_out_rgb: endpoint@0 { 199 reg = <0>; 200 remote-endpoint = <&rgb_in_vop>; 201 }; 202 }; 203 }; 204 205 pwm0: pwm@ff180000 { 206 compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm"; 207 reg = <0x0 0xff180000 0x0 0x10>; 208 #pwm-cells = <3>; 209 pinctrl-names = "active"; 210 pinctrl-0 = <&pwm0_pin>; 211 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 212 clock-names = "pwm", "pclk"; 213 status = "disabled"; 214 }; 215 216 pwm1: pwm@ff180010 { 217 compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm"; 218 reg = <0x0 0xff180010 0x0 0x10>; 219 #pwm-cells = <3>; 220 pinctrl-names = "active"; 221 pinctrl-0 = <&pwm1_pin>; 222 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 223 clock-names = "pwm", "pclk"; 224 status = "disabled"; 225 }; 226 227 pwm2: pwm@ff180020 { 228 compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm"; 229 reg = <0x0 0xff180020 0x0 0x10>; 230 #pwm-cells = <3>; 231 pinctrl-names = "active"; 232 pinctrl-0 = <&pwm2_pin>; 233 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 234 clock-names = "pwm", "pclk"; 235 status = "disabled"; 236 }; 237 238 pwm3: pwm@ff180030 { 239 compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm"; 240 reg = <0x0 0xff180030 0x0 0x10>; 241 #pwm-cells = <3>; 242 pinctrl-names = "active"; 243 pinctrl-0 = <&pwm3_pin>; 244 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 245 clock-names = "pwm", "pclk"; 246 status = "disabled"; 247 }; 248 249 rgb: rgb { 250 compatible = "rockchip,rk3308-rgb"; 251 status = "disabled"; 252 pinctrl-names = "default"; 253 pinctrl-0 = <&lcdc_ctl>; 254 255 ports { 256 #address-cells = <1>; 257 #size-cells = <0>; 258 259 port@0 { 260 reg = <0>; 261 262 #address-cells = <1>; 263 #size-cells = <0>; 264 265 rgb_in_vop: endpoint@0 { 266 reg = <0>; 267 remote-endpoint = <&vop_out_rgb>; 268 }; 269 }; 270 271 }; 272 }; 273 274 saradc: saradc@ff1e0000 { 275 compatible = "rockchip,rk3308-saradc", "rockchip,rk3399-saradc"; 276 reg = <0x0 0xff1e0000 0x0 0x100>; 277 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 278 #io-channel-cells = <1>; 279 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 280 clock-names = "saradc", "apb_pclk"; 281 resets = <&cru SRST_SARADC_P>; 282 reset-names = "saradc-apb"; 283 status = "disabled"; 284 }; 285 286 i2s0: i2s@ff300000 { 287 compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s"; 288 reg = <0x0 0xff300000 0x0 0x10000>; 289 }; 290 291 i2s1: i2s@ff310000 { 292 compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s"; 293 reg = <0x0 0xff100000 0x0 0x10000>; 294 }; 295 296 i2s2: i2s@ff320000 { 297 compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s"; 298 reg = <0x0 0xff320000 0x0 0x10000>; 299 }; 300 301 i2s3: i2s@ff330000 { 302 compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s"; 303 reg = <0x0 0xff330000 0x0 0x10000>; 304 }; 305 306 vad: vad@ff3c0000 { 307 compatible = "rockchip,rk3308-vad", "rockchip,vad"; 308 reg = <0x0 0xff3c0000 0x0 0x10000>, <0x0 0xfff88000 0x0 0x38000>; 309 reg-names = "vad", "vad-memory"; 310 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 311 rockchip,audio-src = <0>; 312 rockchip,audio-chnl-num = <8>; 313 rockchip,audio-chnl = <0>; 314 rockchip,mode = <0>; 315 }; 316 317 usb20_otg: usb@ff400000 { 318 compatible = "rockchip,rk3308-usb", "rockchip,rk3066-usb", 319 "snps,dwc2"; 320 reg = <0x0 0xff400000 0x0 0x40000>; 321 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 322 clocks = <&cru HCLK_OTG>; 323 clock-names = "otg"; 324 dr_mode = "otg"; 325 g-np-tx-fifo-size = <16>; 326 g-rx-fifo-size = <275>; 327 g-tx-fifo-size = <256 128 128 64 64 32>; 328 g-use-dma; 329 phys = <&u2phy_otg>; 330 phy-names = "usb2-phy"; 331 status = "disabled"; 332 }; 333 334 usb_host0_ehci: usb@ff440000 { 335 compatible = "generic-ehci"; 336 reg = <0x0 0xff440000 0x0 0x10000>; 337 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 338 clocks = <&cru HCLK_HOST>, <&cru HCLK_HOST_ARB>, 339 <&u2phy>; 340 clock-names = "usbhost", "arbiter", "utmi"; 341 phys = <&u2phy_host>; 342 phy-names = "usb"; 343 status = "disabled"; 344 }; 345 346 usb_host0_ohci: usb@ff450000 { 347 compatible = "generic-ohci"; 348 reg = <0x0 0xff450000 0x0 0x10000>; 349 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 350 clocks = <&cru HCLK_HOST>, <&cru HCLK_HOST_ARB>, 351 <&u2phy>; 352 clock-names = "usbhost", "arbiter", "utmi"; 353 phys = <&u2phy_host>; 354 phy-names = "usb"; 355 }; 356 357 sdmmc: dwmmc@ff480000 { 358 compatible = "rockchip,rk3308-dw-mshc", "rockchip,rk3288-dw-mshc"; 359 reg = <0x0 0xff480000 0x0 0x4000>; 360 max-frequency = <150000000>; 361 bus-width = <4>; 362 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 363 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 364 clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 365 fifo-depth = <0x100>; 366 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 367 pinctrl-names = "default"; 368 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 369 status = "disabled"; 370 }; 371 372 emmc: dwmmc@ff490000 { 373 compatible = "rockchip,rk3308-dw-mshc", "rockchip,rk3288-dw-mshc"; 374 reg = <0x0 0xff490000 0x0 0x4000>; 375 max-frequency = <150000000>; 376 bus-width = <8>; 377 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 378 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 379 clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 380 fifo-depth = <0x100>; 381 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 382 status = "disabled"; 383 }; 384 385 sdio: dwmmc@ff4a0000 { 386 compatible = "rockchip,rk3308-dw-mshc", "rockchip,rk3288-dw-mshc"; 387 reg = <0x0 0xff4a0000 0x0 0x4000>; 388 max-frequency = <150000000>; 389 bus-width = <4>; 390 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 391 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 392 clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 393 fifo-depth = <0x100>; 394 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 395 pinctrl-names = "default"; 396 pinctrl-0 = <&sdio_bus4 &sdio_cmd &sdio_clk>; 397 status = "disabled"; 398 }; 399 400 nandc: nandc@ff4b0000 { 401 compatible = "rockchip,rk-nandc"; 402 reg = <0x0 0xff4b0000 0x0 0x4000>; 403 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 404 nandc_id = <0>; 405 clocks = <&cru SCLK_NANDC>, <&cru HCLK_NANDC>; 406 clock-names = "clk_nandc", "hclk_nandc"; 407 status = "disabled"; 408 }; 409 410 411 sfc: sfc@ff4c0000 { 412 compatible = "rockchip,rksfc"; 413 reg = <0x0 0xff4c0000 0x0 0x4000>; 414 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 415 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 416 clock-names = "clk_sfc", "hclk_sfc"; 417 status = "disabled"; 418 }; 419 420 cru: clock-controller@ff500000 { 421 compatible = "rockchip,rk3308-cru"; 422 reg = <0x0 0xff500000 0x0 0x1000>; 423 rockchip,grf = <&grf>; 424 #clock-cells = <1>; 425 #reset-cells = <1>; 426 }; 427 428 gic: interrupt-controller@ff580000 { 429 compatible = "arm,gic-400"; 430 #interrupt-cells = <3>; 431 #address-cells = <0>; 432 interrupt-controller; 433 434 reg = <0x0 0xff581000 0x0 0x1000>, 435 <0x0 0xff582000 0x0 0x2000>, 436 <0x0 0xff584000 0x0 0x2000>, 437 <0x0 0xff586000 0x0 0x2000>; 438 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 439 }; 440 441 pinctrl: pinctrl { 442 compatible = "rockchip,rk3308-pinctrl"; 443 rockchip,grf = <&grf>; 444 #address-cells = <2>; 445 #size-cells = <2>; 446 ranges; 447 448 gpio0: gpio0@ff220000 { 449 compatible = "rockchip,gpio-bank"; 450 reg = <0x0 0xff220000 0x0 0x100>; 451 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 452 //clocks = <&cru PCLK_GPIO0>; 453 clocks = <&xin24m>; 454 gpio-controller; 455 #gpio-cells = <2>; 456 457 interrupt-controller; 458 #interrupt-cells = <2>; 459 }; 460 461 gpio1: gpio1@ff230000 { 462 compatible = "rockchip,gpio-bank"; 463 reg = <0x0 0xff230000 0x0 0x100>; 464 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 465 //clocks = <&cru PCLK_GPIO1>; 466 clocks = <&xin24m>; 467 gpio-controller; 468 #gpio-cells = <2>; 469 470 interrupt-controller; 471 #interrupt-cells = <2>; 472 }; 473 474 gpio2: gpio2@ff240000 { 475 compatible = "rockchip,gpio-bank"; 476 reg = <0x0 0xff240000 0x0 0x100>; 477 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 478 //clocks = <&cru PCLK_GPIO2>; 479 clocks = <&xin24m>; 480 gpio-controller; 481 #gpio-cells = <2>; 482 483 interrupt-controller; 484 #interrupt-cells = <2>; 485 }; 486 487 gpio3: gpio3@ff250000 { 488 compatible = "rockchip,gpio-bank"; 489 reg = <0x0 0xff250000 0x0 0x100>; 490 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 491 //clocks = <&cru PCLK_GPIO3>; 492 clocks = <&xin24m>; 493 gpio-controller; 494 #gpio-cells = <2>; 495 496 interrupt-controller; 497 #interrupt-cells = <2>; 498 }; 499 500 gpio4: gpio4@ff260000 { 501 compatible = "rockchip,gpio-bank"; 502 reg = <0x0 0xff260000 0x0 0x100>; 503 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 504 //clocks = <&cru PCLK_GPIO4>; 505 clocks = <&xin24m>; 506 gpio-controller; 507 #gpio-cells = <2>; 508 509 interrupt-controller; 510 #interrupt-cells = <2>; 511 }; 512 513 pcfg_pull_up: pcfg-pull-up { 514 bias-pull-up; 515 }; 516 517 pcfg_pull_down: pcfg-pull-down { 518 bias-pull-down; 519 }; 520 521 pcfg_pull_none: pcfg-pull-none { 522 bias-disable; 523 }; 524 525 pcfg_pull_none_2ma: pcfg-pull-none-2ma { 526 bias-disable; 527 drive-strength = <2>; 528 }; 529 530 pcfg_pull_up_2ma: pcfg-pull-up-2ma { 531 bias-pull-up; 532 drive-strength = <2>; 533 }; 534 535 pcfg_pull_up_4ma: pcfg-pull-up-4ma { 536 bias-pull-up; 537 drive-strength = <4>; 538 }; 539 540 pcfg_pull_none_4ma: pcfg-pull-none-4ma { 541 bias-disable; 542 drive-strength = <4>; 543 }; 544 545 pcfg_pull_down_4ma: pcfg-pull-down-4ma { 546 bias-pull-down; 547 drive-strength = <4>; 548 }; 549 550 pcfg_pull_none_8ma: pcfg-pull-none-8ma { 551 bias-disable; 552 drive-strength = <8>; 553 }; 554 555 pcfg_pull_up_8ma: pcfg-pull-up-8ma { 556 bias-pull-up; 557 drive-strength = <8>; 558 }; 559 560 pcfg_pull_none_12ma: pcfg-pull-none-12ma { 561 bias-disable; 562 drive-strength = <12>; 563 }; 564 565 pcfg_pull_up_12ma: pcfg-pull-up-12ma { 566 bias-pull-up; 567 drive-strength = <12>; 568 }; 569 570 pcfg_pull_none_smt: pcfg-pull-none-smt { 571 bias-disable; 572 input-schmitt-enable; 573 }; 574 575 pcfg_output_high: pcfg-output-high { 576 output-high; 577 }; 578 579 pcfg_output_low: pcfg-output-low { 580 output-low; 581 }; 582 583 pcfg_input_high: pcfg-input-high { 584 bias-pull-up; 585 input-enable; 586 }; 587 588 pcfg_input: pcfg-input { 589 input-enable; 590 }; 591 592 i2c0 { 593 i2c0_xfer: i2c0-xfer { 594 rockchip,pins = 595 <1 RK_PD0 2 &pcfg_pull_none_smt>, 596 <1 RK_PD1 2 &pcfg_pull_none_smt>; 597 }; 598 }; 599 600 i2c1 { 601 i2c1_xfer: i2c1-xfer { 602 rockchip,pins = 603 <0 RK_PB3 1 &pcfg_pull_none_smt>, 604 <0 RK_PB4 1 &pcfg_pull_none_smt>; 605 }; 606 }; 607 608 i2c2 { 609 i2c2_xfer: i2c2-xfer { 610 rockchip,pins = 611 <2 RK_PA2 3 &pcfg_pull_none_smt>, 612 <2 RK_PA3 3 &pcfg_pull_none_smt>; 613 }; 614 }; 615 616 i2c3-m0 { 617 i2c3m0_xfer: i2c3m0-xfer { 618 rockchip,pins = 619 <0 RK_PB7 2 &pcfg_pull_none_smt>, 620 <0 RK_PC0 2 &pcfg_pull_none_smt>; 621 }; 622 }; 623 624 i2c3-m1 { 625 i2c3m1_xfer: i2c3m1-xfer { 626 rockchip,pins = 627 <3 RK_PB4 2 &pcfg_pull_none_smt>, 628 <3 RK_PB5 2 &pcfg_pull_none_smt>; 629 }; 630 }; 631 632 tsadc { 633 tsadc_otp_gpio: tsadc-otp-gpio { 634 rockchip,pins = 635 <0 RK_PB2 0 &pcfg_pull_none>; 636 }; 637 638 tsadc_otp_out: tsadc-otp-out { 639 rockchip,pins = 640 <0 RK_PB2 1 &pcfg_pull_none>; 641 }; 642 }; 643 644 uart0 { 645 uart0_xfer: uart0-xfer { 646 rockchip,pins = 647 <2 RK_PA1 1 &pcfg_pull_up>, 648 <2 RK_PA0 1 &pcfg_pull_none>; 649 }; 650 651 uart0_cts: uart0-cts { 652 rockchip,pins = 653 <2 RK_PA2 1 &pcfg_pull_none>; 654 }; 655 656 uart0_rts: uart0-rts { 657 rockchip,pins = 658 <2 RK_PA3 1 &pcfg_pull_none>; 659 }; 660 }; 661 662 uart1 { 663 uart1_xfer: uart1-xfer { 664 rockchip,pins = 665 <1 RK_PD1 1 &pcfg_pull_up>, 666 <1 RK_PD0 1 &pcfg_pull_none>; 667 }; 668 669 uart1_cts: uart1-cts { 670 rockchip,pins = 671 <1 RK_PC6 1 &pcfg_pull_none>; 672 }; 673 674 uart1_rts: uart1-rts { 675 rockchip,pins = 676 <1 RK_PC7 1 &pcfg_pull_none>; 677 }; 678 }; 679 680 uart2-m0 { 681 uart2m0_xfer: uart2m0-xfer { 682 rockchip,pins = 683 <1 RK_PC7 2 &pcfg_pull_up>, 684 <1 RK_PC6 2 &pcfg_pull_none>; 685 }; 686 }; 687 688 uart2-m1 { 689 uart2m1_xfer: uart2m1-xfer { 690 rockchip,pins = 691 <4 RK_PD3 2 &pcfg_pull_up>, 692 <4 RK_PD2 2 &pcfg_pull_none>; 693 }; 694 }; 695 696 uart3 { 697 uart3_xfer: uart3-xfer { 698 rockchip,pins = 699 <3 RK_PB5 4 &pcfg_pull_up>, 700 <3 RK_PB4 4 &pcfg_pull_none>; 701 }; 702 }; 703 704 uart4 { 705 706 uart4_xfer: uart4-xfer { 707 rockchip,pins = 708 <4 RK_PB1 1 &pcfg_pull_up>, 709 <4 RK_PB0 1 &pcfg_pull_none>; 710 }; 711 712 uart4_cts: uart4-cts { 713 rockchip,pins = 714 <4 RK_PA6 1 &pcfg_pull_none>; 715 716 }; 717 718 uart4_rts: uart4-rts { 719 rockchip,pins = 720 <4 RK_PA7 1 &pcfg_pull_none>; 721 }; 722 }; 723 724 spi0 { 725 spi0_clk: spi0-clk { 726 rockchip,pins = 727 <2 RK_PA2 2 &pcfg_pull_up>; 728 }; 729 730 spi0_csn0: spi0-csn0 { 731 rockchip,pins = 732 <2 RK_PA3 2 &pcfg_pull_up>; 733 }; 734 735 spi0_miso: spi0-miso { 736 rockchip,pins = 737 <2 RK_PA0 2 &pcfg_pull_up>; 738 }; 739 740 spi0_mosi: spi0-mosi { 741 rockchip,pins = 742 <2 RK_PA1 2 &pcfg_pull_up>; 743 }; 744 }; 745 746 spi1 { 747 spi1_clk: spi1-clk { 748 rockchip,pins = 749 <3 RK_PB3 3 &pcfg_pull_up>; 750 }; 751 752 spi1_csn0: spi1-csn0 { 753 rockchip,pins = 754 <3 RK_PB5 3 &pcfg_pull_up>; 755 }; 756 757 spi1_miso: spi1-miso { 758 rockchip,pins = 759 <3 RK_PB2 3 &pcfg_pull_up>; 760 }; 761 762 spi1_mosi: spi1-mosi { 763 rockchip,pins = 764 <3 RK_PB4 3 &pcfg_pull_up>; 765 }; 766 }; 767 768 spi2 { 769 spi2_clk: spi2-clk { 770 rockchip,pins = 771 <1 RK_PD0 3 &pcfg_pull_up>; 772 }; 773 774 spi2_csn0: spi2-csn0 { 775 rockchip,pins = 776 <1 RK_PD1 3 &pcfg_pull_up>; 777 }; 778 779 spi2_miso: spi2-miso { 780 rockchip,pins = 781 <1 RK_PC6 3 &pcfg_pull_up>; 782 }; 783 784 spi2_mosi: spi2-mosi { 785 rockchip,pins = 786 <1 RK_PC7 3 &pcfg_pull_up>; 787 }; 788 }; 789 790 sdmmc { 791 sdmmc_clk: sdmmc-clk { 792 rockchip,pins = 793 <4 RK_PD5 1 &pcfg_pull_none_4ma>; 794 }; 795 796 sdmmc_cmd: sdmmc-cmd { 797 rockchip,pins = 798 <4 RK_PD4 1 &pcfg_pull_up_4ma>; 799 }; 800 801 sdmmc_pwren: sdmmc-pwren { 802 rockchip,pins = 803 <4 RK_PD6 1 &pcfg_pull_none_4ma>; 804 }; 805 806 sdmmc_bus1: sdmmc-bus1 { 807 rockchip,pins = 808 <4 RK_PD0 1 &pcfg_pull_up_4ma>; 809 }; 810 811 sdmmc_bus4: sdmmc-bus4 { 812 rockchip,pins = 813 <4 RK_PD0 1 &pcfg_pull_up_4ma>, 814 <4 RK_PD1 1 &pcfg_pull_up_4ma>, 815 <4 RK_PD2 1 &pcfg_pull_up_4ma>, 816 <4 RK_PD3 1 &pcfg_pull_up_4ma>; 817 }; 818 819 sdmmc_gpio: sdmmc-gpio { 820 rockchip,pins = 821 <4 RK_PD0 0 &pcfg_pull_up_4ma>, 822 <4 RK_PD1 0 &pcfg_pull_up_4ma>, 823 <4 RK_PD2 0 &pcfg_pull_up_4ma>, 824 <4 RK_PD3 0 &pcfg_pull_up_4ma>, 825 <4 RK_PD4 0 &pcfg_pull_up_4ma>, 826 <4 RK_PD5 0 &pcfg_pull_up_4ma>, 827 <4 RK_PD6 0 &pcfg_pull_up_4ma>; 828 }; 829 }; 830 831 sdio { 832 sdio_clk: sdio-clk { 833 rockchip,pins = 834 <4 RK_PA5 1 &pcfg_pull_none_8ma>; 835 }; 836 837 sdio_cmd: sdio-cmd { 838 rockchip,pins = 839 <4 RK_PA4 1 &pcfg_pull_up_8ma>; 840 }; 841 842 sdio_pwren: sdio-pwren { 843 rockchip,pins = 844 <0 RK_PA2 1 &pcfg_pull_none_8ma>; 845 }; 846 847 sdio_wrpt: sdio-wrpt { 848 rockchip,pins = 849 <0 RK_PA1 1 &pcfg_pull_none_8ma>; 850 }; 851 852 sdio_intn: sdio-intn { 853 rockchip,pins = 854 <0 RK_PA0 1 &pcfg_pull_none_8ma>; 855 }; 856 857 sdio_bus1: sdio-bus1 { 858 rockchip,pins = 859 <4 RK_PA0 1 &pcfg_pull_up_8ma>; 860 }; 861 862 sdio_bus4: sdio-bus4 { 863 rockchip,pins = 864 <4 RK_PA0 1 &pcfg_pull_up_8ma>, 865 <4 RK_PA1 1 &pcfg_pull_up_8ma>, 866 <4 RK_PA2 1 &pcfg_pull_up_8ma>, 867 <4 RK_PA3 1 &pcfg_pull_up_8ma>; 868 }; 869 870 sdio_gpio: sdio-gpio { 871 rockchip,pins = 872 <4 RK_PA0 0 &pcfg_pull_up_4ma>, 873 <4 RK_PA1 0 &pcfg_pull_up_4ma>, 874 <4 RK_PA2 0 &pcfg_pull_up_4ma>, 875 <4 RK_PA3 0 &pcfg_pull_up_4ma>, 876 <4 RK_PA4 0 &pcfg_pull_up_4ma>, 877 <4 RK_PA5 0 &pcfg_pull_up_4ma>; 878 }; 879 }; 880 881 emmc { 882 emmc_clk: emmc-clk { 883 rockchip,pins = 884 <3 RK_PB1 2 &pcfg_pull_none_8ma>; 885 }; 886 887 emmc_cmd: emmc-cmd { 888 rockchip,pins = 889 <3 RK_PB0 2 &pcfg_pull_up_8ma>; 890 }; 891 892 emmc_pwren: emmc-pwren { 893 rockchip,pins = 894 <3 RK_PB3 2 &pcfg_pull_none>; 895 }; 896 897 emmc_rstn: emmc-rstn { 898 rockchip,pins = 899 <3 RK_PB2 2 &pcfg_pull_none>; 900 }; 901 902 emmc_bus1: emmc-bus1 { 903 rockchip,pins = 904 <3 RK_PA0 2 &pcfg_pull_up_8ma>; 905 }; 906 907 emmc_bus4: emmc-bus4 { 908 rockchip,pins = 909 <3 RK_PA0 2 &pcfg_pull_up_8ma>, 910 <3 RK_PA1 2 &pcfg_pull_up_8ma>, 911 <3 RK_PA2 2 &pcfg_pull_up_8ma>, 912 <3 RK_PA3 2 &pcfg_pull_up_8ma>; 913 }; 914 915 emmc_bus8: emmc-bus8 { 916 rockchip,pins = 917 <3 RK_PA0 2 &pcfg_pull_up_8ma>, 918 <3 RK_PA1 2 &pcfg_pull_up_8ma>, 919 <3 RK_PA2 2 &pcfg_pull_up_8ma>, 920 <3 RK_PA3 2 &pcfg_pull_up_8ma>, 921 <3 RK_PA4 2 &pcfg_pull_up_8ma>, 922 <3 RK_PA5 2 &pcfg_pull_up_8ma>, 923 <3 RK_PA6 2 &pcfg_pull_up_8ma>, 924 <3 RK_PA7 2 &pcfg_pull_up_8ma>; 925 }; 926 }; 927 928 flash { 929 flash_csn0: flash-csn0 { 930 rockchip,pins = 931 <3 RK_PB5 1 &pcfg_pull_none>; 932 }; 933 934 flash_rdy: flash-rdy { 935 rockchip,pins = 936 <3 RK_PB4 1 &pcfg_pull_none>; 937 }; 938 939 flash_ale: flash-ale { 940 rockchip,pins = 941 <3 RK_PB3 1 &pcfg_pull_none>; 942 }; 943 944 flash_cle: flash-cle { 945 rockchip,pins = 946 <3 RK_PB1 1 &pcfg_pull_none>; 947 }; 948 949 flash_wrn: flash-wrn { 950 rockchip,pins = 951 <3 RK_PB0 1 &pcfg_pull_none>; 952 }; 953 954 flash_rdn: flash-rdn { 955 rockchip,pins = 956 <3 RK_PB2 1 &pcfg_pull_none>; 957 }; 958 959 flash_bus8: flash-bus8 { 960 rockchip,pins = 961 <3 RK_PA0 1 &pcfg_pull_up_12ma>, 962 <3 RK_PA1 1 &pcfg_pull_up_12ma>, 963 <3 RK_PA2 1 &pcfg_pull_up_12ma>, 964 <3 RK_PA3 1 &pcfg_pull_up_12ma>, 965 <3 RK_PA4 1 &pcfg_pull_up_12ma>, 966 <3 RK_PA5 1 &pcfg_pull_up_12ma>, 967 <3 RK_PA6 1 &pcfg_pull_up_12ma>, 968 <3 RK_PA7 1 &pcfg_pull_up_12ma>; 969 }; 970 }; 971 972 pwm0 { 973 pwm0_pin: pwm0-pin { 974 rockchip,pins = 975 <0 RK_PB5 1 &pcfg_pull_none>; 976 }; 977 }; 978 979 pwm1 { 980 pwm1_pin: pwm1-pin { 981 rockchip,pins = 982 <0 RK_PB6 1 &pcfg_pull_none>; 983 }; 984 }; 985 986 pwm2 { 987 pwm2_pin: pwm2-pin { 988 rockchip,pins = 989 <0 RK_PB7 1 &pcfg_pull_none>; 990 }; 991 }; 992 993 pwm3 { 994 pwm3_pin: pwm3-pin { 995 rockchip,pins = 996 <0 RK_PC0 1 &pcfg_pull_none>; 997 }; 998 }; 999 1000 gmac { 1001 rmii_pins: rmii-pins { 1002 rockchip,pins = 1003 /* mac_txen */ 1004 <1 RK_PC1 3 &pcfg_pull_none_12ma>, 1005 /* mac_txd1 */ 1006 <1 RK_PC3 3 &pcfg_pull_none_12ma>, 1007 /* mac_txd0 */ 1008 <1 RK_PC2 3 &pcfg_pull_none_12ma>, 1009 /* mac_rxd0 */ 1010 <1 RK_PC4 3 &pcfg_pull_none>, 1011 /* mac_rxd1 */ 1012 <1 RK_PC5 3 &pcfg_pull_none>, 1013 /* mac_rxer */ 1014 <1 RK_PB7 3 &pcfg_pull_none>, 1015 /* mac_rxdv */ 1016 <1 RK_PC0 3 &pcfg_pull_none>, 1017 /* mac_mdio */ 1018 <1 RK_PB6 3 &pcfg_pull_none>, 1019 /* mac_mdc */ 1020 <1 RK_PB5 3 &pcfg_pull_none>, 1021 /* mac_clk */ 1022 <1 RK_PB4 3 &pcfg_pull_none>; 1023 }; 1024 }; 1025 1026 lcdc { 1027 lcdc_ctl: lcdc-ctl { 1028 rockchip,pins = 1029 /* dclk */ 1030 <1 RK_PA0 RK_FUNC_1 &pcfg_pull_none>, 1031 /* hsync */ 1032 <1 RK_PA1 RK_FUNC_1 &pcfg_pull_none>, 1033 /* vsync */ 1034 <1 RK_PA2 RK_FUNC_1 &pcfg_pull_none>, 1035 /* den */ 1036 <1 RK_PA3 RK_FUNC_1 &pcfg_pull_none>, 1037 /* d0 */ 1038 <1 RK_PA4 RK_FUNC_1 &pcfg_pull_none>, 1039 /* d1 */ 1040 <1 RK_PA5 RK_FUNC_1 &pcfg_pull_none>, 1041 /* d2 */ 1042 <1 RK_PA6 RK_FUNC_1 &pcfg_pull_none>, 1043 /* d3 */ 1044 <1 RK_PA7 RK_FUNC_1 &pcfg_pull_none>, 1045 /* d4 */ 1046 <1 RK_PB0 RK_FUNC_1 &pcfg_pull_none>, 1047 /* d5 */ 1048 <1 RK_PB1 RK_FUNC_1 &pcfg_pull_none>, 1049 /* d6 */ 1050 <1 RK_PB2 RK_FUNC_1 &pcfg_pull_none>, 1051 /* d7 */ 1052 <1 RK_PB3 RK_FUNC_1 &pcfg_pull_none>, 1053 /* d8 */ 1054 <1 RK_PB4 RK_FUNC_1 &pcfg_pull_none>, 1055 /* d9 */ 1056 <1 RK_PB5 RK_FUNC_1 &pcfg_pull_none>, 1057 /* d10 */ 1058 <1 RK_PB6 RK_FUNC_1 &pcfg_pull_none>, 1059 /* d11 */ 1060 <1 RK_PB7 RK_FUNC_1 &pcfg_pull_none>, 1061 /* d12 */ 1062 <1 RK_PC0 RK_FUNC_1 &pcfg_pull_none>, 1063 /* d13 */ 1064 <1 RK_PC1 RK_FUNC_1 &pcfg_pull_none>, 1065 /* d14 */ 1066 <1 RK_PC2 RK_FUNC_1 &pcfg_pull_none>, 1067 /* d15 */ 1068 <1 RK_PC3 RK_FUNC_1 &pcfg_pull_none>, 1069 /* d16 */ 1070 <1 RK_PC4 RK_FUNC_1 &pcfg_pull_none>, 1071 /* d17 */ 1072 <1 RK_PC5 RK_FUNC_1 &pcfg_pull_none>; 1073 }; 1074 }; 1075 }; 1076}; 1077