1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Device Tree Source for the R-Car M3-W+ (R8A77961) SoC 4 * 5 * Copyright (C) 2016-2017 Renesas Electronics Corp. 6 */ 7 8#include <dt-bindings/clock/r8a77961-cpg-mssr.h> 9#include <dt-bindings/interrupt-controller/arm-gic.h> 10#include <dt-bindings/power/r8a77961-sysc.h> 11 12#define CPG_AUDIO_CLK_I R8A77961_CLK_S0D4 13 14/ { 15 compatible = "renesas,r8a77961"; 16 #address-cells = <2>; 17 #size-cells = <2>; 18 19 /* 20 * The external audio clocks are configured as 0 Hz fixed frequency 21 * clocks by default. 22 * Boards that provide audio clocks should override them. 23 */ 24 audio_clk_a: audio_clk_a { 25 compatible = "fixed-clock"; 26 #clock-cells = <0>; 27 clock-frequency = <0>; 28 }; 29 30 audio_clk_b: audio_clk_b { 31 compatible = "fixed-clock"; 32 #clock-cells = <0>; 33 clock-frequency = <0>; 34 }; 35 36 audio_clk_c: audio_clk_c { 37 compatible = "fixed-clock"; 38 #clock-cells = <0>; 39 clock-frequency = <0>; 40 }; 41 42 /* External CAN clock - to be overridden by boards that provide it */ 43 can_clk: can { 44 compatible = "fixed-clock"; 45 #clock-cells = <0>; 46 clock-frequency = <0>; 47 }; 48 49 cluster0_opp: opp_table0 { 50 compatible = "operating-points-v2"; 51 opp-shared; 52 53 opp-500000000 { 54 opp-hz = /bits/ 64 <500000000>; 55 opp-microvolt = <820000>; 56 clock-latency-ns = <300000>; 57 }; 58 opp-1000000000 { 59 opp-hz = /bits/ 64 <1000000000>; 60 opp-microvolt = <820000>; 61 clock-latency-ns = <300000>; 62 }; 63 opp-1500000000 { 64 opp-hz = /bits/ 64 <1500000000>; 65 opp-microvolt = <820000>; 66 clock-latency-ns = <300000>; 67 }; 68 opp-1600000000 { 69 opp-hz = /bits/ 64 <1600000000>; 70 opp-microvolt = <900000>; 71 clock-latency-ns = <300000>; 72 turbo-mode; 73 }; 74 opp-1700000000 { 75 opp-hz = /bits/ 64 <1700000000>; 76 opp-microvolt = <900000>; 77 clock-latency-ns = <300000>; 78 turbo-mode; 79 }; 80 opp-1800000000 { 81 opp-hz = /bits/ 64 <1800000000>; 82 opp-microvolt = <960000>; 83 clock-latency-ns = <300000>; 84 turbo-mode; 85 }; 86 }; 87 88 cluster1_opp: opp_table1 { 89 compatible = "operating-points-v2"; 90 opp-shared; 91 92 opp-800000000 { 93 opp-hz = /bits/ 64 <800000000>; 94 opp-microvolt = <820000>; 95 clock-latency-ns = <300000>; 96 }; 97 opp-1000000000 { 98 opp-hz = /bits/ 64 <1000000000>; 99 opp-microvolt = <820000>; 100 clock-latency-ns = <300000>; 101 }; 102 opp-1200000000 { 103 opp-hz = /bits/ 64 <1200000000>; 104 opp-microvolt = <820000>; 105 clock-latency-ns = <300000>; 106 }; 107 opp-1300000000 { 108 opp-hz = /bits/ 64 <1300000000>; 109 opp-microvolt = <820000>; 110 clock-latency-ns = <300000>; 111 turbo-mode; 112 }; 113 }; 114 115 cpus { 116 #address-cells = <1>; 117 #size-cells = <0>; 118 119 cpu-map { 120 cluster0 { 121 core0 { 122 cpu = <&a57_0>; 123 }; 124 core1 { 125 cpu = <&a57_1>; 126 }; 127 }; 128 129 cluster1 { 130 core0 { 131 cpu = <&a53_0>; 132 }; 133 core1 { 134 cpu = <&a53_1>; 135 }; 136 core2 { 137 cpu = <&a53_2>; 138 }; 139 core3 { 140 cpu = <&a53_3>; 141 }; 142 }; 143 }; 144 145 a57_0: cpu@0 { 146 compatible = "arm,cortex-a57"; 147 reg = <0x0>; 148 device_type = "cpu"; 149 power-domains = <&sysc R8A77961_PD_CA57_CPU0>; 150 next-level-cache = <&L2_CA57>; 151 enable-method = "psci"; 152 cpu-idle-states = <&CPU_SLEEP_0>; 153 dynamic-power-coefficient = <854>; 154 clocks = <&cpg CPG_CORE R8A77961_CLK_Z>; 155 operating-points-v2 = <&cluster0_opp>; 156 capacity-dmips-mhz = <1024>; 157 #cooling-cells = <2>; 158 }; 159 160 a57_1: cpu@1 { 161 compatible = "arm,cortex-a57"; 162 reg = <0x1>; 163 device_type = "cpu"; 164 power-domains = <&sysc R8A77961_PD_CA57_CPU1>; 165 next-level-cache = <&L2_CA57>; 166 enable-method = "psci"; 167 cpu-idle-states = <&CPU_SLEEP_0>; 168 clocks = <&cpg CPG_CORE R8A77961_CLK_Z>; 169 operating-points-v2 = <&cluster0_opp>; 170 capacity-dmips-mhz = <1024>; 171 #cooling-cells = <2>; 172 }; 173 174 a53_0: cpu@100 { 175 compatible = "arm,cortex-a53"; 176 reg = <0x100>; 177 device_type = "cpu"; 178 power-domains = <&sysc R8A77961_PD_CA53_CPU0>; 179 next-level-cache = <&L2_CA53>; 180 enable-method = "psci"; 181 cpu-idle-states = <&CPU_SLEEP_1>; 182 #cooling-cells = <2>; 183 dynamic-power-coefficient = <277>; 184 clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>; 185 operating-points-v2 = <&cluster1_opp>; 186 capacity-dmips-mhz = <535>; 187 }; 188 189 a53_1: cpu@101 { 190 compatible = "arm,cortex-a53"; 191 reg = <0x101>; 192 device_type = "cpu"; 193 power-domains = <&sysc R8A77961_PD_CA53_CPU1>; 194 next-level-cache = <&L2_CA53>; 195 enable-method = "psci"; 196 cpu-idle-states = <&CPU_SLEEP_1>; 197 clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>; 198 operating-points-v2 = <&cluster1_opp>; 199 capacity-dmips-mhz = <535>; 200 }; 201 202 a53_2: cpu@102 { 203 compatible = "arm,cortex-a53"; 204 reg = <0x102>; 205 device_type = "cpu"; 206 power-domains = <&sysc R8A77961_PD_CA53_CPU2>; 207 next-level-cache = <&L2_CA53>; 208 enable-method = "psci"; 209 cpu-idle-states = <&CPU_SLEEP_1>; 210 clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>; 211 operating-points-v2 = <&cluster1_opp>; 212 capacity-dmips-mhz = <535>; 213 }; 214 215 a53_3: cpu@103 { 216 compatible = "arm,cortex-a53"; 217 reg = <0x103>; 218 device_type = "cpu"; 219 power-domains = <&sysc R8A77961_PD_CA53_CPU3>; 220 next-level-cache = <&L2_CA53>; 221 enable-method = "psci"; 222 cpu-idle-states = <&CPU_SLEEP_1>; 223 clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>; 224 operating-points-v2 = <&cluster1_opp>; 225 capacity-dmips-mhz = <535>; 226 }; 227 228 L2_CA57: cache-controller-0 { 229 compatible = "cache"; 230 power-domains = <&sysc R8A77961_PD_CA57_SCU>; 231 cache-unified; 232 cache-level = <2>; 233 }; 234 235 L2_CA53: cache-controller-1 { 236 compatible = "cache"; 237 power-domains = <&sysc R8A77961_PD_CA53_SCU>; 238 cache-unified; 239 cache-level = <2>; 240 }; 241 242 idle-states { 243 entry-method = "psci"; 244 245 CPU_SLEEP_0: cpu-sleep-0 { 246 compatible = "arm,idle-state"; 247 arm,psci-suspend-param = <0x0010000>; 248 local-timer-stop; 249 entry-latency-us = <400>; 250 exit-latency-us = <500>; 251 min-residency-us = <4000>; 252 }; 253 254 CPU_SLEEP_1: cpu-sleep-1 { 255 compatible = "arm,idle-state"; 256 arm,psci-suspend-param = <0x0010000>; 257 local-timer-stop; 258 entry-latency-us = <700>; 259 exit-latency-us = <700>; 260 min-residency-us = <5000>; 261 }; 262 }; 263 }; 264 265 extal_clk: extal { 266 compatible = "fixed-clock"; 267 #clock-cells = <0>; 268 /* This value must be overridden by the board */ 269 clock-frequency = <0>; 270 }; 271 272 extalr_clk: extalr { 273 compatible = "fixed-clock"; 274 #clock-cells = <0>; 275 /* This value must be overridden by the board */ 276 clock-frequency = <0>; 277 }; 278 279 /* External PCIe clock - can be overridden by the board */ 280 pcie_bus_clk: pcie_bus { 281 compatible = "fixed-clock"; 282 #clock-cells = <0>; 283 clock-frequency = <0>; 284 }; 285 286 pmu_a53 { 287 compatible = "arm,cortex-a53-pmu"; 288 interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>, 289 <&gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 290 <&gic GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 291 <&gic GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 292 interrupt-affinity = <&a53_0>, <&a53_1>, <&a53_2>, <&a53_3>; 293 }; 294 295 pmu_a57 { 296 compatible = "arm,cortex-a57-pmu"; 297 interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 298 <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 299 interrupt-affinity = <&a57_0>, <&a57_1>; 300 }; 301 302 psci { 303 compatible = "arm,psci-1.0", "arm,psci-0.2"; 304 method = "smc"; 305 }; 306 307 /* External SCIF clock - to be overridden by boards that provide it */ 308 scif_clk: scif { 309 compatible = "fixed-clock"; 310 #clock-cells = <0>; 311 clock-frequency = <0>; 312 }; 313 314 soc { 315 compatible = "simple-bus"; 316 interrupt-parent = <&gic>; 317 #address-cells = <2>; 318 #size-cells = <2>; 319 ranges; 320 321 rwdt: watchdog@e6020000 { 322 compatible = "renesas,r8a77961-wdt", 323 "renesas,rcar-gen3-wdt"; 324 reg = <0 0xe6020000 0 0x0c>; 325 clocks = <&cpg CPG_MOD 402>; 326 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 327 resets = <&cpg 402>; 328 status = "disabled"; 329 }; 330 331 gpio0: gpio@e6050000 { 332 compatible = "renesas,gpio-r8a77961", 333 "renesas,rcar-gen3-gpio"; 334 reg = <0 0xe6050000 0 0x50>; 335 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 336 #gpio-cells = <2>; 337 gpio-controller; 338 gpio-ranges = <&pfc 0 0 16>; 339 #interrupt-cells = <2>; 340 interrupt-controller; 341 clocks = <&cpg CPG_MOD 912>; 342 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 343 resets = <&cpg 912>; 344 }; 345 346 gpio1: gpio@e6051000 { 347 compatible = "renesas,gpio-r8a77961", 348 "renesas,rcar-gen3-gpio"; 349 reg = <0 0xe6051000 0 0x50>; 350 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 351 #gpio-cells = <2>; 352 gpio-controller; 353 gpio-ranges = <&pfc 0 32 29>; 354 #interrupt-cells = <2>; 355 interrupt-controller; 356 clocks = <&cpg CPG_MOD 911>; 357 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 358 resets = <&cpg 911>; 359 }; 360 361 gpio2: gpio@e6052000 { 362 compatible = "renesas,gpio-r8a77961", 363 "renesas,rcar-gen3-gpio"; 364 reg = <0 0xe6052000 0 0x50>; 365 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 366 #gpio-cells = <2>; 367 gpio-controller; 368 gpio-ranges = <&pfc 0 64 15>; 369 #interrupt-cells = <2>; 370 interrupt-controller; 371 clocks = <&cpg CPG_MOD 910>; 372 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 373 resets = <&cpg 910>; 374 }; 375 376 gpio3: gpio@e6053000 { 377 compatible = "renesas,gpio-r8a77961", 378 "renesas,rcar-gen3-gpio"; 379 reg = <0 0xe6053000 0 0x50>; 380 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 381 #gpio-cells = <2>; 382 gpio-controller; 383 gpio-ranges = <&pfc 0 96 16>; 384 #interrupt-cells = <2>; 385 interrupt-controller; 386 clocks = <&cpg CPG_MOD 909>; 387 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 388 resets = <&cpg 909>; 389 }; 390 391 gpio4: gpio@e6054000 { 392 compatible = "renesas,gpio-r8a77961", 393 "renesas,rcar-gen3-gpio"; 394 reg = <0 0xe6054000 0 0x50>; 395 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 396 #gpio-cells = <2>; 397 gpio-controller; 398 gpio-ranges = <&pfc 0 128 18>; 399 #interrupt-cells = <2>; 400 interrupt-controller; 401 clocks = <&cpg CPG_MOD 908>; 402 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 403 resets = <&cpg 908>; 404 }; 405 406 gpio5: gpio@e6055000 { 407 compatible = "renesas,gpio-r8a77961", 408 "renesas,rcar-gen3-gpio"; 409 reg = <0 0xe6055000 0 0x50>; 410 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 411 #gpio-cells = <2>; 412 gpio-controller; 413 gpio-ranges = <&pfc 0 160 26>; 414 #interrupt-cells = <2>; 415 interrupt-controller; 416 clocks = <&cpg CPG_MOD 907>; 417 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 418 resets = <&cpg 907>; 419 }; 420 421 gpio6: gpio@e6055400 { 422 compatible = "renesas,gpio-r8a77961", 423 "renesas,rcar-gen3-gpio"; 424 reg = <0 0xe6055400 0 0x50>; 425 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 426 #gpio-cells = <2>; 427 gpio-controller; 428 gpio-ranges = <&pfc 0 192 32>; 429 #interrupt-cells = <2>; 430 interrupt-controller; 431 clocks = <&cpg CPG_MOD 906>; 432 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 433 resets = <&cpg 906>; 434 }; 435 436 gpio7: gpio@e6055800 { 437 compatible = "renesas,gpio-r8a77961", 438 "renesas,rcar-gen3-gpio"; 439 reg = <0 0xe6055800 0 0x50>; 440 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 441 #gpio-cells = <2>; 442 gpio-controller; 443 gpio-ranges = <&pfc 0 224 4>; 444 #interrupt-cells = <2>; 445 interrupt-controller; 446 clocks = <&cpg CPG_MOD 905>; 447 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 448 resets = <&cpg 905>; 449 }; 450 451 pfc: pin-controller@e6060000 { 452 compatible = "renesas,pfc-r8a77961"; 453 reg = <0 0xe6060000 0 0x50c>; 454 }; 455 456 cpg: clock-controller@e6150000 { 457 compatible = "renesas,r8a77961-cpg-mssr"; 458 reg = <0 0xe6150000 0 0x1000>; 459 clocks = <&extal_clk>, <&extalr_clk>; 460 clock-names = "extal", "extalr"; 461 #clock-cells = <2>; 462 #power-domain-cells = <0>; 463 #reset-cells = <1>; 464 }; 465 466 rst: reset-controller@e6160000 { 467 compatible = "renesas,r8a77961-rst"; 468 reg = <0 0xe6160000 0 0x0200>; 469 }; 470 471 sysc: system-controller@e6180000 { 472 compatible = "renesas,r8a77961-sysc"; 473 reg = <0 0xe6180000 0 0x0400>; 474 #power-domain-cells = <1>; 475 }; 476 477 intc_ex: interrupt-controller@e61c0000 { 478 #interrupt-cells = <2>; 479 interrupt-controller; 480 reg = <0 0xe61c0000 0 0x200>; 481 /* placeholder */ 482 }; 483 484 i2c0: i2c@e6500000 { 485 #address-cells = <1>; 486 #size-cells = <0>; 487 compatible = "renesas,i2c-r8a77961", 488 "renesas,rcar-gen3-i2c"; 489 reg = <0 0xe6500000 0 0x40>; 490 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 491 clocks = <&cpg CPG_MOD 931>; 492 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 493 resets = <&cpg 931>; 494 dmas = <&dmac1 0x91>, <&dmac1 0x90>, 495 <&dmac2 0x91>, <&dmac2 0x90>; 496 dma-names = "tx", "rx", "tx", "rx"; 497 i2c-scl-internal-delay-ns = <110>; 498 status = "disabled"; 499 }; 500 501 i2c1: i2c@e6508000 { 502 #address-cells = <1>; 503 #size-cells = <0>; 504 compatible = "renesas,i2c-r8a77961", 505 "renesas,rcar-gen3-i2c"; 506 reg = <0 0xe6508000 0 0x40>; 507 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 508 clocks = <&cpg CPG_MOD 930>; 509 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 510 resets = <&cpg 930>; 511 dmas = <&dmac1 0x93>, <&dmac1 0x92>, 512 <&dmac2 0x93>, <&dmac2 0x92>; 513 dma-names = "tx", "rx", "tx", "rx"; 514 i2c-scl-internal-delay-ns = <6>; 515 status = "disabled"; 516 }; 517 518 i2c2: i2c@e6510000 { 519 #address-cells = <1>; 520 #size-cells = <0>; 521 compatible = "renesas,i2c-r8a77961", 522 "renesas,rcar-gen3-i2c"; 523 reg = <0 0xe6510000 0 0x40>; 524 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 525 clocks = <&cpg CPG_MOD 929>; 526 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 527 resets = <&cpg 929>; 528 dmas = <&dmac1 0x95>, <&dmac1 0x94>, 529 <&dmac2 0x95>, <&dmac2 0x94>; 530 dma-names = "tx", "rx", "tx", "rx"; 531 i2c-scl-internal-delay-ns = <6>; 532 status = "disabled"; 533 }; 534 535 i2c3: i2c@e66d0000 { 536 #address-cells = <1>; 537 #size-cells = <0>; 538 compatible = "renesas,i2c-r8a77961", 539 "renesas,rcar-gen3-i2c"; 540 reg = <0 0xe66d0000 0 0x40>; 541 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 542 clocks = <&cpg CPG_MOD 928>; 543 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 544 resets = <&cpg 928>; 545 dmas = <&dmac0 0x97>, <&dmac0 0x96>; 546 dma-names = "tx", "rx"; 547 i2c-scl-internal-delay-ns = <110>; 548 status = "disabled"; 549 }; 550 551 i2c4: i2c@e66d8000 { 552 #address-cells = <1>; 553 #size-cells = <0>; 554 compatible = "renesas,i2c-r8a77961", 555 "renesas,rcar-gen3-i2c"; 556 reg = <0 0xe66d8000 0 0x40>; 557 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 558 clocks = <&cpg CPG_MOD 927>; 559 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 560 resets = <&cpg 927>; 561 dmas = <&dmac0 0x99>, <&dmac0 0x98>; 562 dma-names = "tx", "rx"; 563 i2c-scl-internal-delay-ns = <110>; 564 status = "disabled"; 565 }; 566 567 i2c5: i2c@e66e0000 { 568 #address-cells = <1>; 569 #size-cells = <0>; 570 compatible = "renesas,i2c-r8a77961", 571 "renesas,rcar-gen3-i2c"; 572 reg = <0 0xe66e0000 0 0x40>; 573 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 574 clocks = <&cpg CPG_MOD 919>; 575 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 576 resets = <&cpg 919>; 577 dmas = <&dmac0 0x9b>, <&dmac0 0x9a>; 578 dma-names = "tx", "rx"; 579 i2c-scl-internal-delay-ns = <110>; 580 status = "disabled"; 581 }; 582 583 i2c6: i2c@e66e8000 { 584 #address-cells = <1>; 585 #size-cells = <0>; 586 compatible = "renesas,i2c-r8a77961", 587 "renesas,rcar-gen3-i2c"; 588 reg = <0 0xe66e8000 0 0x40>; 589 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 590 clocks = <&cpg CPG_MOD 918>; 591 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 592 resets = <&cpg 918>; 593 dmas = <&dmac0 0x9d>, <&dmac0 0x9c>; 594 dma-names = "tx", "rx"; 595 i2c-scl-internal-delay-ns = <6>; 596 status = "disabled"; 597 }; 598 599 i2c_dvfs: i2c@e60b0000 { 600 #address-cells = <1>; 601 #size-cells = <0>; 602 compatible = "renesas,iic-r8a77961", 603 "renesas,rcar-gen3-iic", 604 "renesas,rmobile-iic"; 605 reg = <0 0xe60b0000 0 0x425>; 606 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; 607 clocks = <&cpg CPG_MOD 926>; 608 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 609 resets = <&cpg 926>; 610 dmas = <&dmac0 0x11>, <&dmac0 0x10>; 611 dma-names = "tx", "rx"; 612 status = "disabled"; 613 }; 614 615 616 hscif1: serial@e6550000 { 617 reg = <0 0xe6550000 0 0x60>; 618 /* placeholder */ 619 }; 620 621 hsusb: usb@e6590000 { 622 reg = <0 0xe6590000 0 0x200>; 623 /* placeholder */ 624 }; 625 626 usb3_phy0: usb-phy@e65ee000 { 627 reg = <0 0xe65ee000 0 0x90>; 628 #phy-cells = <0>; 629 /* placeholder */ 630 }; 631 632 dmac0: dma-controller@e6700000 { 633 compatible = "renesas,dmac-r8a77961", 634 "renesas,rcar-dmac"; 635 reg = <0 0xe6700000 0 0x10000>; 636 interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>, 637 <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>, 638 <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>, 639 <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>, 640 <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>, 641 <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>, 642 <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>, 643 <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>, 644 <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>, 645 <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>, 646 <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>, 647 <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>, 648 <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>, 649 <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>, 650 <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>, 651 <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>, 652 <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; 653 interrupt-names = "error", 654 "ch0", "ch1", "ch2", "ch3", 655 "ch4", "ch5", "ch6", "ch7", 656 "ch8", "ch9", "ch10", "ch11", 657 "ch12", "ch13", "ch14", "ch15"; 658 clocks = <&cpg CPG_MOD 219>; 659 clock-names = "fck"; 660 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 661 resets = <&cpg 219>; 662 #dma-cells = <1>; 663 dma-channels = <16>; 664 }; 665 666 dmac1: dma-controller@e7300000 { 667 compatible = "renesas,dmac-r8a77961", 668 "renesas,rcar-dmac"; 669 reg = <0 0xe7300000 0 0x10000>; 670 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>, 671 <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>, 672 <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>, 673 <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>, 674 <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>, 675 <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>, 676 <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>, 677 <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>, 678 <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>, 679 <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>, 680 <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>, 681 <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>, 682 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, 683 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, 684 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, 685 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>, 686 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>; 687 interrupt-names = "error", 688 "ch0", "ch1", "ch2", "ch3", 689 "ch4", "ch5", "ch6", "ch7", 690 "ch8", "ch9", "ch10", "ch11", 691 "ch12", "ch13", "ch14", "ch15"; 692 clocks = <&cpg CPG_MOD 218>; 693 clock-names = "fck"; 694 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 695 resets = <&cpg 218>; 696 #dma-cells = <1>; 697 dma-channels = <16>; 698 }; 699 700 dmac2: dma-controller@e7310000 { 701 compatible = "renesas,dmac-r8a77961", 702 "renesas,rcar-dmac"; 703 reg = <0 0xe7310000 0 0x10000>; 704 interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 705 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, 706 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, 707 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, 708 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, 709 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, 710 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, 711 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, 712 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, 713 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>, 714 <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>, 715 <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>, 716 <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>, 717 <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>, 718 <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>, 719 <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>, 720 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>; 721 interrupt-names = "error", 722 "ch0", "ch1", "ch2", "ch3", 723 "ch4", "ch5", "ch6", "ch7", 724 "ch8", "ch9", "ch10", "ch11", 725 "ch12", "ch13", "ch14", "ch15"; 726 clocks = <&cpg CPG_MOD 217>; 727 clock-names = "fck"; 728 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 729 resets = <&cpg 217>; 730 #dma-cells = <1>; 731 dma-channels = <16>; 732 }; 733 734 avb: ethernet@e6800000 { 735 compatible = "renesas,etheravb-r8a77961", 736 "renesas,etheravb-rcar-gen3"; 737 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>; 738 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 739 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 740 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 741 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 742 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 743 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 744 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, 745 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, 746 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, 747 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 748 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 749 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, 750 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 751 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 752 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 753 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 754 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 755 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 756 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 757 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 758 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 759 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 760 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 761 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, 762 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 763 interrupt-names = "ch0", "ch1", "ch2", "ch3", 764 "ch4", "ch5", "ch6", "ch7", 765 "ch8", "ch9", "ch10", "ch11", 766 "ch12", "ch13", "ch14", "ch15", 767 "ch16", "ch17", "ch18", "ch19", 768 "ch20", "ch21", "ch22", "ch23", 769 "ch24"; 770 clocks = <&cpg CPG_MOD 812>; 771 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 772 resets = <&cpg 812>; 773 phy-mode = "rgmii"; 774 #address-cells = <1>; 775 #size-cells = <0>; 776 status = "disabled"; 777 }; 778 779 pwm1: pwm@e6e31000 { 780 reg = <0 0xe6e31000 0 8>; 781 #pwm-cells = <2>; 782 /* placeholder */ 783 }; 784 785 scif1: serial@e6e68000 { 786 reg = <0 0xe6e68000 0 64>; 787 /* placeholder */ 788 }; 789 790 scif2: serial@e6e88000 { 791 compatible = "renesas,scif-r8a77961", 792 "renesas,rcar-gen3-scif", "renesas,scif"; 793 reg = <0 0xe6e88000 0 64>; 794 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 795 clocks = <&cpg CPG_MOD 310>, 796 <&cpg CPG_CORE R8A77961_CLK_S3D1>, 797 <&scif_clk>; 798 clock-names = "fck", "brg_int", "scif_clk"; 799 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 800 resets = <&cpg 310>; 801 status = "disabled"; 802 }; 803 804 vin0: video@e6ef0000 { 805 reg = <0 0xe6ef0000 0 0x1000>; 806 /* placeholder */ 807 }; 808 809 vin1: video@e6ef1000 { 810 reg = <0 0xe6ef1000 0 0x1000>; 811 /* placeholder */ 812 }; 813 814 vin2: video@e6ef2000 { 815 reg = <0 0xe6ef2000 0 0x1000>; 816 /* placeholder */ 817 }; 818 819 vin3: video@e6ef3000 { 820 reg = <0 0xe6ef3000 0 0x1000>; 821 /* placeholder */ 822 }; 823 824 vin4: video@e6ef4000 { 825 reg = <0 0xe6ef4000 0 0x1000>; 826 /* placeholder */ 827 }; 828 829 vin5: video@e6ef5000 { 830 reg = <0 0xe6ef5000 0 0x1000>; 831 /* placeholder */ 832 }; 833 834 vin6: video@e6ef6000 { 835 reg = <0 0xe6ef6000 0 0x1000>; 836 /* placeholder */ 837 }; 838 839 vin7: video@e6ef7000 { 840 reg = <0 0xe6ef7000 0 0x1000>; 841 /* placeholder */ 842 }; 843 844 rcar_sound: sound@ec500000 { 845 reg = <0 0xec500000 0 0x1000>, /* SCU */ 846 <0 0xec5a0000 0 0x100>, /* ADG */ 847 <0 0xec540000 0 0x1000>, /* SSIU */ 848 <0 0xec541000 0 0x280>, /* SSI */ 849 <0 0xec760000 0 0x200>; /* Audio DMAC peri peri*/ 850 /* placeholder */ 851 rcar_sound,dvc { 852 dvc0: dvc-0 { }; 853 dvc1: dvc-1 { }; 854 }; 855 856 rcar_sound,src { 857 src0: src-0 { }; 858 src1: src-1 { }; 859 }; 860 861 rcar_sound,ssi { 862 ssi0: ssi-0 { }; 863 ssi1: ssi-1 { }; 864 }; 865 }; 866 867 xhci0: usb@ee000000 { 868 reg = <0 0xee000000 0 0xc00>; 869 /* placeholder */ 870 }; 871 872 usb3_peri0: usb@ee020000 { 873 reg = <0 0xee020000 0 0x400>; 874 /* placeholder */ 875 }; 876 877 ohci0: usb@ee080000 { 878 reg = <0 0xee080000 0 0x100>; 879 /* placeholder */ 880 }; 881 882 ohci1: usb@ee0a0000 { 883 reg = <0 0xee0a0000 0 0x100>; 884 /* placeholder */ 885 }; 886 887 ehci0: usb@ee080100 { 888 reg = <0 0xee080100 0 0x100>; 889 /* placeholder */ 890 }; 891 892 ehci1: usb@ee0a0100 { 893 reg = <0 0xee0a0100 0 0x100>; 894 /* placeholder */ 895 }; 896 897 usb2_phy0: usb-phy@ee080200 { 898 reg = <0 0xee080200 0 0x700>; 899 /* placeholder */ 900 }; 901 902 usb2_phy1: usb-phy@ee0a0200 { 903 reg = <0 0xee0a0200 0 0x700>; 904 /* placeholder */ 905 }; 906 907 sdhi0: sd@ee100000 { 908 reg = <0 0xee100000 0 0x2000>; 909 /* placeholder */ 910 }; 911 912 sdhi2: sd@ee140000 { 913 reg = <0 0xee140000 0 0x2000>; 914 /* placeholder */ 915 }; 916 917 sdhi3: sd@ee160000 { 918 reg = <0 0xee160000 0 0x2000>; 919 /* placeholder */ 920 }; 921 922 gic: interrupt-controller@f1010000 { 923 compatible = "arm,gic-400"; 924 #interrupt-cells = <3>; 925 #address-cells = <0>; 926 interrupt-controller; 927 reg = <0x0 0xf1010000 0 0x1000>, 928 <0x0 0xf1020000 0 0x20000>, 929 <0x0 0xf1040000 0 0x20000>, 930 <0x0 0xf1060000 0 0x20000>; 931 interrupts = <GIC_PPI 9 932 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>; 933 clocks = <&cpg CPG_MOD 408>; 934 clock-names = "clk"; 935 power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 936 resets = <&cpg 408>; 937 }; 938 939 pciec0: pcie@fe000000 { 940 reg = <0 0xfe000000 0 0x80000>; 941 /* placeholder */ 942 }; 943 944 pciec1: pcie@ee800000 { 945 reg = <0 0xee800000 0 0x80000>; 946 /* placeholder */ 947 }; 948 949 csi20: csi2@fea80000 { 950 reg = <0 0xfea80000 0 0x10000>; 951 /* placeholder */ 952 953 ports { 954 #address-cells = <1>; 955 #size-cells = <0>; 956 957 port@1 { 958 #address-cells = <1>; 959 #size-cells = <0>; 960 reg = <1>; 961 }; 962 }; 963 }; 964 965 csi40: csi2@feaa0000 { 966 reg = <0 0xfeaa0000 0 0x10000>; 967 /* placeholder */ 968 969 ports { 970 #address-cells = <1>; 971 #size-cells = <0>; 972 973 port@1 { 974 #address-cells = <1>; 975 #size-cells = <0>; 976 977 reg = <1>; 978 }; 979 }; 980 }; 981 982 hdmi0: hdmi@fead0000 { 983 reg = <0 0xfead0000 0 0x10000>; 984 /* placeholder */ 985 986 ports { 987 #address-cells = <1>; 988 #size-cells = <0>; 989 port@0 { 990 reg = <0>; 991 }; 992 port@1 { 993 reg = <1>; 994 }; 995 port@2 { 996 /* HDMI sound */ 997 reg = <2>; 998 }; 999 }; 1000 }; 1001 1002 du: display@feb00000 { 1003 reg = <0 0xfeb00000 0 0x70000>; 1004 /* placeholder */ 1005 1006 ports { 1007 #address-cells = <1>; 1008 #size-cells = <0>; 1009 1010 port@0 { 1011 reg = <0>; 1012 du_out_rgb: endpoint { 1013 }; 1014 }; 1015 port@1 { 1016 reg = <1>; 1017 du_out_hdmi0: endpoint { 1018 }; 1019 }; 1020 port@2 { 1021 reg = <2>; 1022 du_out_lvds0: endpoint { 1023 }; 1024 }; 1025 }; 1026 }; 1027 1028 prr: chipid@fff00044 { 1029 compatible = "renesas,prr"; 1030 reg = <0 0xfff00044 0 4>; 1031 }; 1032 }; 1033 1034 timer { 1035 compatible = "arm,armv8-timer"; 1036 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 1037 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 1038 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 1039 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; 1040 }; 1041 1042 /* External USB clocks - can be overridden by the board */ 1043 usb3s0_clk: usb3s0 { 1044 compatible = "fixed-clock"; 1045 #clock-cells = <0>; 1046 clock-frequency = <0>; 1047 }; 1048 1049 usb_extal_clk: usb_extal { 1050 compatible = "fixed-clock"; 1051 #clock-cells = <0>; 1052 clock-frequency = <0>; 1053 }; 1054}; 1055