1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 */ 5 6#include <dt-bindings/clock/rk3568-cru.h> 7#include <dt-bindings/interrupt-controller/arm-gic.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9#include <dt-bindings/pinctrl/rockchip.h> 10#include <dt-bindings/power/rk3568-power.h> 11 12/ { 13 compatible = "rockchip,rk3568"; 14 15 interrupt-parent = <&gic>; 16 #address-cells = <2>; 17 #size-cells = <2>; 18 19 aliases { 20 i2c0 = &i2c0; 21 i2c1 = &i2c1; 22 i2c2 = &i2c2; 23 i2c3 = &i2c3; 24 i2c4 = &i2c4; 25 i2c5 = &i2c5; 26 serial0 = &uart0; 27 serial1 = &uart1; 28 serial2 = &uart2; 29 serial3 = &uart3; 30 serial4 = &uart4; 31 serial5 = &uart5; 32 serial6 = &uart6; 33 serial7 = &uart7; 34 serial8 = &uart8; 35 serial9 = &uart9; 36 spi0 = &spi0; 37 spi1 = &spi1; 38 spi2 = &spi2; 39 spi3 = &spi3; 40 }; 41 42 cpus { 43 #address-cells = <2>; 44 #size-cells = <0>; 45 46 cpu0: cpu@0 { 47 device_type = "cpu"; 48 compatible = "arm,cortex-a55"; 49 reg = <0x0 0x0>; 50 enable-method = "psci"; 51 }; 52#if 0 53 cpu1: cpu@100 { 54 device_type = "cpu"; 55 compatible = "arm,cortex-a55"; 56 reg = <0x0 0x100>; 57 enable-method = "psci"; 58 }; 59 60 cpu2: cpu@200 { 61 device_type = "cpu"; 62 compatible = "arm,cortex-a55"; 63 reg = <0x0 0x200>; 64 enable-method = "psci"; 65 }; 66 67 cpu3: cpu@300 { 68 device_type = "cpu"; 69 compatible = "arm,cortex-a55"; 70 reg = <0x0 0x300>; 71 enable-method = "psci"; 72 }; 73#endif 74 }; 75 76#if 0 77 arm-pmu { 78 compatible = "arm,cortex-a55-pmu", "arm,armv8-pmuv3"; 79 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>, 80 <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>, 81 <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>, 82 <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>; 83 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 84 }; 85#endif 86 87 psci { 88 compatible = "arm,psci-1.0"; 89 method = "smc"; 90 }; 91 92 timer { 93 compatible = "arm,armv8-timer"; 94 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 95 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 96 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 97 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 98 }; 99 100 xin24m: xin24m { 101 compatible = "fixed-clock"; 102 #clock-cells = <0>; 103 clock-frequency = <24000000>; 104 clock-output-names = "xin24m"; 105 }; 106 107 usbdrd30: usbdrd { 108 compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3"; 109 clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>, 110 <&cru ACLK_USB3OTG0>; 111 clock-names = "ref_clk", "suspend_clk", 112 "bus_clk"; 113 #address-cells = <2>; 114 #size-cells = <2>; 115 ranges; 116 status = "disabled"; 117 118 usbdrd_dwc3: dwc3@fcc00000 { 119 compatible = "snps,dwc3"; 120 reg = <0x0 0xfcc00000 0x0 0x400000>; 121 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 122 dr_mode = "otg"; 123 phy_type = "utmi_wide"; 124 power-domains = <&power RK3568_PD_PIPE>; 125 resets = <&cru SRST_USB3OTG0>; 126 reset-names = "usb3-otg"; 127 snps,dis_enblslpm_quirk; 128 snps,dis-u2-freeclk-exists-quirk; 129 snps,dis_u2_susphy_quirk; 130 snps,dis-del-phy-power-chg-quirk; 131 snps,dis-tx-ipgap-linecheck-quirk; 132 snps,xhci-trb-ent-quirk; 133 status = "disabled"; 134 }; 135 }; 136 137 usbhost30: usbhost { 138 compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3"; 139 clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>, 140 <&cru ACLK_USB3OTG1>; 141 clock-names = "ref_clk", "suspend_clk", 142 "bus_clk"; 143 #address-cells = <2>; 144 #size-cells = <2>; 145 ranges; 146 status = "disabled"; 147 148 usbhost_dwc3: dwc3@fd000000 { 149 compatible = "snps,dwc3"; 150 reg = <0x0 0xfd000000 0x0 0x400000>; 151 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 152 dr_mode = "host"; 153 phy_type = "utmi_wide"; 154 power-domains = <&power RK3568_PD_PIPE>; 155 resets = <&cru SRST_USB3OTG1>; 156 reset-names = "usb3-host"; 157 snps,dis_enblslpm_quirk; 158 snps,dis-u2-freeclk-exists-quirk; 159 snps,dis_u2_susphy_quirk; 160 snps,dis-del-phy-power-chg-quirk; 161 snps,dis-tx-ipgap-linecheck-quirk; 162 snps,xhci-trb-ent-quirk; 163 status = "disabled"; 164 }; 165 }; 166 167 gic: interrupt-controller@fd400000 { 168 compatible = "arm,gic-v3"; 169 #interrupt-cells = <3>; 170 #address-cells = <2>; 171 #size-cells = <2>; 172 ranges; 173 interrupt-controller; 174 175 reg = <0x0 0xfd400000 0 0x10000>, /* GICD */ 176 <0x0 0xfd460000 0 0xc0000>; /* GICR */ 177 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 178 its: interrupt-controller@fd440000 { 179 compatible = "arm,gic-v3-its"; 180 msi-controller; 181 reg = <0x0 0xfd440000 0x0 0x20000>; 182 }; 183 }; 184 185 usb_host0_ehci: usb@fd800000 { 186 compatible = "generic-ehci"; 187 reg = <0x0 0xfd800000 0x0 0x40000>; 188 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 189 clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>; 190 clock-names = "usbhost", "arbiter"; 191 status = "disabled"; 192 }; 193 194 usb_host0_ohci: usb@fd840000 { 195 compatible = "generic-ohci"; 196 reg = <0x0 0xfd840000 0x0 0x40000>; 197 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 198 clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>; 199 clock-names = "usbhost", "arbiter"; 200 status = "disabled"; 201 }; 202 203 usb_host1_ehci: usb@fd880000 { 204 compatible = "generic-ehci"; 205 reg = <0x0 0xfd880000 0x0 0x40000>; 206 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 207 clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>; 208 clock-names = "usbhost", "arbiter"; 209 status = "disabled"; 210 }; 211 212 usb_host1_ohci: usb@fd8c0000 { 213 compatible = "generic-ohci"; 214 reg = <0x0 0xfd8c0000 0x0 0x40000>; 215 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 216 clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>; 217 clock-names = "usbhost", "arbiter"; 218 status = "disabled"; 219 }; 220 221 pmugrf: syscon@fdc20000 { 222 compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd"; 223 reg = <0x0 0xfdc20000 0x0 0x10000>; 224 225 pmu_io_domains: io-domains { 226 compatible = "rockchip,rk3568-pmu-io-voltage-domain"; 227 status = "disabled"; 228 }; 229 }; 230 231 pipegrf: syscon@fdc50000 { 232 compatible = "rockchip,rk3568-pipegrf", "syscon"; 233 reg = <0x0 0xfdc50000 0x0 0x1000>; 234 }; 235 236 grf: syscon@fdc60000 { 237 compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd"; 238 reg = <0x0 0xfdc60000 0x0 0x10000>; 239 240 io_domains: io-domains { 241 compatible = "rockchip,rk3568-io-voltage-domain"; 242 status = "disabled"; 243 }; 244 }; 245 246 pipe_phy_grf0: syscon@fdc70000 { 247 compatible = "rockchip,pipe-phy-grf", "syscon"; 248 reg = <0x0 0xfdc70000 0x0 0x1000>; 249 }; 250 251 pipe_phy_grf1: syscon@fdc80000 { 252 compatible = "rockchip,pipe-phy-grf", "syscon"; 253 reg = <0x0 0xfdc80000 0x0 0x1000>; 254 }; 255 256 pipe_phy_grf2: syscon@fdc90000 { 257 compatible = "rockchip,pipe-phy-grf", "syscon"; 258 reg = <0x0 0xfdc90000 0x0 0x1000>; 259 }; 260 261 pmucru: clock-controller@fdd00000 { 262 compatible = "rockchip,rk3568-pmucru"; 263 reg = <0x0 0xfdd00000 0x0 0x1000>; 264 rockchip,grf = <&grf>; 265 #clock-cells = <1>; 266 #reset-cells = <1>; 267 }; 268 269 cru: clock-controller@fdd20000 { 270 compatible = "rockchip,rk3568-cru"; 271 reg = <0x0 0xfdd20000 0x0 0x1000>; 272 rockchip,grf = <&grf>; 273 #clock-cells = <1>; 274 #reset-cells = <1>; 275 276 assigned-clocks = 277 <&pmucru CLK_RTC_32K>, <&pmucru PLL_PPLL>, 278 <&pmucru PCLK_PMU>, <&cru PLL_CPLL>, 279 <&cru PLL_GPLL>, <&cru ARMCLK>, 280 <&cru ACLK_BUS>, <&cru PCLK_BUS>, 281 <&cru ACLK_TOP_HIGH>, <&cru ACLK_TOP_LOW>, 282 <&cru HCLK_TOP>, <&cru PCLK_TOP>, 283 <&cru ACLK_PERIMID>, <&cru HCLK_PERIMID>; 284 assigned-clock-rates = 285 <32768>, <100000000>, 286 <100000000>, <1000000000>, 287 <1188000000>, <600000000>, 288 <150000000>, <100000000>, 289 <300000000>, <200000000>, 290 <150000000>, <100000000>, 291 <300000000>, <150000000>; 292 assigned-clock-parents = 293 <&pmucru CLK_RTC32K_FRAC>; 294 }; 295 296 i2c0: i2c@fdd40000 { 297 compatible = "rockchip,rk3399-i2c"; 298 reg = <0x0 0xfdd40000 0x0 0x1000>; 299 clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>; 300 clock-names = "i2c", "pclk"; 301 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 302 pinctrl-names = "default"; 303 pinctrl-0 = <&i2c0_xfer>; 304 #address-cells = <1>; 305 #size-cells = <0>; 306 status = "disabled"; 307 }; 308 309 uart0: serial@fdd50000 { 310 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 311 reg = <0x0 0xfdd50000 0x0 0x100>; 312 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 313 clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>; 314 clock-names = "baudclk", "apb_pclk"; 315 reg-shift = <2>; 316 reg-io-width = <4>; 317 dmas = <&dmac0 0>, <&dmac0 1>; 318 pinctrl-names = "default"; 319 pinctrl-0 = <&uart0_xfer>; 320 status = "disabled"; 321 }; 322 323 pwm0: pwm@fdd70000 { 324 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 325 reg = <0x0 0xfdd70000 0x0 0x10>; 326 #pwm-cells = <3>; 327 pinctrl-names = "active"; 328 pinctrl-0 = <&pwm0m0_pins>; 329 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 330 clock-names = "pwm", "pclk"; 331 status = "disabled"; 332 }; 333 334 pwm1: pwm@fdd70010 { 335 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 336 reg = <0x0 0xfdd70010 0x0 0x10>; 337 #pwm-cells = <3>; 338 pinctrl-names = "active"; 339 pinctrl-0 = <&pwm1m0_pins>; 340 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 341 clock-names = "pwm", "pclk"; 342 status = "disabled"; 343 }; 344 345 pwm2: pwm@fdd70020 { 346 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 347 reg = <0x0 0xfdd70020 0x0 0x10>; 348 #pwm-cells = <3>; 349 pinctrl-names = "active"; 350 pinctrl-0 = <&pwm2m0_pins>; 351 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 352 clock-names = "pwm", "pclk"; 353 status = "disabled"; 354 }; 355 356 pwm3: pwm@fdd70030 { 357 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 358 reg = <0x0 0xfdd70030 0x0 0x10>; 359 #pwm-cells = <3>; 360 pinctrl-names = "active"; 361 pinctrl-0 = <&pwm3_pins>; 362 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 363 clock-names = "pwm", "pclk"; 364 status = "disabled"; 365 }; 366 367 pmu: power-management@fdd90000 { 368 compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd"; 369 reg = <0x0 0xfdd90000 0x0 0x1000>; 370 371 power: power-controller { 372 compatible = "rockchip,rk3568-power-controller"; 373 #power-domain-cells = <1>; 374 #address-cells = <1>; 375 #size-cells = <0>; 376 status = "okay"; 377 378 /* These power domains are grouped by VD_NPU */ 379 pd_npu@RK3568_PD_NPU { 380 reg = <RK3568_PD_NPU>; 381 pm_qos = <&qos_npu>; 382 }; 383 /* These power domains are grouped by VD_GPU */ 384 pd_gpu@RK3568_PD_GPU { 385 reg = <RK3568_PD_GPU>; 386 pm_qos = <&qos_gpu>; 387 }; 388 /* These power domains are grouped by VD_LOGIC */ 389 pd_vi@RK3568_PD_VI { 390 reg = <RK3568_PD_VI>; 391 pm_qos = <&qos_isp>, 392 <&qos_vicap0>, 393 <&qos_vicap1>; 394 }; 395 pd_vo@RK3568_PD_VO { 396 reg = <RK3568_PD_VO>; 397 pm_qos = <&qos_hdcp>, 398 <&qos_vop_m0>, 399 <&qos_vop_m1>; 400 }; 401 pd_rga@RK3568_PD_RGA { 402 reg = <RK3568_PD_RGA>; 403 pm_qos = <&qos_ebc>, 404 <&qos_iep>, 405 <&qos_jpeg_dec>, 406 <&qos_jpeg_enc>, 407 <&qos_rga_rd>, 408 <&qos_rga_wr>; 409 }; 410 pd_vpu@RK3568_PD_VPU { 411 reg = <RK3568_PD_VPU>; 412 pm_qos = <&qos_vpu>; 413 }; 414 pd_rkvdec@RK3568_PD_RKVDEC { 415 reg = <RK3568_PD_RKVDEC>; 416 pm_qos = <&qos_rkvdec>; 417 }; 418 pd_rkvenc@RK3568_PD_RKVENC { 419 reg = <RK3568_PD_RKVENC>; 420 pm_qos = <&qos_rkvenc_rd_m0>, 421 <&qos_rkvenc_rd_m1>, 422 <&qos_rkvenc_wr_m0>; 423 }; 424 pd_pipe@RK3568_PD_PIPE { 425 reg = <RK3568_PD_PIPE>; 426 pm_qos = <&qos_pcie2x1>, 427 <&qos_pcie3x1>, 428 <&qos_pcie3x2>, 429 <&qos_sata0>, 430 <&qos_sata1>, 431 <&qos_sata2>, 432 <&qos_usb3_0>, 433 <&qos_usb3_1>; 434 }; 435 }; 436 }; 437 438 gpu: gpu@fde60000 { 439 compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard"; 440 reg = <0x0 0xfde60000 0x0 0x4000>; 441 442 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 443 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 444 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 445 interrupt-names = "GPU", "MMU", "JOB"; 446 447 upthreshold = <40>; 448 downdifferential = <10>; 449 450 clocks = <&cru CLK_GPU>; 451 clock-names = "clk_mali"; 452 power-domains = <&power RK3568_PD_GPU>; 453 #cooling-cells = <2>; 454 operating-points-v2 = <&gpu_opp_table>; 455 456 status = "disabled"; 457 power_model { 458 compatible = "arm,mali-simple-power-model"; 459 static-coefficient = <411000>; 460 dynamic-coefficient = <733>; 461 ts = <32000 4700 (-80) 2>; 462 thermal-zone = "gpu-thermal"; 463 }; 464 }; 465 466 gpu_opp_table: opp-table2 { 467 compatible = "operating-points-v2"; 468 469 opp-200000000 { 470 opp-hz = /bits/ 64 <200000000>; 471 opp-microvolt = <1000000>; 472 }; 473 opp-300000000 { 474 opp-hz = /bits/ 64 <300000000>; 475 opp-microvolt = <1000000>; 476 }; 477 opp-400000000 { 478 opp-hz = /bits/ 64 <400000000>; 479 opp-microvolt = <1000000>; 480 }; 481 opp-600000000 { 482 opp-hz = /bits/ 64 <600000000>; 483 opp-microvolt = <1000000>; 484 }; 485 }; 486 487 qos_gpu: qos@fe128000 { 488 compatible = "syscon"; 489 reg = <0x0 0xfe128000 0x0 0x20>; 490 }; 491 492 qos_rkvenc_rd_m0: qos@fe138080 { 493 compatible = "syscon"; 494 reg = <0x0 0xfe138080 0x0 0x20>; 495 }; 496 497 qos_rkvenc_rd_m1: qos@fe138100 { 498 compatible = "syscon"; 499 reg = <0x0 0xfe138100 0x0 0x20>; 500 }; 501 502 qos_rkvenc_wr_m0: qos@fe138180 { 503 compatible = "syscon"; 504 reg = <0x0 0xfe138180 0x0 0x20>; 505 }; 506 507 qos_isp: qos@fe148000 { 508 compatible = "syscon"; 509 reg = <0x0 0xfe148000 0x0 0x20>; 510 }; 511 512 qos_vicap0: qos@fe148080 { 513 compatible = "syscon"; 514 reg = <0x0 0xfe148080 0x0 0x20>; 515 }; 516 517 qos_vicap1: qos@fe148100 { 518 compatible = "syscon"; 519 reg = <0x0 0xfe148100 0x0 0x20>; 520 }; 521 522 qos_vpu: qos@fe150000 { 523 compatible = "syscon"; 524 reg = <0x0 0xfe150000 0x0 0x20>; 525 }; 526 527 qos_ebc: qos@fe158000 { 528 compatible = "syscon"; 529 reg = <0x0 0xfe158000 0x0 0x20>; 530 }; 531 532 qos_iep: qos@fe158100 { 533 compatible = "syscon"; 534 reg = <0x0 0xfe158100 0x0 0x20>; 535 }; 536 537 qos_jpeg_dec: qos@fe158180 { 538 compatible = "syscon"; 539 reg = <0x0 0xfe158180 0x0 0x20>; 540 }; 541 542 qos_jpeg_enc: qos@fe158200 { 543 compatible = "syscon"; 544 reg = <0x0 0xfe158200 0x0 0x20>; 545 }; 546 547 qos_rga_rd: qos@fe158280 { 548 compatible = "syscon"; 549 reg = <0x0 0xfe158280 0x0 0x20>; 550 }; 551 552 qos_rga_wr: qos@fe158300 { 553 compatible = "syscon"; 554 reg = <0x0 0xfe158300 0x0 0x20>; 555 }; 556 557 qos_npu: qos@fe180000 { 558 compatible = "syscon"; 559 reg = <0x0 0xfe180000 0x0 0x20>; 560 }; 561 562 qos_pcie2x1: qos@fe190000 { 563 compatible = "syscon"; 564 reg = <0x0 0xfe190000 0x0 0x20>; 565 }; 566 567 qos_pcie3x1: qos@fe190080 { 568 compatible = "syscon"; 569 reg = <0x0 0xfe190080 0x0 0x20>; 570 }; 571 572 qos_pcie3x2: qos@fe190100 { 573 compatible = "syscon"; 574 reg = <0x0 0xfe190100 0x0 0x20>; 575 }; 576 577 qos_sata0: qos@fe190200 { 578 compatible = "syscon"; 579 reg = <0x0 0xfe190200 0x0 0x20>; 580 }; 581 582 qos_sata1: qos@fe190280 { 583 compatible = "syscon"; 584 reg = <0x0 0xfe190280 0x0 0x20>; 585 }; 586 587 qos_sata2: qos@fe190300 { 588 compatible = "syscon"; 589 reg = <0x0 0xfe190300 0x0 0x20>; 590 }; 591 592 qos_usb3_0: qos@fe190380 { 593 compatible = "syscon"; 594 reg = <0x0 0xfe190380 0x0 0x20>; 595 }; 596 597 qos_usb3_1: qos@fe190400 { 598 compatible = "syscon"; 599 reg = <0x0 0xfe190400 0x0 0x20>; 600 }; 601 602 qos_rkvdec: qos@fe198000 { 603 compatible = "syscon"; 604 reg = <0x0 0xfe198000 0x0 0x20>; 605 }; 606 607 qos_hdcp: qos@fe1a8000 { 608 compatible = "syscon"; 609 reg = <0x0 0xfe1a8000 0x0 0x20>; 610 }; 611 612 qos_vop_m0: qos@fe1a8080 { 613 compatible = "syscon"; 614 reg = <0x0 0xfe1a8080 0x0 0x20>; 615 }; 616 617 qos_vop_m1: qos@fe1a8100 { 618 compatible = "syscon"; 619 reg = <0x0 0xfe1a8100 0x0 0x20>; 620 }; 621 622 sdmmc2: dwmmc@fe000000 { 623 compatible = "rockchip,rk3568-dw-mshc", 624 "rockchip,rk3288-dw-mshc"; 625 reg = <0x0 0xfe000000 0x0 0x4000>; 626 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 627 max-frequency = <150000000>; 628 clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>, 629 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>; 630 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 631 fifo-depth = <0x100>; 632 resets = <&cru SRST_SDMMC2>; 633 reset-names = "reset"; 634 status = "disabled"; 635 }; 636 637 sdmmc0: dwmmc@fe2b0000 { 638 compatible = "rockchip,rk3568-dw-mshc", 639 "rockchip,rk3288-dw-mshc"; 640 reg = <0x0 0xfe2b0000 0x0 0x4000>; 641 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 642 max-frequency = <150000000>; 643 clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>, 644 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>; 645 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 646 fifo-depth = <0x100>; 647 resets = <&cru SRST_SDMMC0>; 648 reset-names = "reset"; 649 status = "disabled"; 650 }; 651 652 sdmmc1: dwmmc@fe2c0000 { 653 compatible = "rockchip,rk3568-dw-mshc", 654 "rockchip,rk3288-dw-mshc"; 655 reg = <0x0 0xfe2c0000 0x0 0x4000>; 656 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 657 max-frequency = <150000000>; 658 clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>, 659 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>; 660 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 661 fifo-depth = <0x100>; 662 resets = <&cru SRST_SDMMC1>; 663 reset-names = "reset"; 664 status = "disabled"; 665 }; 666 667 sfc: sfc@fe300000 { 668 compatible = "rockchip,sfc"; 669 reg = <0x0 0xfe300000 0x0 0x4000>; 670 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 671 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 672 clock-names = "clk_sfc", "hclk_sfc"; 673 assigned-clocks = <&cru SCLK_SFC>; 674 assigned-clock-rates = <100000000>; 675 status = "disabled"; 676 }; 677 678 sdhci: sdhci@fe310000 { 679 compatible = "rockchip,dwcmshc-sdhci", "snps,dwcmshc-sdhci"; 680 reg = <0x0 0xfe310000 0x0 0x10000>; 681 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 682 assigned-clocks = <&cru CCLK_EMMC>, <&cru BCLK_EMMC>, <&cru TCLK_EMMC>; 683 assigned-clock-rates = <200000000>, <200000000>, <24000000>; 684 clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>, 685 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 686 <&cru TCLK_EMMC>; 687 clock-names = "core", "bus", "axi", "block", "timer"; 688 status = "disabled"; 689 }; 690 691 nandc0: nandc@fe330000 { 692 compatible = "rockchip,rk-nandc"; 693 reg = <0x0 0xfe330000 0x0 0x4000>; 694 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 695 nandc_id = <0>; 696 clocks = <&cru NCLK_NANDC>, <&cru HCLK_NANDC>; 697 clock-names = "clk_nandc", "hclk_nandc"; 698 status = "disabled"; 699 }; 700 701 i2s0_8ch: i2s@fe400000 { 702 compatible = "rockchip,rk3568-i2s-tdm"; 703 reg = <0x0 0xfe400000 0x0 0x1000>; 704 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 705 clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>; 706 clock-names = "mclk_tx", "mclk_rx", "hclk"; 707 dmas = <&dmac1 0>; 708 dma-names = "tx"; 709 resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>; 710 reset-names = "tx-m", "rx-m"; 711 rockchip,cru = <&cru>; 712 rockchip,grf = <&grf>; 713 rockchip,playback-only; 714 status = "disabled"; 715 }; 716 717 i2s1_8ch: i2s@fe410000 { 718 compatible = "rockchip,rk3568-i2s-tdm"; 719 reg = <0x0 0xfe410000 0x0 0x1000>; 720 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 721 clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>; 722 clock-names = "mclk_tx", "mclk_rx", "hclk"; 723 dmas = <&dmac1 2>, <&dmac1 3>; 724 dma-names = "tx", "rx"; 725 resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>; 726 reset-names = "tx-m", "rx-m"; 727 rockchip,cru = <&cru>; 728 rockchip,grf = <&grf>; 729 pinctrl-names = "default"; 730 pinctrl-0 = <&i2s1sclktxm0 731 &i2s1sclkrxm0 732 &i2s1lrcktxm0 733 &i2s1lrckrxm0 734 &i2s1sdi0m0 735 &i2s1sdi1m0 736 &i2s1sdi2m0 737 &i2s1sdi3m0 738 &i2s1sdo0m0 739 &i2s1sdo1m0 740 &i2s1sdo2m0 741 &i2s1sdo3m0>; 742 status = "disabled"; 743 }; 744 745 i2s2_2ch: i2s@fe420000 { 746 compatible = "rockchip,rk3568-i2s-tdm"; 747 reg = <0x0 0xfe420000 0x0 0x1000>; 748 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 749 clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>; 750 clock-names = "mclk_tx", "mclk_rx", "hclk"; 751 dmas = <&dmac1 4>, <&dmac1 5>; 752 dma-names = "tx", "rx"; 753 rockchip,cru = <&cru>; 754 rockchip,grf = <&grf>; 755 rockchip,clk-trcm = <1>; 756 pinctrl-names = "default"; 757 pinctrl-0 = <&i2s2sclktxm0 758 &i2s2lrcktxm0 759 &i2s2sdim0 760 &i2s2sdom0>; 761 status = "disabled"; 762 }; 763 764 i2s3_2ch: i2s@fe430000 { 765 compatible = "rockchip,rk3568-i2s-tdm"; 766 reg = <0x0 0xfe430000 0x0 0x1000>; 767 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 768 clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>, <&cru HCLK_I2S3_2CH>; 769 clock-names = "mclk_tx", "mclk_rx", "hclk"; 770 dmas = <&dmac1 6>, <&dmac1 7>; 771 dma-names = "tx", "rx"; 772 resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>; 773 reset-names = "tx-m", "rx-m"; 774 rockchip,cru = <&cru>; 775 rockchip,grf = <&grf>; 776 pinctrl-names = "default"; 777 pinctrl-0 = <&i2s3sclkm0 778 &i2s3lrckm0 779 &i2s3sdim0 780 &i2s3sdom0>; 781 status = "disabled"; 782 }; 783 784 pdm: pdm@fe440000 { 785 compatible = "rockchip,rk3568-pdm", "rockchip,pdm"; 786 reg = <0x0 0xfe440000 0x0 0x1000>; 787 clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>; 788 clock-names = "pdm_clk", "pdm_hclk"; 789 dmas = <&dmac1 9>; 790 dma-names = "rx"; 791 status = "disabled"; 792 }; 793 794 spdif_8ch: spdif@fe460000 { 795 compatible = "rockchip,rk3588-spdif"; 796 reg = <0x0 0xfe460000 0x0 0x1000>; 797 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 798 dmas = <&dmac1 1>; 799 dma-names = "tx"; 800 clock-names = "mclk", "hclk"; 801 clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>; 802 pinctrl-names = "default"; 803 pinctrl-0 = <&spdifm0_pins>; 804 status = "disabled"; 805 }; 806 807 audpwm: audpwm@fe470000 { 808 compatible = "rockchip,rk3568-audio-pwm", "rockchip,audio-pwm-v1"; 809 reg = <0x0 0xfe470000 0x0 0x1000>; 810 clocks = <&cru SCLK_AUDPWM>, <&cru HCLK_AUDPWM>; 811 clock-names = "clk", "hclk"; 812 dmas = <&dmac1 8>; 813 dma-names = "tx"; 814 rockchip,sample-width-bits = <11>; 815 rockchip,interpolat-points = <1>; 816 status = "disabled"; 817 }; 818 819 dig_acodec: codec-digital@fe478000 { 820 compatible = "rockchip,rk3568-codec-digital", "rockchip,codec-digital-v1"; 821 reg = <0x0 0xfe478000 0x0 0x1000>; 822 clocks = <&cru CLK_ACDCDIG_ADC>, <&cru CLK_ACDCDIG_DAC>, <&cru HCLK_ACDCDIG>; 823 clock-names = "adc", "dac", "pclk"; 824 pinctrl-names = "default"; 825 pinctrl-0 = <&acodec_pins>; 826 resets = <&cru SRST_ACDCDIG>; 827 reset-names = "reset" ; 828 rockchip,grf = <&grf>; 829 status = "disabled"; 830 }; 831 832 dmac0: dmac@fe530000 { 833 compatible = "arm,pl330", "arm,primecell"; 834 reg = <0x0 0xfe530000 0x0 0x4000>; 835 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 836 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 837 clocks = <&cru ACLK_DMAC0>; 838 clock-names = "apb_pclk"; 839 #dma-cells = <1>; 840 arm,pl330-periph-burst; 841 }; 842 843 dmac1: dmac@fe550000 { 844 compatible = "arm,pl330", "arm,primecell"; 845 reg = <0x0 0xfe550000 0x0 0x4000>; 846 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 847 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 848 clocks = <&cru ACLK_DMAC1>; 849 clock-names = "apb_pclk"; 850 #dma-cells = <1>; 851 arm,pl330-periph-burst; 852 }; 853 854 can0: can@fe570000 { 855 compatible = "rockchip,canfd-1.0"; 856 reg = <0x0 0xfe570000 0x0 0x1000>; 857 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 858 clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>; 859 clock-names = "baudclk", "apb_pclk"; 860 resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>; 861 reset-names = "can", "can-apb"; 862 tx-fifo-depth = <1>; 863 rx-fifo-depth = <6>; 864 status = "disabled"; 865 }; 866 867 can1: can@fe580000 { 868 compatible = "rockchip,canfd-1.0"; 869 reg = <0x0 0xfe580000 0x0 0x1000>; 870 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 871 clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>; 872 clock-names = "baudclk", "apb_pclk"; 873 resets = <&cru SRST_CAN1>, <&cru SRST_P_CAN1>; 874 reset-names = "can", "can-apb"; 875 tx-fifo-depth = <1>; 876 rx-fifo-depth = <6>; 877 status = "disabled"; 878 }; 879 880 can2: can@fe590000 { 881 compatible = "rockchip,canfd-1.0"; 882 reg = <0x0 0xfe590000 0x0 0x1000>; 883 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 884 clocks = <&cru CLK_CAN2>, <&cru PCLK_CAN2>; 885 clock-names = "baudclk", "apb_pclk"; 886 resets = <&cru SRST_CAN2>, <&cru SRST_P_CAN2>; 887 reset-names = "can", "can-apb"; 888 tx-fifo-depth = <1>; 889 rx-fifo-depth = <6>; 890 status = "disabled"; 891 }; 892 893 i2c1: i2c@fe5a0000 { 894 compatible = "rockchip,rk3399-i2c"; 895 reg = <0x0 0xfe5a0000 0x0 0x1000>; 896 clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 897 clock-names = "i2c", "pclk"; 898 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 899 pinctrl-names = "default"; 900 pinctrl-0 = <&i2c1_xfer>; 901 #address-cells = <1>; 902 #size-cells = <0>; 903 status = "disabled"; 904 }; 905 906 i2c2: i2c@fe5b0000 { 907 compatible = "rockchip,rk3399-i2c"; 908 reg = <0x0 0xfe5b0000 0x0 0x1000>; 909 clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 910 clock-names = "i2c", "pclk"; 911 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 912 pinctrl-names = "default"; 913 pinctrl-0 = <&i2c2m0_xfer>; 914 #address-cells = <1>; 915 #size-cells = <0>; 916 status = "disabled"; 917 }; 918 919 i2c3: i2c@fe5c0000 { 920 compatible = "rockchip,rk3399-i2c"; 921 reg = <0x0 0xfe5c0000 0x0 0x1000>; 922 clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 923 clock-names = "i2c", "pclk"; 924 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 925 pinctrl-names = "default"; 926 pinctrl-0 = <&i2c3m0_xfer>; 927 #address-cells = <1>; 928 #size-cells = <0>; 929 status = "disabled"; 930 }; 931 932 i2c4: i2c@fe5d0000 { 933 compatible = "rockchip,rk3399-i2c"; 934 reg = <0x0 0xfe5d0000 0x0 0x1000>; 935 clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 936 clock-names = "i2c", "pclk"; 937 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 938 pinctrl-names = "default"; 939 pinctrl-0 = <&i2c4m0_xfer>; 940 #address-cells = <1>; 941 #size-cells = <0>; 942 status = "disabled"; 943 }; 944 945 i2c5: i2c@fe5e0000 { 946 compatible = "rockchip,rk3399-i2c"; 947 reg = <0x0 0xfe5e0000 0x0 0x1000>; 948 clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 949 clock-names = "i2c", "pclk"; 950 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 951 pinctrl-names = "default"; 952 pinctrl-0 = <&i2c5m0_xfer>; 953 #address-cells = <1>; 954 #size-cells = <0>; 955 status = "disabled"; 956 }; 957 958 wdt: watchdog@fe600000 { 959 compatible = "snps,dw-wdt"; 960 reg = <0x0 0xfe600000 0x0 0x100>; 961 clocks = <&cru PCLK_WDT_NS>; 962 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 963 status = "okay"; 964 }; 965 966 spi0: spi@fe610000 { 967 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 968 reg = <0x0 0xfe610000 0x0 0x1000>; 969 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 970 #address-cells = <1>; 971 #size-cells = <0>; 972 clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 973 clock-names = "spiclk", "apb_pclk"; 974 dmas = <&dmac0 20>, <&dmac0 21>; 975 pinctrl-names = "default"; 976 pinctrl-0 = <&spi0clkm0 &spi0cs0m0 &spi0cs1m0 &spi0misom0 &spi0mosim0>; 977 status = "disabled"; 978 }; 979 980 spi1: spi@fe620000 { 981 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 982 reg = <0x0 0xfe620000 0x0 0x1000>; 983 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 984 #address-cells = <1>; 985 #size-cells = <0>; 986 clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 987 clock-names = "spiclk", "apb_pclk"; 988 dmas = <&dmac0 22>, <&dmac0 23>; 989 pinctrl-names = "default"; 990 pinctrl-0 = <&spi1clkm0 &spi1cs0m0 &spi1cs1m0 &spi1misom0 &spi1mosim0>; 991 status = "disabled"; 992 }; 993 994 spi2: spi@fe630000 { 995 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 996 reg = <0x0 0xfe630000 0x0 0x1000>; 997 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 998 #address-cells = <1>; 999 #size-cells = <0>; 1000 clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 1001 clock-names = "spiclk", "apb_pclk"; 1002 dmas = <&dmac0 24>, <&dmac0 25>; 1003 pinctrl-names = "default"; 1004 pinctrl-0 = <&spi2clkm0 &spi2cs0m0 &spi2cs1m0 &spi2misom0 &spi2mosim0>; 1005 status = "disabled"; 1006 }; 1007 1008 spi3: spi@fe640000 { 1009 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 1010 reg = <0x0 0xfe640000 0x0 0x1000>; 1011 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1012 #address-cells = <1>; 1013 #size-cells = <0>; 1014 clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 1015 clock-names = "spiclk", "apb_pclk"; 1016 dmas = <&dmac0 26>, <&dmac0 27>; 1017 pinctrl-names = "default"; 1018 pinctrl-0 = <&spi3clkm0 &spi3cs0m0 &spi3cs1m0 &spi3misom0 &spi3mosim0>; 1019 status = "disabled"; 1020 }; 1021 1022 uart1: serial@fe650000 { 1023 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1024 reg = <0x0 0xfe650000 0x0 0x100>; 1025 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 1026 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1027 clock-names = "baudclk", "apb_pclk"; 1028 reg-shift = <2>; 1029 reg-io-width = <4>; 1030 dmas = <&dmac0 2>, <&dmac0 3>; 1031 pinctrl-names = "default"; 1032 pinctrl-0 = <&uart1m0_xfer>; 1033 status = "disabled"; 1034 }; 1035 1036 uart2: serial@fe660000 { 1037 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1038 reg = <0x0 0xfe660000 0x0 0x100>; 1039 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 1040 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1041 clock-names = "baudclk", "apb_pclk"; 1042 reg-shift = <2>; 1043 reg-io-width = <4>; 1044 dmas = <&dmac0 4>, <&dmac0 5>; 1045 pinctrl-names = "default"; 1046 pinctrl-0 = <&uart2m0_xfer>; 1047 status = "disabled"; 1048 }; 1049 1050 uart3: serial@fe670000 { 1051 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1052 reg = <0x0 0xfe670000 0x0 0x100>; 1053 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1054 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 1055 clock-names = "baudclk", "apb_pclk"; 1056 reg-shift = <2>; 1057 reg-io-width = <4>; 1058 dmas = <&dmac0 6>, <&dmac0 7>; 1059 pinctrl-names = "default"; 1060 pinctrl-0 = <&uart3m0_xfer>; 1061 status = "disabled"; 1062 }; 1063 1064 uart4: serial@fe680000 { 1065 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1066 reg = <0x0 0xfe680000 0x0 0x100>; 1067 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 1068 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 1069 clock-names = "baudclk", "apb_pclk"; 1070 reg-shift = <2>; 1071 reg-io-width = <4>; 1072 dmas = <&dmac0 8>, <&dmac0 9>; 1073 pinctrl-names = "default"; 1074 pinctrl-0 = <&uart4m0_xfer>; 1075 status = "disabled"; 1076 }; 1077 1078 uart5: serial@fe690000 { 1079 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1080 reg = <0x0 0xfe690000 0x0 0x100>; 1081 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 1082 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 1083 clock-names = "baudclk", "apb_pclk"; 1084 reg-shift = <2>; 1085 reg-io-width = <4>; 1086 dmas = <&dmac0 10>, <&dmac0 11>; 1087 pinctrl-names = "default"; 1088 pinctrl-0 = <&uart5m0_xfer>; 1089 status = "disabled"; 1090 }; 1091 1092 uart6: serial@fe6a0000 { 1093 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1094 reg = <0x0 0xfe6a0000 0x0 0x100>; 1095 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 1096 clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 1097 clock-names = "baudclk", "apb_pclk"; 1098 reg-shift = <2>; 1099 reg-io-width = <4>; 1100 dmas = <&dmac0 12>, <&dmac0 13>; 1101 pinctrl-names = "default"; 1102 pinctrl-0 = <&uart6m0_xfer>; 1103 status = "disabled"; 1104 }; 1105 1106 uart7: serial@fe6b0000 { 1107 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1108 reg = <0x0 0xfe6b0000 0x0 0x100>; 1109 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 1110 clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 1111 clock-names = "baudclk", "apb_pclk"; 1112 reg-shift = <2>; 1113 reg-io-width = <4>; 1114 dmas = <&dmac0 14>, <&dmac0 15>; 1115 pinctrl-names = "default"; 1116 pinctrl-0 = <&uart7m0_xfer>; 1117 status = "disabled"; 1118 }; 1119 1120 uart8: serial@fe6c0000 { 1121 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1122 reg = <0x0 0xfe6c0000 0x0 0x100>; 1123 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 1124 clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 1125 clock-names = "baudclk", "apb_pclk"; 1126 reg-shift = <2>; 1127 reg-io-width = <4>; 1128 dmas = <&dmac0 16>, <&dmac0 17>; 1129 pinctrl-names = "default"; 1130 pinctrl-0 = <&uart8m0_xfer>; 1131 status = "disabled"; 1132 }; 1133 1134 uart9: serial@fe6d0000 { 1135 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1136 reg = <0x0 0xfe6d0000 0x0 0x100>; 1137 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 1138 clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 1139 clock-names = "baudclk", "apb_pclk"; 1140 reg-shift = <2>; 1141 reg-io-width = <4>; 1142 dmas = <&dmac0 18>, <&dmac0 19>; 1143 pinctrl-names = "default"; 1144 pinctrl-0 = <&uart9m0_xfer>; 1145 status = "disabled"; 1146 }; 1147 1148 pwm4: pwm@fe6e0000 { 1149 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1150 reg = <0x0 0xfe6e0000 0x0 0x10>; 1151 #pwm-cells = <3>; 1152 pinctrl-names = "active"; 1153 pinctrl-0 = <&pwm4_pins>; 1154 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1155 clock-names = "pwm", "pclk"; 1156 status = "disabled"; 1157 }; 1158 1159 pwm5: pwm@fe6e0010 { 1160 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1161 reg = <0x0 0xfe6e0010 0x0 0x10>; 1162 #pwm-cells = <3>; 1163 pinctrl-names = "active"; 1164 pinctrl-0 = <&pwm5_pins>; 1165 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1166 clock-names = "pwm", "pclk"; 1167 status = "disabled"; 1168 }; 1169 1170 pwm6: pwm@fe6e0020 { 1171 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1172 reg = <0x0 0xfe6e0020 0x0 0x10>; 1173 #pwm-cells = <3>; 1174 pinctrl-names = "active"; 1175 pinctrl-0 = <&pwm6_pins>; 1176 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1177 clock-names = "pwm", "pclk"; 1178 status = "disabled"; 1179 }; 1180 1181 pwm7: pwm@fe6e0030 { 1182 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1183 reg = <0x0 0xfe6e0030 0x0 0x10>; 1184 #pwm-cells = <3>; 1185 pinctrl-names = "active"; 1186 pinctrl-0 = <&pwm7_pins>; 1187 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1188 clock-names = "pwm", "pclk"; 1189 status = "disabled"; 1190 }; 1191 1192 pwm8: pwm@fe6f0000 { 1193 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1194 reg = <0x0 0xfe6f0000 0x0 0x10>; 1195 #pwm-cells = <3>; 1196 pinctrl-names = "active"; 1197 pinctrl-0 = <&pwm8m0_pins>; 1198 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1199 clock-names = "pwm", "pclk"; 1200 status = "disabled"; 1201 }; 1202 1203 pwm9: pwm@fe6f0010 { 1204 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1205 reg = <0x0 0xfe6f0010 0x0 0x10>; 1206 #pwm-cells = <3>; 1207 pinctrl-names = "active"; 1208 pinctrl-0 = <&pwm9m0_pins>; 1209 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1210 clock-names = "pwm", "pclk"; 1211 status = "disabled"; 1212 }; 1213 1214 pwm10: pwm@fe6f0020 { 1215 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1216 reg = <0x0 0xfe6f0020 0x0 0x10>; 1217 #pwm-cells = <3>; 1218 pinctrl-names = "active"; 1219 pinctrl-0 = <&pwm10m0_pins>; 1220 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1221 clock-names = "pwm", "pclk"; 1222 status = "disabled"; 1223 }; 1224 1225 pwm11: pwm@fe6f0030 { 1226 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1227 reg = <0x0 0xfe6f0030 0x0 0x10>; 1228 #pwm-cells = <3>; 1229 pinctrl-names = "active"; 1230 pinctrl-0 = <&pwm11m0_pins>; 1231 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1232 clock-names = "pwm", "pclk"; 1233 status = "disabled"; 1234 }; 1235 1236 pwm12: pwm@fe700000 { 1237 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1238 reg = <0x0 0xfe700000 0x0 0x10>; 1239 #pwm-cells = <3>; 1240 pinctrl-names = "active"; 1241 pinctrl-0 = <&pwm12m0_pins>; 1242 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1243 clock-names = "pwm", "pclk"; 1244 status = "disabled"; 1245 }; 1246 1247 pwm13: pwm@fe700010 { 1248 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1249 reg = <0x0 0xfe700010 0x0 0x10>; 1250 #pwm-cells = <3>; 1251 pinctrl-names = "active"; 1252 pinctrl-0 = <&pwm13m0_pins>; 1253 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1254 clock-names = "pwm", "pclk"; 1255 status = "disabled"; 1256 }; 1257 1258 pwm14: pwm@fe700020 { 1259 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1260 reg = <0x0 0xfe700020 0x0 0x10>; 1261 #pwm-cells = <3>; 1262 pinctrl-names = "active"; 1263 pinctrl-0 = <&pwm14m0_pins>; 1264 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1265 clock-names = "pwm", "pclk"; 1266 status = "disabled"; 1267 }; 1268 1269 pwm15: pwm@fe700030 { 1270 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1271 reg = <0x0 0xfe700030 0x0 0x10>; 1272 #pwm-cells = <3>; 1273 pinctrl-names = "active"; 1274 pinctrl-0 = <&pwm15m0_pins>; 1275 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1276 clock-names = "pwm", "pclk"; 1277 status = "disabled"; 1278 }; 1279 1280 saradc: saradc@fe720000 { 1281 compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc"; 1282 reg = <0x0 0xfe720000 0x0 0x100>; 1283 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 1284 #io-channel-cells = <1>; 1285 clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 1286 clock-names = "saradc", "apb_pclk"; 1287 resets = <&cru SRST_P_SARADC>; 1288 reset-names = "saradc-apb"; 1289 status = "disabled"; 1290 }; 1291 1292 combphy0_us: phy@fe820000 { 1293 compatible = "rockchip,rk3568-naneng-combphy"; 1294 reg = <0x0 0xfe820000 0x0 0x100>; 1295 #phy-cells = <1>; 1296 clocks = <&pmucru CLK_PCIEPHY0_REF>, <&cru PCLK_PIPEPHY0>; 1297 clock-names = "refclk", "apbclk"; 1298 resets = <&cru SRST_P_PIPEPHY0>, <&cru SRST_PIPEPHY0>; 1299 reset-names = "combphy-apb", "combphy"; 1300 rockchip,pipe-grf = <&pipegrf>; 1301 rockchip,pipe-phy-grf = <&pipe_phy_grf0>; 1302 status = "disabled"; 1303 }; 1304 1305 combphy1_usq: phy@fe830000 { 1306 compatible = "rockchip,rk3568-naneng-combphy"; 1307 reg = <0x0 0xfe830000 0x0 0x100>; 1308 #phy-cells = <1>; 1309 clocks = <&pmucru CLK_PCIEPHY1_REF>, <&cru PCLK_PIPEPHY1>; 1310 clock-names = "refclk", "apbclk"; 1311 resets = <&cru SRST_P_PIPEPHY0>, <&cru SRST_PIPEPHY0>; 1312 reset-names = "combphy-apb", "combphy"; 1313 rockchip,pipe-grf = <&pipegrf>; 1314 rockchip,pipe-phy-grf = <&pipe_phy_grf1>; 1315 status = "disabled"; 1316 }; 1317 1318 combphy2_psq: phy@fe840000 { 1319 compatible = "rockchip,rk3568-naneng-combphy"; 1320 reg = <0x0 0xfe840000 0x0 0x100>; 1321 #phy-cells = <1>; 1322 clocks = <&pmucru CLK_PCIEPHY2_REF>, <&cru PCLK_PIPEPHY2>; 1323 clock-names = "refclk", "apbclk"; 1324 resets = <&cru SRST_P_PIPEPHY2>, <&cru SRST_PIPEPHY2>; 1325 reset-names = "combphy-apb", "combphy"; 1326 rockchip,pipe-grf = <&pipegrf>; 1327 rockchip,pipe-phy-grf = <&pipe_phy_grf2>; 1328 status = "disabled"; 1329 }; 1330 1331 pinctrl: pinctrl { 1332 compatible = "rockchip,rk3568-pinctrl"; 1333 rockchip,grf = <&grf>; 1334 rockchip,pmu = <&pmugrf>; 1335 #address-cells = <2>; 1336 #size-cells = <2>; 1337 ranges; 1338 1339 gpio0: gpio@fdd60000 { 1340 compatible = "rockchip,gpio-bank"; 1341 reg = <0x0 0xfdd60000 0x0 0x100>; 1342 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1343 clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; 1344 1345 gpio-controller; 1346 #gpio-cells = <2>; 1347 gpio-ranges = <&pinctrl 0 0 32>; 1348 interrupt-controller; 1349 #interrupt-cells = <2>; 1350 }; 1351 1352 gpio1: gpio@fe740000 { 1353 compatible = "rockchip,gpio-bank"; 1354 reg = <0x0 0xfe740000 0x0 0x100>; 1355 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 1356 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 1357 1358 gpio-controller; 1359 #gpio-cells = <2>; 1360 gpio-ranges = <&pinctrl 0 32 32>; 1361 interrupt-controller; 1362 #interrupt-cells = <2>; 1363 }; 1364 1365 gpio2: gpio@fe750000 { 1366 compatible = "rockchip,gpio-bank"; 1367 reg = <0x0 0xfe750000 0x0 0x100>; 1368 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 1369 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 1370 1371 gpio-controller; 1372 #gpio-cells = <2>; 1373 gpio-ranges = <&pinctrl 0 64 32>; 1374 interrupt-controller; 1375 #interrupt-cells = <2>; 1376 }; 1377 1378 gpio3: gpio@fe760000 { 1379 compatible = "rockchip,gpio-bank"; 1380 reg = <0x0 0xfe750000 0x0 0x100>; 1381 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 1382 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 1383 1384 gpio-controller; 1385 #gpio-cells = <2>; 1386 gpio-ranges = <&pinctrl 0 96 32>; 1387 interrupt-controller; 1388 #interrupt-cells = <2>; 1389 }; 1390 1391 gpio4: gpio@fe770000 { 1392 compatible = "rockchip,gpio-bank"; 1393 reg = <0x0 0xfe770000 0x0 0x100>; 1394 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1395 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 1396 1397 gpio-controller; 1398 #gpio-cells = <2>; 1399 gpio-ranges = <&pinctrl 0 128 32>; 1400 interrupt-controller; 1401 #interrupt-cells = <2>; 1402 }; 1403 }; 1404}; 1405 1406#include "rk3568-pinctrl.dtsi" 1407