1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3#include <dt-bindings/gpio/gpio.h> 4#include <dt-bindings/interrupt-controller/irq.h> 5#include <dt-bindings/interrupt-controller/arm-gic.h> 6#include <dt-bindings/clock/rv1108-cru.h> 7#include <dt-bindings/pinctrl/rockchip.h> 8#include <dt-bindings/thermal/thermal.h> 9/ { 10 #address-cells = <1>; 11 #size-cells = <1>; 12 13 compatible = "rockchip,rv1108"; 14 15 interrupt-parent = <&gic>; 16 17 aliases { 18 i2c0 = &i2c0; 19 i2c1 = &i2c1; 20 i2c2 = &i2c2; 21 i2c3 = &i2c3; 22 serial0 = &uart0; 23 serial1 = &uart1; 24 serial2 = &uart2; 25 }; 26 27 cpus { 28 #address-cells = <1>; 29 #size-cells = <0>; 30 31 cpu0: cpu@f00 { 32 device_type = "cpu"; 33 compatible = "arm,cortex-a7"; 34 reg = <0xf00>; 35 clocks = <&cru ARMCLK>; 36 #cooling-cells = <2>; /* min followed by max */ 37 dynamic-power-coefficient = <75>; 38 operating-points-v2 = <&cpu_opp_table>; 39 }; 40 }; 41 42 cpu_opp_table: opp_table { 43 compatible = "operating-points-v2"; 44 45 opp-408000000 { 46 opp-hz = /bits/ 64 <408000000>; 47 opp-microvolt = <975000>; 48 clock-latency-ns = <40000>; 49 }; 50 opp-600000000 { 51 opp-hz = /bits/ 64 <600000000>; 52 opp-microvolt = <975000>; 53 clock-latency-ns = <40000>; 54 }; 55 opp-816000000 { 56 opp-hz = /bits/ 64 <816000000>; 57 opp-microvolt = <1025000>; 58 clock-latency-ns = <40000>; 59 }; 60 opp-1008000000 { 61 opp-hz = /bits/ 64 <1008000000>; 62 opp-microvolt = <1150000>; 63 clock-latency-ns = <40000>; 64 }; 65 }; 66 67 arm-pmu { 68 compatible = "arm,cortex-a7-pmu"; 69 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 70 }; 71 72 timer { 73 compatible = "arm,armv7-timer"; 74 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>, 75 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 76 clock-frequency = <24000000>; 77 }; 78 79 xin24m: oscillator { 80 compatible = "fixed-clock"; 81 clock-frequency = <24000000>; 82 clock-output-names = "xin24m"; 83 #clock-cells = <0>; 84 }; 85 86 amba { 87 compatible = "simple-bus"; 88 #address-cells = <1>; 89 #size-cells = <1>; 90 ranges; 91 92 pdma: pdma@102a0000 { 93 compatible = "arm,pl330", "arm,primecell"; 94 reg = <0x102a0000 0x4000>; 95 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 96 #dma-cells = <1>; 97 arm,pl330-broken-no-flushp; 98 clocks = <&cru ACLK_DMAC>; 99 clock-names = "apb_pclk"; 100 }; 101 }; 102 103 bus_intmem@10080000 { 104 compatible = "mmio-sram"; 105 reg = <0x10080000 0x2000>; 106 #address-cells = <1>; 107 #size-cells = <1>; 108 ranges = <0 0x10080000 0x2000>; 109 }; 110 111 uart2: serial@10210000 { 112 compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart"; 113 reg = <0x10210000 0x100>; 114 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 115 reg-shift = <2>; 116 reg-io-width = <4>; 117 clock-frequency = <24000000>; 118 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 119 clock-names = "baudclk", "apb_pclk"; 120 pinctrl-names = "default"; 121 pinctrl-0 = <&uart2m0_xfer>; 122 status = "disabled"; 123 }; 124 125 uart1: serial@10220000 { 126 compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart"; 127 reg = <0x10220000 0x100>; 128 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 129 reg-shift = <2>; 130 reg-io-width = <4>; 131 clock-frequency = <24000000>; 132 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 133 clock-names = "baudclk", "apb_pclk"; 134 pinctrl-names = "default"; 135 pinctrl-0 = <&uart1_xfer>; 136 status = "disabled"; 137 }; 138 139 uart0: serial@10230000 { 140 compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart"; 141 reg = <0x10230000 0x100>; 142 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 143 reg-shift = <2>; 144 reg-io-width = <4>; 145 clock-frequency = <24000000>; 146 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 147 clock-names = "baudclk", "apb_pclk"; 148 pinctrl-names = "default"; 149 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 150 status = "disabled"; 151 }; 152 153 i2c1: i2c@10240000 { 154 compatible = "rockchip,rv1108-i2c"; 155 reg = <0x10240000 0x1000>; 156 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 157 #address-cells = <1>; 158 #size-cells = <0>; 159 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>; 160 clock-names = "i2c", "pclk"; 161 pinctrl-names = "default"; 162 pinctrl-0 = <&i2c1_xfer>; 163 rockchip,grf = <&grf>; 164 status = "disabled"; 165 }; 166 167 i2c2: i2c@10250000 { 168 compatible = "rockchip,rv1108-i2c"; 169 reg = <0x10250000 0x1000>; 170 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 171 #address-cells = <1>; 172 #size-cells = <0>; 173 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>; 174 clock-names = "i2c", "pclk"; 175 pinctrl-names = "default"; 176 pinctrl-0 = <&i2c2m1_xfer>; 177 rockchip,grf = <&grf>; 178 status = "disabled"; 179 }; 180 181 i2c3: i2c@10260000 { 182 compatible = "rockchip,rv1108-i2c"; 183 reg = <0x10260000 0x1000>; 184 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 185 #address-cells = <1>; 186 #size-cells = <0>; 187 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>; 188 clock-names = "i2c", "pclk"; 189 pinctrl-names = "default"; 190 pinctrl-0 = <&i2c3_xfer>; 191 rockchip,grf = <&grf>; 192 status = "disabled"; 193 }; 194 195 spi: spi@10270000 { 196 compatible = "rockchip,rv1108-spi"; 197 reg = <0x10270000 0x1000>; 198 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 199 clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>; 200 clock-names = "spiclk", "apb_pclk"; 201 dmas = <&pdma 8>, <&pdma 9>; 202 #dma-cells = <2>; 203 #address-cells = <1>; 204 #size-cells = <0>; 205 status = "disabled"; 206 }; 207 208 pwm4: pwm@10280000 { 209 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 210 reg = <0x10280000 0x10>; 211 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 212 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 213 clock-names = "pwm", "pclk"; 214 pinctrl-names = "default"; 215 pinctrl-0 = <&pwm4_pin>; 216 #pwm-cells = <3>; 217 status = "disabled"; 218 }; 219 220 pwm5: pwm@10280010 { 221 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 222 reg = <0x10280010 0x10>; 223 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 224 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 225 clock-names = "pwm", "pclk"; 226 pinctrl-names = "default"; 227 pinctrl-0 = <&pwm5_pin>; 228 #pwm-cells = <3>; 229 status = "disabled"; 230 }; 231 232 pwm6: pwm@10280020 { 233 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 234 reg = <0x10280020 0x10>; 235 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 236 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 237 clock-names = "pwm", "pclk"; 238 pinctrl-names = "default"; 239 pinctrl-0 = <&pwm6_pin>; 240 #pwm-cells = <3>; 241 status = "disabled"; 242 }; 243 244 pwm7: pwm@10280030 { 245 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 246 reg = <0x10280030 0x10>; 247 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 248 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 249 clock-names = "pwm", "pclk"; 250 pinctrl-names = "default"; 251 pinctrl-0 = <&pwm7_pin>; 252 #pwm-cells = <3>; 253 status = "disabled"; 254 }; 255 256 grf: syscon@10300000 { 257 compatible = "rockchip,rv1108-grf", "syscon", "simple-mfd"; 258 reg = <0x10300000 0x1000>; 259 #address-cells = <1>; 260 #size-cells = <1>; 261 262 u2phy: usb2-phy@100 { 263 compatible = "rockchip,rv1108-usb2phy"; 264 reg = <0x100 0x0c>; 265 clocks = <&cru SCLK_USBPHY>; 266 clock-names = "phyclk"; 267 #clock-cells = <0>; 268 clock-output-names = "usbphy"; 269 rockchip,usbgrf = <&usbgrf>; 270 status = "disabled"; 271 272 u2phy_otg: otg-port { 273 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 274 interrupt-names = "otg-mux"; 275 #phy-cells = <0>; 276 status = "disabled"; 277 }; 278 279 u2phy_host: host-port { 280 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 281 interrupt-names = "linestate"; 282 #phy-cells = <0>; 283 status = "disabled"; 284 }; 285 }; 286 }; 287 288 watchdog: wdt@10360000 { 289 compatible = "snps,dw-wdt"; 290 reg = <0x10360000 0x100>; 291 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 292 clocks = <&cru PCLK_WDT>; 293 clock-names = "pclk_wdt"; 294 status = "disabled"; 295 }; 296 297 thermal-zones { 298 soc_thermal: soc-thermal { 299 polling-delay-passive = <20>; 300 polling-delay = <1000>; 301 sustainable-power = <50>; 302 thermal-sensors = <&tsadc 0>; 303 304 trips { 305 threshold: trip-point0 { 306 temperature = <70000>; 307 hysteresis = <2000>; 308 type = "passive"; 309 }; 310 target: trip-point1 { 311 temperature = <85000>; 312 hysteresis = <2000>; 313 type = "passive"; 314 }; 315 soc_crit: soc-crit { 316 temperature = <95000>; 317 hysteresis = <2000>; 318 type = "critical"; 319 }; 320 }; 321 322 cooling-maps { 323 map0 { 324 trip = <&target>; 325 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 326 contribution = <4096>; 327 }; 328 }; 329 }; 330 }; 331 332 tsadc: tsadc@10370000 { 333 compatible = "rockchip,rv1108-tsadc"; 334 reg = <0x10370000 0x100>; 335 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 336 assigned-clocks = <&cru SCLK_TSADC>; 337 assigned-clock-rates = <750000>; 338 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 339 clock-names = "tsadc", "apb_pclk"; 340 pinctrl-names = "init", "default", "sleep"; 341 pinctrl-0 = <&otp_gpio>; 342 pinctrl-1 = <&otp_out>; 343 pinctrl-2 = <&otp_gpio>; 344 resets = <&cru SRST_TSADC>; 345 reset-names = "tsadc-apb"; 346 rockchip,hw-tshut-temp = <120000>; 347 #thermal-sensor-cells = <1>; 348 status = "disabled"; 349 }; 350 351 adc: adc@1038c000 { 352 compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc"; 353 reg = <0x1038c000 0x100>; 354 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 355 #io-channel-cells = <1>; 356 clock-frequency = <1000000>; 357 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 358 clock-names = "saradc", "apb_pclk"; 359 status = "disabled"; 360 }; 361 362 i2c0: i2c@20000000 { 363 compatible = "rockchip,rv1108-i2c"; 364 reg = <0x20000000 0x1000>; 365 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 366 #address-cells = <1>; 367 #size-cells = <0>; 368 clocks = <&cru SCLK_I2C0_PMU>, <&cru PCLK_I2C0_PMU>; 369 clock-names = "i2c", "pclk"; 370 pinctrl-names = "default"; 371 pinctrl-0 = <&i2c0_xfer>; 372 rockchip,grf = <&grf>; 373 status = "disabled"; 374 }; 375 376 pwm0: pwm@20040000 { 377 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 378 reg = <0x20040000 0x10>; 379 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 380 clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>; 381 clock-names = "pwm", "pclk"; 382 pinctrl-names = "default"; 383 pinctrl-0 = <&pwm0_pin>; 384 #pwm-cells = <3>; 385 status = "disabled"; 386 }; 387 388 pwm1: pwm@20040010 { 389 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 390 reg = <0x20040010 0x10>; 391 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 392 clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>; 393 clock-names = "pwm", "pclk"; 394 pinctrl-names = "default"; 395 pinctrl-0 = <&pwm1_pin>; 396 #pwm-cells = <3>; 397 status = "disabled"; 398 }; 399 400 pwm2: pwm@20040020 { 401 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 402 reg = <0x20040020 0x10>; 403 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 404 clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>; 405 clock-names = "pwm", "pclk"; 406 pinctrl-names = "default"; 407 pinctrl-0 = <&pwm2_pin>; 408 #pwm-cells = <3>; 409 status = "disabled"; 410 }; 411 412 pwm3: pwm@20040030 { 413 compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm"; 414 reg = <0x20040030 0x10>; 415 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 416 clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>; 417 clock-names = "pwm", "pclk"; 418 pinctrl-names = "default"; 419 pinctrl-0 = <&pwm3_pin>; 420 #pwm-cells = <3>; 421 status = "disabled"; 422 }; 423 424 pmugrf: syscon@20060000 { 425 compatible = "rockchip,rv1108-pmugrf", "syscon"; 426 reg = <0x20060000 0x1000>; 427 }; 428 429 usbgrf: syscon@202a0000 { 430 compatible = "rockchip,rv1108-usbgrf", "syscon"; 431 reg = <0x202a0000 0x1000>; 432 }; 433 434 cru: clock-controller@20200000 { 435 compatible = "rockchip,rv1108-cru"; 436 reg = <0x20200000 0x1000>; 437 rockchip,grf = <&grf>; 438 #clock-cells = <1>; 439 #reset-cells = <1>; 440 }; 441 442 emmc: dwmmc@30110000 { 443 compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc"; 444 reg = <0x30110000 0x4000>; 445 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 446 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 447 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 448 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 449 fifo-depth = <0x100>; 450 max-frequency = <150000000>; 451 status = "disabled"; 452 }; 453 454 sdio: dwmmc@30120000 { 455 compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc"; 456 reg = <0x30120000 0x4000>; 457 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 458 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 459 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 460 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 461 fifo-depth = <0x100>; 462 max-frequency = <150000000>; 463 status = "disabled"; 464 }; 465 466 sdmmc: dwmmc@30130000 { 467 compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc"; 468 reg = <0x30130000 0x4000>; 469 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 470 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 471 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 472 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 473 fifo-depth = <0x100>; 474 max-frequency = <100000000>; 475 pinctrl-names = "default"; 476 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 477 status = "disabled"; 478 }; 479 480 usb_host_ehci: usb@30140000 { 481 compatible = "generic-ehci"; 482 reg = <0x30140000 0x20000>; 483 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 484 clocks = <&cru HCLK_HOST0>, <&u2phy>; 485 clock-names = "usbhost", "utmi"; 486 phys = <&u2phy_host>; 487 phy-names = "usb"; 488 status = "disabled"; 489 }; 490 491 usb_host_ohci: usb@30160000 { 492 compatible = "generic-ohci"; 493 reg = <0x30160000 0x20000>; 494 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 495 clocks = <&cru HCLK_HOST0>, <&u2phy>; 496 clock-names = "usbhost", "utmi"; 497 phys = <&u2phy_host>; 498 phy-names = "usb"; 499 status = "disabled"; 500 }; 501 502 usb_otg: usb@30180000 { 503 compatible = "rockchip,rv1108-usb", "rockchip,rk3066-usb", 504 "snps,dwc2"; 505 reg = <0x30180000 0x40000>; 506 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 507 clocks = <&cru HCLK_OTG>; 508 clock-names = "otg"; 509 dr_mode = "otg"; 510 g-np-tx-fifo-size = <16>; 511 g-rx-fifo-size = <280>; 512 g-tx-fifo-size = <256 128 128 64 32 16>; 513 g-use-dma; 514 phys = <&u2phy_otg>; 515 phy-names = "usb2-phy"; 516 status = "disabled"; 517 }; 518 519 gic: interrupt-controller@32010000 { 520 compatible = "arm,gic-400"; 521 interrupt-controller; 522 #interrupt-cells = <3>; 523 #address-cells = <0>; 524 525 reg = <0x32011000 0x1000>, 526 <0x32012000 0x2000>, 527 <0x32014000 0x2000>, 528 <0x32016000 0x2000>; 529 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 530 }; 531 532 pinctrl: pinctrl { 533 compatible = "rockchip,rv1108-pinctrl"; 534 rockchip,grf = <&grf>; 535 rockchip,pmu = <&pmugrf>; 536 #address-cells = <1>; 537 #size-cells = <1>; 538 ranges; 539 540 gpio0: gpio0@20030000 { 541 compatible = "rockchip,gpio-bank"; 542 reg = <0x20030000 0x100>; 543 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 544 clocks = <&xin24m>; 545 546 gpio-controller; 547 #gpio-cells = <2>; 548 549 interrupt-controller; 550 #interrupt-cells = <2>; 551 }; 552 553 gpio1: gpio1@10310000 { 554 compatible = "rockchip,gpio-bank"; 555 reg = <0x10310000 0x100>; 556 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 557 clocks = <&xin24m>; 558 559 gpio-controller; 560 #gpio-cells = <2>; 561 562 interrupt-controller; 563 #interrupt-cells = <2>; 564 }; 565 566 gpio2: gpio2@10320000 { 567 compatible = "rockchip,gpio-bank"; 568 reg = <0x10320000 0x100>; 569 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 570 clocks = <&xin24m>; 571 572 gpio-controller; 573 #gpio-cells = <2>; 574 575 interrupt-controller; 576 #interrupt-cells = <2>; 577 }; 578 579 gpio3: gpio3@10330000 { 580 compatible = "rockchip,gpio-bank"; 581 reg = <0x10330000 0x100>; 582 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 583 clocks = <&xin24m>; 584 585 gpio-controller; 586 #gpio-cells = <2>; 587 588 interrupt-controller; 589 #interrupt-cells = <2>; 590 }; 591 592 pcfg_pull_up: pcfg-pull-up { 593 bias-pull-up; 594 }; 595 596 pcfg_pull_down: pcfg-pull-down { 597 bias-pull-down; 598 }; 599 600 pcfg_pull_none: pcfg-pull-none { 601 bias-disable; 602 }; 603 604 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 605 drive-strength = <8>; 606 }; 607 608 pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma { 609 drive-strength = <12>; 610 }; 611 612 pcfg_pull_none_smt: pcfg-pull-none-smt { 613 bias-disable; 614 input-schmitt-enable; 615 }; 616 617 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 618 bias-pull-up; 619 drive-strength = <8>; 620 }; 621 622 pcfg_pull_none_drv_4ma: pcfg-pull-none-drv-4ma { 623 drive-strength = <4>; 624 }; 625 626 pcfg_pull_up_drv_4ma: pcfg-pull-up-drv-4ma { 627 bias-pull-up; 628 drive-strength = <4>; 629 }; 630 631 pcfg_output_high: pcfg-output-high { 632 output-high; 633 }; 634 635 pcfg_output_low: pcfg-output-low { 636 output-low; 637 }; 638 639 pcfg_input_high: pcfg-input-high { 640 bias-pull-up; 641 input-enable; 642 }; 643 644 i2c0 { 645 i2c0_xfer: i2c0-xfer { 646 rockchip,pins = <0 RK_PB1 RK_FUNC_1 &pcfg_pull_none_smt>, 647 <0 RK_PB2 RK_FUNC_1 &pcfg_pull_none_smt>; 648 }; 649 }; 650 651 i2c1 { 652 i2c1_xfer: i2c1-xfer { 653 rockchip,pins = <2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>, 654 <2 RK_PD4 RK_FUNC_1 &pcfg_pull_up>; 655 }; 656 }; 657 658 i2c2m1 { 659 i2c2m1_xfer: i2c2m1-xfer { 660 rockchip,pins = <0 RK_PC2 RK_FUNC_2 &pcfg_pull_none>, 661 <0 RK_PC6 RK_FUNC_3 &pcfg_pull_none>; 662 }; 663 664 i2c2m1_gpio: i2c2m1-gpio { 665 rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>, 666 <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 667 }; 668 }; 669 670 i2c2m05v { 671 i2c2m05v_xfer: i2c2m05v-xfer { 672 rockchip,pins = <1 RK_PD5 RK_FUNC_2 &pcfg_pull_none>, 673 <1 RK_PD4 RK_FUNC_2 &pcfg_pull_none>; 674 }; 675 676 i2c2m05v_gpio: i2c2m05v-gpio { 677 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>, 678 <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 679 }; 680 }; 681 682 i2c3 { 683 i2c3_xfer: i2c3-xfer { 684 rockchip,pins = <0 RK_PB6 RK_FUNC_1 &pcfg_pull_none>, 685 <0 RK_PC4 RK_FUNC_2 &pcfg_pull_none>; 686 }; 687 }; 688 689 pwm0 { 690 pwm0_pin: pwm0-pin { 691 rockchip,pins = <0 RK_PC5 RK_FUNC_1 &pcfg_pull_none>; 692 }; 693 }; 694 695 pwm1 { 696 pwm1_pin: pwm1-pin { 697 rockchip,pins = <0 RK_PC4 RK_FUNC_1 &pcfg_pull_none>; 698 }; 699 }; 700 701 pwm2 { 702 pwm2_pin: pwm2-pin { 703 rockchip,pins = <0 RK_PC6 RK_FUNC_1 &pcfg_pull_none>; 704 }; 705 }; 706 707 pwm3 { 708 pwm3_pin: pwm3-pin { 709 rockchip,pins = <0 RK_PC0 RK_FUNC_1 &pcfg_pull_none>; 710 }; 711 }; 712 713 pwm4 { 714 pwm4_pin: pwm4-pin { 715 rockchip,pins = <1 RK_PC1 RK_FUNC_3 &pcfg_pull_none>; 716 }; 717 }; 718 719 pwm5 { 720 pwm5_pin: pwm5-pin { 721 rockchip,pins = <1 RK_PA7 RK_FUNC_2 &pcfg_pull_none>; 722 }; 723 }; 724 725 pwm6 { 726 pwm6_pin: pwm6-pin { 727 rockchip,pins = <1 RK_PB0 RK_FUNC_2 &pcfg_pull_none>; 728 }; 729 }; 730 731 pwm7 { 732 pwm7_pin: pwm7-pin { 733 rockchip,pins = <1 RK_PB1 RK_FUNC_2 &pcfg_pull_none>; 734 }; 735 }; 736 737 sdmmc { 738 sdmmc_clk: sdmmc-clk { 739 rockchip,pins = <3 RK_PC4 RK_FUNC_1 &pcfg_pull_none_drv_4ma>; 740 }; 741 742 sdmmc_cmd: sdmmc-cmd { 743 rockchip,pins = <3 RK_PC5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>; 744 }; 745 746 sdmmc_cd: sdmmc-cd { 747 rockchip,pins = <0 RK_PA1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>; 748 }; 749 750 sdmmc_bus1: sdmmc-bus1 { 751 rockchip,pins = <3 RK_PC3 RK_FUNC_1 &pcfg_pull_up_drv_4ma>; 752 }; 753 754 sdmmc_bus4: sdmmc-bus4 { 755 rockchip,pins = <3 RK_PC3 RK_FUNC_1 &pcfg_pull_up_drv_4ma>, 756 <3 RK_PC2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>, 757 <3 RK_PC1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>, 758 <3 RK_PC0 RK_FUNC_1 &pcfg_pull_up_drv_4ma>; 759 }; 760 }; 761 762 tsadc { 763 otp_out: otp-out { 764 rockchip,pins = <0 RK_PB7 RK_FUNC_1 &pcfg_pull_none>; 765 }; 766 767 otp_gpio: otp-gpio { 768 rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 769 }; 770 }; 771 772 uart0 { 773 uart0_xfer: uart0-xfer { 774 rockchip,pins = <3 RK_PA6 RK_FUNC_1 &pcfg_pull_up>, 775 <3 RK_PA5 RK_FUNC_1 &pcfg_pull_none>; 776 }; 777 778 uart0_cts: uart0-cts { 779 rockchip,pins = <3 RK_PA4 RK_FUNC_1 &pcfg_pull_none>; 780 }; 781 782 uart0_rts: uart0-rts { 783 rockchip,pins = <3 RK_PA3 RK_FUNC_1 &pcfg_pull_none>; 784 }; 785 786 uart0_rts_gpio: uart0-rts-gpio { 787 rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 788 }; 789 }; 790 791 uart1 { 792 uart1_xfer: uart1-xfer { 793 rockchip,pins = <1 RK_PD3 RK_FUNC_1 &pcfg_pull_up>, 794 <1 RK_PD2 RK_FUNC_1 &pcfg_pull_none>; 795 }; 796 797 uart1_cts: uart1-cts { 798 rockchip,pins = <1 RK_PD0 RK_FUNC_1 &pcfg_pull_none>; 799 }; 800 801 uart1_rts: uart1-rts { 802 rockchip,pins = <1 RK_PD1 RK_FUNC_1 &pcfg_pull_none>; 803 }; 804 }; 805 806 uart2m0 { 807 uart2m0_xfer: uart2m0-xfer { 808 rockchip,pins = <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up>, 809 <2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>; 810 }; 811 }; 812 813 uart2m1 { 814 uart2m1_xfer: uart2m1-xfer { 815 rockchip,pins = <3 RK_PC3 RK_FUNC_2 &pcfg_pull_up>, 816 <3 RK_PC2 RK_FUNC_2 &pcfg_pull_none>; 817 }; 818 }; 819 820 uart2_5v { 821 uart2_5v_cts: uart2_5v-cts { 822 rockchip,pins = <1 RK_PD4 RK_FUNC_1 &pcfg_pull_none>; 823 }; 824 825 uart2_5v_rts: uart2_5v-rts { 826 rockchip,pins = <1 RK_PD5 RK_FUNC_1 &pcfg_pull_none>; 827 }; 828 }; 829 }; 830}; 831