1f37a7767SYoshihiro Shimoda/* SPDX-License-Identifier: GPL-2.0 */ 2f37a7767SYoshihiro Shimoda/* 3f37a7767SYoshihiro Shimoda * Device Tree Source for the r8a77990 SoC 4f37a7767SYoshihiro Shimoda * 5f37a7767SYoshihiro Shimoda * Copyright (C) 2018 Renesas Electronics Corp. 6f37a7767SYoshihiro Shimoda */ 7f37a7767SYoshihiro Shimoda 8f37a7767SYoshihiro Shimoda#include <dt-bindings/clock/renesas-cpg-mssr.h> 9f37a7767SYoshihiro Shimoda#include <dt-bindings/interrupt-controller/arm-gic.h> 10f37a7767SYoshihiro Shimoda 11f37a7767SYoshihiro Shimoda/ { 12f37a7767SYoshihiro Shimoda compatible = "renesas,r8a77990"; 13f37a7767SYoshihiro Shimoda #address-cells = <2>; 14f37a7767SYoshihiro Shimoda #size-cells = <2>; 15f37a7767SYoshihiro Shimoda 16f37a7767SYoshihiro Shimoda cpus { 17f37a7767SYoshihiro Shimoda #address-cells = <1>; 18f37a7767SYoshihiro Shimoda #size-cells = <0>; 19f37a7767SYoshihiro Shimoda 20f37a7767SYoshihiro Shimoda /* 1 core only at this point */ 21f37a7767SYoshihiro Shimoda a53_0: cpu@0 { 22f37a7767SYoshihiro Shimoda compatible = "arm,cortex-a53", "arm,armv8"; 23f37a7767SYoshihiro Shimoda reg = <0x0>; 24f37a7767SYoshihiro Shimoda device_type = "cpu"; 25f37a7767SYoshihiro Shimoda power-domains = <&sysc 5>; 26f37a7767SYoshihiro Shimoda next-level-cache = <&L2_CA53>; 27f37a7767SYoshihiro Shimoda enable-method = "psci"; 28f37a7767SYoshihiro Shimoda }; 29f37a7767SYoshihiro Shimoda 30de1eb23cSYoshihiro Shimoda L2_CA53: cache-controller-0 { 31f37a7767SYoshihiro Shimoda compatible = "cache"; 32f37a7767SYoshihiro Shimoda power-domains = <&sysc 21>; 33f37a7767SYoshihiro Shimoda cache-unified; 34f37a7767SYoshihiro Shimoda cache-level = <2>; 35f37a7767SYoshihiro Shimoda }; 36f37a7767SYoshihiro Shimoda }; 37f37a7767SYoshihiro Shimoda 38f37a7767SYoshihiro Shimoda extal_clk: extal { 39f37a7767SYoshihiro Shimoda compatible = "fixed-clock"; 40f37a7767SYoshihiro Shimoda #clock-cells = <0>; 41f37a7767SYoshihiro Shimoda /* This value must be overridden by the board */ 42f37a7767SYoshihiro Shimoda clock-frequency = <0>; 43f37a7767SYoshihiro Shimoda }; 44f37a7767SYoshihiro Shimoda 45f37a7767SYoshihiro Shimoda pmu_a53 { 46f37a7767SYoshihiro Shimoda compatible = "arm,cortex-a53-pmu"; 47f37a7767SYoshihiro Shimoda interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 48f37a7767SYoshihiro Shimoda interrupt-affinity = <&a53_0>; 49f37a7767SYoshihiro Shimoda }; 50f37a7767SYoshihiro Shimoda 51f37a7767SYoshihiro Shimoda psci { 52bc26b8f4SYoshihiro Shimoda compatible = "arm,psci-1.0", "arm,psci-0.2"; 53f37a7767SYoshihiro Shimoda method = "smc"; 54f37a7767SYoshihiro Shimoda }; 55f37a7767SYoshihiro Shimoda 56f37a7767SYoshihiro Shimoda soc: soc { 57f37a7767SYoshihiro Shimoda compatible = "simple-bus"; 58f37a7767SYoshihiro Shimoda interrupt-parent = <&gic>; 59f37a7767SYoshihiro Shimoda #address-cells = <2>; 60f37a7767SYoshihiro Shimoda #size-cells = <2>; 61f37a7767SYoshihiro Shimoda ranges; 62f37a7767SYoshihiro Shimoda 63*eb614d94STakeshi Kihara rwdt: watchdog@e6020000 { 64*eb614d94STakeshi Kihara compatible = "renesas,r8a77990-wdt", 65*eb614d94STakeshi Kihara "renesas,rcar-gen3-wdt"; 66*eb614d94STakeshi Kihara reg = <0 0xe6020000 0 0x0c>; 67*eb614d94STakeshi Kihara clocks = <&cpg CPG_MOD 402>; 68*eb614d94STakeshi Kihara power-domains = <&sysc 32>; 69*eb614d94STakeshi Kihara resets = <&cpg 402>; 70*eb614d94STakeshi Kihara status = "disabled"; 71*eb614d94STakeshi Kihara }; 72*eb614d94STakeshi Kihara 730d292de1SYoshihiro Shimoda gpio0: gpio@e6050000 { 740d292de1SYoshihiro Shimoda compatible = "renesas,gpio-r8a77990", 750d292de1SYoshihiro Shimoda "renesas,rcar-gen3-gpio"; 760d292de1SYoshihiro Shimoda reg = <0 0xe6050000 0 0x50>; 770d292de1SYoshihiro Shimoda interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 780d292de1SYoshihiro Shimoda #gpio-cells = <2>; 790d292de1SYoshihiro Shimoda gpio-controller; 800d292de1SYoshihiro Shimoda gpio-ranges = <&pfc 0 0 18>; 810d292de1SYoshihiro Shimoda #interrupt-cells = <2>; 820d292de1SYoshihiro Shimoda interrupt-controller; 830d292de1SYoshihiro Shimoda clocks = <&cpg CPG_MOD 912>; 840d292de1SYoshihiro Shimoda power-domains = <&sysc 32>; 850d292de1SYoshihiro Shimoda resets = <&cpg 912>; 860d292de1SYoshihiro Shimoda }; 870d292de1SYoshihiro Shimoda 880d292de1SYoshihiro Shimoda gpio1: gpio@e6051000 { 890d292de1SYoshihiro Shimoda compatible = "renesas,gpio-r8a77990", 900d292de1SYoshihiro Shimoda "renesas,rcar-gen3-gpio"; 910d292de1SYoshihiro Shimoda reg = <0 0xe6051000 0 0x50>; 920d292de1SYoshihiro Shimoda interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 930d292de1SYoshihiro Shimoda #gpio-cells = <2>; 940d292de1SYoshihiro Shimoda gpio-controller; 950d292de1SYoshihiro Shimoda gpio-ranges = <&pfc 0 32 23>; 960d292de1SYoshihiro Shimoda #interrupt-cells = <2>; 970d292de1SYoshihiro Shimoda interrupt-controller; 980d292de1SYoshihiro Shimoda clocks = <&cpg CPG_MOD 911>; 990d292de1SYoshihiro Shimoda power-domains = <&sysc 32>; 1000d292de1SYoshihiro Shimoda resets = <&cpg 911>; 1010d292de1SYoshihiro Shimoda }; 1020d292de1SYoshihiro Shimoda 1030d292de1SYoshihiro Shimoda gpio2: gpio@e6052000 { 1040d292de1SYoshihiro Shimoda compatible = "renesas,gpio-r8a77990", 1050d292de1SYoshihiro Shimoda "renesas,rcar-gen3-gpio"; 1060d292de1SYoshihiro Shimoda reg = <0 0xe6052000 0 0x50>; 1070d292de1SYoshihiro Shimoda interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1080d292de1SYoshihiro Shimoda #gpio-cells = <2>; 1090d292de1SYoshihiro Shimoda gpio-controller; 1100d292de1SYoshihiro Shimoda gpio-ranges = <&pfc 0 64 26>; 1110d292de1SYoshihiro Shimoda #interrupt-cells = <2>; 1120d292de1SYoshihiro Shimoda interrupt-controller; 1130d292de1SYoshihiro Shimoda clocks = <&cpg CPG_MOD 910>; 1140d292de1SYoshihiro Shimoda power-domains = <&sysc 32>; 1150d292de1SYoshihiro Shimoda resets = <&cpg 910>; 1160d292de1SYoshihiro Shimoda }; 1170d292de1SYoshihiro Shimoda 1180d292de1SYoshihiro Shimoda gpio3: gpio@e6053000 { 1190d292de1SYoshihiro Shimoda compatible = "renesas,gpio-r8a77990", 1200d292de1SYoshihiro Shimoda "renesas,rcar-gen3-gpio"; 1210d292de1SYoshihiro Shimoda reg = <0 0xe6053000 0 0x50>; 1220d292de1SYoshihiro Shimoda interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1230d292de1SYoshihiro Shimoda #gpio-cells = <2>; 1240d292de1SYoshihiro Shimoda gpio-controller; 1250d292de1SYoshihiro Shimoda gpio-ranges = <&pfc 0 96 16>; 1260d292de1SYoshihiro Shimoda #interrupt-cells = <2>; 1270d292de1SYoshihiro Shimoda interrupt-controller; 1280d292de1SYoshihiro Shimoda clocks = <&cpg CPG_MOD 909>; 1290d292de1SYoshihiro Shimoda power-domains = <&sysc 32>; 1300d292de1SYoshihiro Shimoda resets = <&cpg 909>; 1310d292de1SYoshihiro Shimoda }; 1320d292de1SYoshihiro Shimoda 1330d292de1SYoshihiro Shimoda gpio4: gpio@e6054000 { 1340d292de1SYoshihiro Shimoda compatible = "renesas,gpio-r8a77990", 1350d292de1SYoshihiro Shimoda "renesas,rcar-gen3-gpio"; 1360d292de1SYoshihiro Shimoda reg = <0 0xe6054000 0 0x50>; 1370d292de1SYoshihiro Shimoda interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1380d292de1SYoshihiro Shimoda #gpio-cells = <2>; 1390d292de1SYoshihiro Shimoda gpio-controller; 1400d292de1SYoshihiro Shimoda gpio-ranges = <&pfc 0 128 11>; 1410d292de1SYoshihiro Shimoda #interrupt-cells = <2>; 1420d292de1SYoshihiro Shimoda interrupt-controller; 1430d292de1SYoshihiro Shimoda clocks = <&cpg CPG_MOD 908>; 1440d292de1SYoshihiro Shimoda power-domains = <&sysc 32>; 1450d292de1SYoshihiro Shimoda resets = <&cpg 908>; 1460d292de1SYoshihiro Shimoda }; 1470d292de1SYoshihiro Shimoda 1480d292de1SYoshihiro Shimoda gpio5: gpio@e6055000 { 1490d292de1SYoshihiro Shimoda compatible = "renesas,gpio-r8a77990", 1500d292de1SYoshihiro Shimoda "renesas,rcar-gen3-gpio"; 1510d292de1SYoshihiro Shimoda reg = <0 0xe6055000 0 0x50>; 1520d292de1SYoshihiro Shimoda interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1530d292de1SYoshihiro Shimoda #gpio-cells = <2>; 1540d292de1SYoshihiro Shimoda gpio-controller; 1550d292de1SYoshihiro Shimoda gpio-ranges = <&pfc 0 160 20>; 1560d292de1SYoshihiro Shimoda #interrupt-cells = <2>; 1570d292de1SYoshihiro Shimoda interrupt-controller; 1580d292de1SYoshihiro Shimoda clocks = <&cpg CPG_MOD 907>; 1590d292de1SYoshihiro Shimoda power-domains = <&sysc 32>; 1600d292de1SYoshihiro Shimoda resets = <&cpg 907>; 1610d292de1SYoshihiro Shimoda }; 1620d292de1SYoshihiro Shimoda 1630d292de1SYoshihiro Shimoda gpio6: gpio@e6055400 { 1640d292de1SYoshihiro Shimoda compatible = "renesas,gpio-r8a77990", 1650d292de1SYoshihiro Shimoda "renesas,rcar-gen3-gpio"; 1660d292de1SYoshihiro Shimoda reg = <0 0xe6055400 0 0x50>; 1670d292de1SYoshihiro Shimoda interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1680d292de1SYoshihiro Shimoda #gpio-cells = <2>; 1690d292de1SYoshihiro Shimoda gpio-controller; 1700d292de1SYoshihiro Shimoda gpio-ranges = <&pfc 0 192 18>; 1710d292de1SYoshihiro Shimoda #interrupt-cells = <2>; 1720d292de1SYoshihiro Shimoda interrupt-controller; 1730d292de1SYoshihiro Shimoda clocks = <&cpg CPG_MOD 906>; 1740d292de1SYoshihiro Shimoda power-domains = <&sysc 32>; 1750d292de1SYoshihiro Shimoda resets = <&cpg 906>; 1760d292de1SYoshihiro Shimoda }; 1770d292de1SYoshihiro Shimoda 1784ab0df33SYoshihiro Shimoda pfc: pin-controller@e6060000 { 1794ab0df33SYoshihiro Shimoda compatible = "renesas,pfc-r8a77990"; 1804ab0df33SYoshihiro Shimoda reg = <0 0xe6060000 0 0x508>; 1814ab0df33SYoshihiro Shimoda }; 1824ab0df33SYoshihiro Shimoda 183f37a7767SYoshihiro Shimoda cpg: clock-controller@e6150000 { 184f37a7767SYoshihiro Shimoda compatible = "renesas,r8a77990-cpg-mssr"; 185f37a7767SYoshihiro Shimoda reg = <0 0xe6150000 0 0x1000>; 186f37a7767SYoshihiro Shimoda clocks = <&extal_clk>; 187f37a7767SYoshihiro Shimoda clock-names = "extal"; 188f37a7767SYoshihiro Shimoda #clock-cells = <2>; 189f37a7767SYoshihiro Shimoda #power-domain-cells = <0>; 190f37a7767SYoshihiro Shimoda #reset-cells = <1>; 191f37a7767SYoshihiro Shimoda }; 192f37a7767SYoshihiro Shimoda 193f37a7767SYoshihiro Shimoda rst: reset-controller@e6160000 { 194f37a7767SYoshihiro Shimoda compatible = "renesas,r8a77990-rst"; 195f37a7767SYoshihiro Shimoda reg = <0 0xe6160000 0 0x0200>; 196f37a7767SYoshihiro Shimoda }; 197f37a7767SYoshihiro Shimoda 198f37a7767SYoshihiro Shimoda sysc: system-controller@e6180000 { 199f37a7767SYoshihiro Shimoda compatible = "renesas,r8a77990-sysc"; 200f37a7767SYoshihiro Shimoda reg = <0 0xe6180000 0 0x0400>; 201f37a7767SYoshihiro Shimoda #power-domain-cells = <1>; 202f37a7767SYoshihiro Shimoda }; 203f37a7767SYoshihiro Shimoda 204913a78b5SYoshihiro Shimoda avb: ethernet@e6800000 { 205913a78b5SYoshihiro Shimoda compatible = "renesas,etheravb-r8a77990", 206913a78b5SYoshihiro Shimoda "renesas,etheravb-rcar-gen3"; 207913a78b5SYoshihiro Shimoda reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>; 208913a78b5SYoshihiro Shimoda interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 209913a78b5SYoshihiro Shimoda <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 210913a78b5SYoshihiro Shimoda <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 211913a78b5SYoshihiro Shimoda <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 212913a78b5SYoshihiro Shimoda <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 213913a78b5SYoshihiro Shimoda <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 214913a78b5SYoshihiro Shimoda <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, 215913a78b5SYoshihiro Shimoda <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, 216913a78b5SYoshihiro Shimoda <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, 217913a78b5SYoshihiro Shimoda <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 218913a78b5SYoshihiro Shimoda <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 219913a78b5SYoshihiro Shimoda <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, 220913a78b5SYoshihiro Shimoda <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 221913a78b5SYoshihiro Shimoda <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 222913a78b5SYoshihiro Shimoda <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 223913a78b5SYoshihiro Shimoda <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 224913a78b5SYoshihiro Shimoda <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 225913a78b5SYoshihiro Shimoda <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 226913a78b5SYoshihiro Shimoda <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 227913a78b5SYoshihiro Shimoda <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 228913a78b5SYoshihiro Shimoda <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 229913a78b5SYoshihiro Shimoda <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 230913a78b5SYoshihiro Shimoda <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 231913a78b5SYoshihiro Shimoda <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, 232913a78b5SYoshihiro Shimoda <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 233913a78b5SYoshihiro Shimoda interrupt-names = "ch0", "ch1", "ch2", "ch3", 234913a78b5SYoshihiro Shimoda "ch4", "ch5", "ch6", "ch7", 235913a78b5SYoshihiro Shimoda "ch8", "ch9", "ch10", "ch11", 236913a78b5SYoshihiro Shimoda "ch12", "ch13", "ch14", "ch15", 237913a78b5SYoshihiro Shimoda "ch16", "ch17", "ch18", "ch19", 238913a78b5SYoshihiro Shimoda "ch20", "ch21", "ch22", "ch23", 239913a78b5SYoshihiro Shimoda "ch24"; 240913a78b5SYoshihiro Shimoda clocks = <&cpg CPG_MOD 812>; 241913a78b5SYoshihiro Shimoda power-domains = <&sysc 32>; 242913a78b5SYoshihiro Shimoda resets = <&cpg 812>; 243913a78b5SYoshihiro Shimoda phy-mode = "rgmii"; 244913a78b5SYoshihiro Shimoda #address-cells = <1>; 245913a78b5SYoshihiro Shimoda #size-cells = <0>; 246913a78b5SYoshihiro Shimoda status = "disabled"; 247913a78b5SYoshihiro Shimoda }; 248913a78b5SYoshihiro Shimoda 249f37a7767SYoshihiro Shimoda scif2: serial@e6e88000 { 250f37a7767SYoshihiro Shimoda compatible = "renesas,scif-r8a77990", 251f37a7767SYoshihiro Shimoda "renesas,rcar-gen3-scif", "renesas,scif"; 252f37a7767SYoshihiro Shimoda reg = <0 0xe6e88000 0 64>; 253f37a7767SYoshihiro Shimoda interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 254f37a7767SYoshihiro Shimoda clocks = <&cpg CPG_MOD 310>; 255f37a7767SYoshihiro Shimoda clock-names = "fck"; 256f37a7767SYoshihiro Shimoda power-domains = <&sysc 32>; 257f37a7767SYoshihiro Shimoda resets = <&cpg 310>; 258f37a7767SYoshihiro Shimoda status = "disabled"; 259f37a7767SYoshihiro Shimoda }; 260f37a7767SYoshihiro Shimoda 261f37a7767SYoshihiro Shimoda gic: interrupt-controller@f1010000 { 262f37a7767SYoshihiro Shimoda compatible = "arm,gic-400"; 263f37a7767SYoshihiro Shimoda #interrupt-cells = <3>; 264f37a7767SYoshihiro Shimoda #address-cells = <0>; 265f37a7767SYoshihiro Shimoda interrupt-controller; 266f37a7767SYoshihiro Shimoda reg = <0x0 0xf1010000 0 0x1000>, 267f37a7767SYoshihiro Shimoda <0x0 0xf1020000 0 0x20000>, 268f37a7767SYoshihiro Shimoda <0x0 0xf1040000 0 0x20000>, 269f37a7767SYoshihiro Shimoda <0x0 0xf1060000 0 0x20000>; 270f37a7767SYoshihiro Shimoda interrupts = <GIC_PPI 9 271f37a7767SYoshihiro Shimoda (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 272f37a7767SYoshihiro Shimoda clocks = <&cpg CPG_MOD 408>; 273f37a7767SYoshihiro Shimoda clock-names = "clk"; 274f37a7767SYoshihiro Shimoda power-domains = <&sysc 32>; 275f37a7767SYoshihiro Shimoda resets = <&cpg 408>; 276f37a7767SYoshihiro Shimoda }; 277f37a7767SYoshihiro Shimoda 278f37a7767SYoshihiro Shimoda prr: chipid@fff00044 { 279f37a7767SYoshihiro Shimoda compatible = "renesas,prr"; 280f37a7767SYoshihiro Shimoda reg = <0 0xfff00044 0 4>; 281f37a7767SYoshihiro Shimoda }; 282f37a7767SYoshihiro Shimoda }; 283f37a7767SYoshihiro Shimoda 284f37a7767SYoshihiro Shimoda timer { 285f37a7767SYoshihiro Shimoda compatible = "arm,armv8-timer"; 286f37a7767SYoshihiro Shimoda interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 287f37a7767SYoshihiro Shimoda <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 288f37a7767SYoshihiro Shimoda <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 289f37a7767SYoshihiro Shimoda <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 290f37a7767SYoshihiro Shimoda }; 291f37a7767SYoshihiro Shimoda}; 292