0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree Source for the R7S9210 SoC
0004 *
0005 * Copyright (C) 2018 Renesas Electronics Corporation
0006 *
0007 */
0008
0009 #include <dt-bindings/interrupt-controller/arm-gic.h>
0010 #include <dt-bindings/clock/r7s9210-cpg-mssr.h>
0011
0012 / {
0013 compatible = "renesas,r7s9210";
0014 interrupt-parent = <&gic>;
0015 #address-cells = <1>;
0016 #size-cells = <1>;
0017
0018 /* External clocks */
0019 extal_clk: extal {
0020 #clock-cells = <0>;
0021 compatible = "fixed-clock";
0022 /* Value must be set by board */
0023 clock-frequency = <0>;
0024 };
0025
0026 rtc_x1_clk: rtc_x1 {
0027 #clock-cells = <0>;
0028 compatible = "fixed-clock";
0029 /* If clk present, value (32678) must be set by board */
0030 clock-frequency = <0>;
0031 };
0032
0033 usb_x1_clk: usb_x1 {
0034 #clock-cells = <0>;
0035 compatible = "fixed-clock";
0036 /* If clk present, value (48000000) must be set by board */
0037 clock-frequency = <0>;
0038 };
0039
0040 cpus {
0041 #address-cells = <1>;
0042 #size-cells = <0>;
0043
0044 cpu@0 {
0045 device_type = "cpu";
0046 compatible = "arm,cortex-a9";
0047 reg = <0>;
0048 clock-frequency = <528000000>;
0049 next-level-cache = <&L2>;
0050 };
0051 };
0052
0053 soc {
0054 compatible = "simple-bus";
0055 interrupt-parent = <&gic>;
0056
0057 #address-cells = <1>;
0058 #size-cells = <1>;
0059 ranges;
0060
0061 L2: cache-controller@1f003000 {
0062 compatible = "arm,pl310-cache";
0063 reg = <0x1f003000 0x1000>;
0064 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
0065 arm,early-bresp-disable;
0066 arm,full-line-zero-disable;
0067 cache-unified;
0068 cache-level = <2>;
0069 };
0070
0071 scif0: serial@e8007000 {
0072 compatible = "renesas,scif-r7s9210";
0073 reg = <0xe8007000 0x18>;
0074 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
0075 <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
0076 <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
0077 <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
0078 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
0079 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
0080 interrupt-names = "eri", "rxi", "txi",
0081 "bri", "dri", "tei";
0082 clocks = <&cpg CPG_MOD 47>;
0083 clock-names = "fck";
0084 power-domains = <&cpg>;
0085 status = "disabled";
0086 };
0087
0088 scif1: serial@e8007800 {
0089 compatible = "renesas,scif-r7s9210";
0090 reg = <0xe8007800 0x18>;
0091 interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
0092 <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
0093 <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
0094 <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
0095 <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
0096 <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>;
0097 interrupt-names = "eri", "rxi", "txi",
0098 "bri", "dri", "tei";
0099 clocks = <&cpg CPG_MOD 46>;
0100 clock-names = "fck";
0101 power-domains = <&cpg>;
0102 status = "disabled";
0103 };
0104
0105 scif2: serial@e8008000 {
0106 compatible = "renesas,scif-r7s9210";
0107 reg = <0xe8008000 0x18>;
0108 interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
0109 <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
0110 <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
0111 <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
0112 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
0113 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>;
0114 interrupt-names = "eri", "rxi", "txi",
0115 "bri", "dri", "tei";
0116 clocks = <&cpg CPG_MOD 45>;
0117 clock-names = "fck";
0118 power-domains = <&cpg>;
0119 status = "disabled";
0120 };
0121
0122 scif3: serial@e8008800 {
0123 compatible = "renesas,scif-r7s9210";
0124 reg = <0xe8008800 0x18>;
0125 interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
0126 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
0127 <GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>,
0128 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
0129 <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
0130 <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
0131 interrupt-names = "eri", "rxi", "txi",
0132 "bri", "dri", "tei";
0133 clocks = <&cpg CPG_MOD 44>;
0134 clock-names = "fck";
0135 power-domains = <&cpg>;
0136 status = "disabled";
0137 };
0138
0139 scif4: serial@e8009000 {
0140 compatible = "renesas,scif-r7s9210";
0141 reg = <0xe8009000 0x18>;
0142 interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>,
0143 <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>,
0144 <GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH>,
0145 <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>,
0146 <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>,
0147 <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>;
0148 interrupt-names = "eri", "rxi", "txi",
0149 "bri", "dri", "tei";
0150 clocks = <&cpg CPG_MOD 43>;
0151 clock-names = "fck";
0152 power-domains = <&cpg>;
0153 status = "disabled";
0154 };
0155
0156 spi0: spi@e800c800 {
0157 compatible = "renesas,rspi-r7s9210", "renesas,rspi-rz";
0158 reg = <0xe800c800 0x24>;
0159 interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
0160 <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
0161 <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
0162 interrupt-names = "error", "rx", "tx";
0163 clocks = <&cpg CPG_MOD 97>;
0164 power-domains = <&cpg>;
0165 num-cs = <1>;
0166 #address-cells = <1>;
0167 #size-cells = <0>;
0168 status = "disabled";
0169 };
0170
0171 spi1: spi@e800d000 {
0172 compatible = "renesas,rspi-r7s9210", "renesas,rspi-rz";
0173 reg = <0xe800d000 0x24>;
0174 interrupts = <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
0175 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
0176 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>;
0177 interrupt-names = "error", "rx", "tx";
0178 clocks = <&cpg CPG_MOD 96>;
0179 power-domains = <&cpg>;
0180 num-cs = <1>;
0181 #address-cells = <1>;
0182 #size-cells = <0>;
0183 status = "disabled";
0184 };
0185
0186 spi2: spi@e800d800 {
0187 compatible = "renesas,rspi-r7s9210", "renesas,rspi-rz";
0188 reg = <0xe800d800 0x24>;
0189 interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
0190 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
0191 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>;
0192 interrupt-names = "error", "rx", "tx";
0193 clocks = <&cpg CPG_MOD 95>;
0194 power-domains = <&cpg>;
0195 num-cs = <1>;
0196 #address-cells = <1>;
0197 #size-cells = <0>;
0198 status = "disabled";
0199 };
0200
0201 ether0: ethernet@e8204000 {
0202 compatible = "renesas,ether-r7s9210";
0203 reg = <0xe8204000 0x200>;
0204 interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
0205 clocks = <&cpg CPG_MOD 65>;
0206 power-domains = <&cpg>;
0207
0208 phy-mode = "rmii";
0209 #address-cells = <1>;
0210 #size-cells = <0>;
0211 status = "disabled";
0212 };
0213
0214 ether1: ethernet@e8204200 {
0215 compatible = "renesas,ether-r7s9210";
0216 reg = <0xe8204200 0x200>;
0217 interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
0218 clocks = <&cpg CPG_MOD 64>;
0219 power-domains = <&cpg>;
0220 phy-mode = "rmii";
0221 #address-cells = <1>;
0222 #size-cells = <0>;
0223 status = "disabled";
0224 };
0225
0226 i2c0: i2c@e803a000 {
0227 #address-cells = <1>;
0228 #size-cells = <0>;
0229 compatible = "renesas,riic-r7s9210", "renesas,riic-rz";
0230 reg = <0xe803a000 0x44>;
0231 interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>,
0232 <GIC_SPI 233 IRQ_TYPE_EDGE_RISING>,
0233 <GIC_SPI 234 IRQ_TYPE_EDGE_RISING>,
0234 <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>,
0235 <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>,
0236 <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>,
0237 <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
0238 <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
0239 interrupt-names = "tei", "ri", "ti", "spi", "sti",
0240 "naki", "ali", "tmoi";
0241 clocks = <&cpg CPG_MOD 87>;
0242 power-domains = <&cpg>;
0243 clock-frequency = <100000>;
0244 status = "disabled";
0245 };
0246
0247 i2c1: i2c@e803a400 {
0248 #address-cells = <1>;
0249 #size-cells = <0>;
0250 compatible = "renesas,riic-r7s9210", "renesas,riic-rz";
0251 reg = <0xe803a400 0x44>;
0252 interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
0253 <GIC_SPI 241 IRQ_TYPE_EDGE_RISING>,
0254 <GIC_SPI 242 IRQ_TYPE_EDGE_RISING>,
0255 <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
0256 <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
0257 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
0258 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
0259 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
0260 interrupt-names = "tei", "ri", "ti", "spi", "sti",
0261 "naki", "ali", "tmoi";
0262 clocks = <&cpg CPG_MOD 86>;
0263 power-domains = <&cpg>;
0264 clock-frequency = <100000>;
0265 status = "disabled";
0266 };
0267
0268 i2c2: i2c@e803a800 {
0269 #address-cells = <1>;
0270 #size-cells = <0>;
0271 compatible = "renesas,riic-r7s9210", "renesas,riic-rz";
0272 reg = <0xe803a800 0x44>;
0273 interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
0274 <GIC_SPI 249 IRQ_TYPE_EDGE_RISING>,
0275 <GIC_SPI 250 IRQ_TYPE_EDGE_RISING>,
0276 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
0277 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
0278 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
0279 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
0280 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
0281 interrupt-names = "tei", "ri", "ti", "spi", "sti",
0282 "naki", "ali", "tmoi";
0283 clocks = <&cpg CPG_MOD 85>;
0284 power-domains = <&cpg>;
0285 clock-frequency = <100000>;
0286 status = "disabled";
0287 };
0288
0289 i2c3: i2c@e803ac00 {
0290 #address-cells = <1>;
0291 #size-cells = <0>;
0292 compatible = "renesas,riic-r7s9210", "renesas,riic-rz";
0293 reg = <0xe803ac00 0x44>;
0294 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
0295 <GIC_SPI 257 IRQ_TYPE_EDGE_RISING>,
0296 <GIC_SPI 258 IRQ_TYPE_EDGE_RISING>,
0297 <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
0298 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
0299 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
0300 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
0301 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
0302 interrupt-names = "tei", "ri", "ti", "spi", "sti",
0303 "naki", "ali", "tmoi";
0304 clocks = <&cpg CPG_MOD 84>;
0305 power-domains = <&cpg>;
0306 clock-frequency = <100000>;
0307 status = "disabled";
0308 };
0309
0310 ostm0: timer@e803b000 {
0311 compatible = "renesas,r7s9210-ostm", "renesas,ostm";
0312 reg = <0xe803b000 0x30>;
0313 interrupts = <GIC_SPI 56 IRQ_TYPE_EDGE_RISING>;
0314 clocks = <&cpg CPG_MOD 36>;
0315 power-domains = <&cpg>;
0316 status = "disabled";
0317 };
0318
0319 ostm1: timer@e803c000 {
0320 compatible = "renesas,r7s9210-ostm", "renesas,ostm";
0321 reg = <0xe803c000 0x30>;
0322 interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
0323 clocks = <&cpg CPG_MOD 35>;
0324 power-domains = <&cpg>;
0325 status = "disabled";
0326 };
0327
0328 ostm2: timer@e803d000 {
0329 compatible = "renesas,r7s9210-ostm", "renesas,ostm";
0330 reg = <0xe803d000 0x30>;
0331 interrupts = <GIC_SPI 58 IRQ_TYPE_EDGE_RISING>;
0332 clocks = <&cpg CPG_MOD 34>;
0333 power-domains = <&cpg>;
0334 status = "disabled";
0335 };
0336
0337 ohci0: usb@e8218000 {
0338 compatible = "generic-ohci";
0339 reg = <0xe8218000 0x100>;
0340 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
0341 clocks = <&cpg CPG_MOD 61>;
0342 phys = <&usb2_phy0>;
0343 phy-names = "usb";
0344 power-domains = <&cpg>;
0345 status = "disabled";
0346 };
0347
0348 ehci0: usb@e8218100 {
0349 compatible = "generic-ehci";
0350 reg = <0xe8218100 0x100>;
0351 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
0352 clocks = <&cpg CPG_MOD 61>;
0353 phys = <&usb2_phy0>;
0354 phy-names = "usb";
0355 power-domains = <&cpg>;
0356 status = "disabled";
0357 };
0358
0359 usb2_phy0: usb-phy@e8218200 {
0360 compatible = "renesas,usb2-phy-r7s9210", "renesas,rcar-gen3-usb2-phy";
0361 reg = <0xe8218200 0x700>;
0362 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
0363 clocks = <&cpg CPG_MOD 61>, <&usb_x1_clk>;
0364 clock-names = "fck", "usb_x1";
0365 power-domains = <&cpg>;
0366 #phy-cells = <0>;
0367 status = "disabled";
0368 };
0369
0370 usbhs0: usb@e8219000 {
0371 compatible = "renesas,usbhs-r7s9210", "renesas,rza2-usbhs";
0372 reg = <0xe8219000 0x724>;
0373 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
0374 clocks = <&cpg CPG_MOD 61>;
0375 renesas,buswait = <7>;
0376 phys = <&usb2_phy0>;
0377 phy-names = "usb";
0378 power-domains = <&cpg>;
0379 status = "disabled";
0380 };
0381
0382 ohci1: usb@e821a000 {
0383 compatible = "generic-ohci";
0384 reg = <0xe821a000 0x100>;
0385 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
0386 clocks = <&cpg CPG_MOD 60>;
0387 phys = <&usb2_phy1>;
0388 phy-names = "usb";
0389 power-domains = <&cpg>;
0390 status = "disabled";
0391 };
0392
0393 ehci1: usb@e821a100 {
0394 compatible = "generic-ehci";
0395 reg = <0xe821a100 0x100>;
0396 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
0397 clocks = <&cpg CPG_MOD 60>;
0398 phys = <&usb2_phy1>;
0399 phy-names = "usb";
0400 power-domains = <&cpg>;
0401 status = "disabled";
0402 };
0403
0404 usb2_phy1: usb-phy@e821a200 {
0405 compatible = "renesas,usb2-phy-r7s9210", "renesas,rcar-gen3-usb2-phy";
0406 reg = <0xe821a200 0x700>;
0407 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
0408 clocks = <&cpg CPG_MOD 60>, <&usb_x1_clk>;
0409 clock-names = "fck", "usb_x1";
0410 power-domains = <&cpg>;
0411 #phy-cells = <0>;
0412 status = "disabled";
0413 };
0414
0415 usbhs1: usb@e821b000 {
0416 compatible = "renesas,usbhs-r7s9210", "renesas,rza2-usbhs";
0417 reg = <0xe821b000 0x724>;
0418 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
0419 clocks = <&cpg CPG_MOD 60>;
0420 renesas,buswait = <7>;
0421 phys = <&usb2_phy1>;
0422 phy-names = "usb";
0423 power-domains = <&cpg>;
0424 status = "disabled";
0425 };
0426
0427 sdhi0: mmc@e8228000 {
0428 compatible = "renesas,sdhi-r7s9210";
0429 reg = <0xe8228000 0x8c0>;
0430 interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>;
0431 clocks = <&cpg CPG_MOD 103>, <&cpg CPG_MOD 102>;
0432 clock-names = "core", "cd";
0433 power-domains = <&cpg>;
0434 cap-sd-highspeed;
0435 cap-sdio-irq;
0436 status = "disabled";
0437 };
0438
0439 sdhi1: mmc@e822a000 {
0440 compatible = "renesas,sdhi-r7s9210";
0441 reg = <0xe822a000 0x8c0>;
0442 interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>;
0443 clocks = <&cpg CPG_MOD 101>, <&cpg CPG_MOD 100>;
0444 clock-names = "core", "cd";
0445 power-domains = <&cpg>;
0446 cap-sd-highspeed;
0447 cap-sdio-irq;
0448 status = "disabled";
0449 };
0450
0451 gic: interrupt-controller@e8221000 {
0452 compatible = "arm,gic-400";
0453 #interrupt-cells = <3>;
0454 #address-cells = <0>;
0455 interrupt-controller;
0456 reg = <0xe8221000 0x1000>,
0457 <0xe8222000 0x1000>;
0458 };
0459
0460 cpg: clock-controller@fcfe0010 {
0461 compatible = "renesas,r7s9210-cpg-mssr";
0462 reg = <0xfcfe0010 0x455>;
0463 clocks = <&extal_clk>;
0464 clock-names = "extal";
0465 #clock-cells = <2>;
0466 #power-domain-cells = <0>;
0467 };
0468
0469 wdt: watchdog@fcfe7000 {
0470 compatible = "renesas,r7s9210-wdt", "renesas,rza-wdt";
0471 reg = <0xfcfe7000 0x26>;
0472 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
0473 clocks = <&cpg CPG_CORE R7S9210_CLK_P0>;
0474 };
0475
0476 bsid: chipid@fcfe8004 {
0477 compatible = "renesas,bsid";
0478 reg = <0xfcfe8004 4>;
0479 };
0480
0481 irqc: interrupt-controller@fcfef800 {
0482 compatible = "renesas,r7s9210-irqc",
0483 "renesas,rza1-irqc";
0484 #interrupt-cells = <2>;
0485 #address-cells = <0>;
0486 interrupt-controller;
0487 reg = <0xfcfef800 0x6>;
0488 interrupt-map =
0489 <0 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
0490 <1 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
0491 <2 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0492 <3 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0493 <4 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
0494 <5 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
0495 <6 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
0496 <7 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
0497 interrupt-map-mask = <7 0>;
0498 };
0499
0500 pinctrl: pinctrl@fcffe000 {
0501 compatible = "renesas,r7s9210-pinctrl";
0502 reg = <0xfcffe000 0x1000>;
0503
0504 gpio-controller;
0505 #gpio-cells = <2>;
0506 gpio-ranges = <&pinctrl 0 0 176>;
0507 };
0508 };
0509 };