190493b09SBiju Das// SPDX-License-Identifier: GPL-2.0 290493b09SBiju Das/* 390493b09SBiju Das * Device Tree Source for the r8a774a1 SoC 490493b09SBiju Das * 590493b09SBiju Das * Copyright (C) 2018 Renesas Electronics Corp. 690493b09SBiju Das */ 790493b09SBiju Das 890493b09SBiju Das#include <dt-bindings/interrupt-controller/irq.h> 990493b09SBiju Das#include <dt-bindings/interrupt-controller/arm-gic.h> 1090493b09SBiju Das#include <dt-bindings/clock/renesas-cpg-mssr.h> 1190493b09SBiju Das 1290493b09SBiju Das/ { 1390493b09SBiju Das compatible = "renesas,r8a774a1"; 1490493b09SBiju Das #address-cells = <2>; 1590493b09SBiju Das #size-cells = <2>; 1690493b09SBiju Das 1790493b09SBiju Das /* 1890493b09SBiju Das * The external audio clocks are configured as 0 Hz fixed frequency 1990493b09SBiju Das * clocks by default. 2090493b09SBiju Das * Boards that provide audio clocks should override them. 2190493b09SBiju Das */ 2290493b09SBiju Das audio_clk_a: audio_clk_a { 2390493b09SBiju Das compatible = "fixed-clock"; 2490493b09SBiju Das #clock-cells = <0>; 2590493b09SBiju Das clock-frequency = <0>; 2690493b09SBiju Das }; 2790493b09SBiju Das 2890493b09SBiju Das audio_clk_b: audio_clk_b { 2990493b09SBiju Das compatible = "fixed-clock"; 3090493b09SBiju Das #clock-cells = <0>; 3190493b09SBiju Das clock-frequency = <0>; 3290493b09SBiju Das }; 3390493b09SBiju Das 3490493b09SBiju Das audio_clk_c: audio_clk_c { 3590493b09SBiju Das compatible = "fixed-clock"; 3690493b09SBiju Das #clock-cells = <0>; 3790493b09SBiju Das clock-frequency = <0>; 3890493b09SBiju Das }; 3990493b09SBiju Das 4090493b09SBiju Das /* External CAN clock - to be overridden by boards that provide it */ 4190493b09SBiju Das can_clk: can { 4290493b09SBiju Das compatible = "fixed-clock"; 4390493b09SBiju Das #clock-cells = <0>; 4490493b09SBiju Das clock-frequency = <0>; 4590493b09SBiju Das }; 4690493b09SBiju Das 4790493b09SBiju Das cpus { 4890493b09SBiju Das #address-cells = <1>; 4990493b09SBiju Das #size-cells = <0>; 5090493b09SBiju Das 5190493b09SBiju Das a57_0: cpu@0 { 5290493b09SBiju Das compatible = "arm,cortex-a57", "arm,armv8"; 5390493b09SBiju Das reg = <0x0>; 5490493b09SBiju Das device_type = "cpu"; 5590493b09SBiju Das power-domains = <&sysc 0>; 5690493b09SBiju Das next-level-cache = <&L2_CA57>; 5790493b09SBiju Das enable-method = "psci"; 5890493b09SBiju Das clocks =<&cpg CPG_CORE 0>; 5990493b09SBiju Das }; 6090493b09SBiju Das 6190493b09SBiju Das a57_1: cpu@1 { 6290493b09SBiju Das compatible = "arm,cortex-a57", "arm,armv8"; 6390493b09SBiju Das reg = <0x1>; 6490493b09SBiju Das device_type = "cpu"; 6590493b09SBiju Das power-domains = <&sysc 1>; 6690493b09SBiju Das next-level-cache = <&L2_CA57>; 6790493b09SBiju Das enable-method = "psci"; 6890493b09SBiju Das clocks =<&cpg CPG_CORE 0>; 6990493b09SBiju Das }; 7090493b09SBiju Das 7190493b09SBiju Das L2_CA57: cache-controller-0 { 7290493b09SBiju Das compatible = "cache"; 7390493b09SBiju Das power-domains = <&sysc 12>; 7490493b09SBiju Das cache-unified; 7590493b09SBiju Das cache-level = <2>; 7690493b09SBiju Das }; 7790493b09SBiju Das }; 7890493b09SBiju Das 7990493b09SBiju Das extal_clk: extal { 8090493b09SBiju Das compatible = "fixed-clock"; 8190493b09SBiju Das #clock-cells = <0>; 8290493b09SBiju Das /* This value must be overridden by the board */ 8390493b09SBiju Das clock-frequency = <0>; 8490493b09SBiju Das }; 8590493b09SBiju Das 8690493b09SBiju Das extalr_clk: extalr { 8790493b09SBiju Das compatible = "fixed-clock"; 8890493b09SBiju Das #clock-cells = <0>; 8990493b09SBiju Das /* This value must be overridden by the board */ 9090493b09SBiju Das clock-frequency = <0>; 9190493b09SBiju Das }; 9290493b09SBiju Das 9390493b09SBiju Das /* External PCIe clock - can be overridden by the board */ 9490493b09SBiju Das pcie_bus_clk: pcie_bus { 9590493b09SBiju Das compatible = "fixed-clock"; 9690493b09SBiju Das #clock-cells = <0>; 9790493b09SBiju Das clock-frequency = <0>; 9890493b09SBiju Das }; 9990493b09SBiju Das 10090493b09SBiju Das pmu_a57 { 10190493b09SBiju Das compatible = "arm,cortex-a57-pmu"; 10290493b09SBiju Das interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 10390493b09SBiju Das <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 10490493b09SBiju Das interrupt-affinity = <&a57_0>, <&a57_1>; 10590493b09SBiju Das }; 10690493b09SBiju Das 10790493b09SBiju Das psci { 10890493b09SBiju Das compatible = "arm,psci-1.0", "arm,psci-0.2"; 10990493b09SBiju Das method = "smc"; 11090493b09SBiju Das }; 11190493b09SBiju Das 11290493b09SBiju Das /* External SCIF clock - to be overridden by boards that provide it */ 11390493b09SBiju Das scif_clk: scif { 11490493b09SBiju Das compatible = "fixed-clock"; 11590493b09SBiju Das #clock-cells = <0>; 11690493b09SBiju Das clock-frequency = <0>; 11790493b09SBiju Das }; 11890493b09SBiju Das 11990493b09SBiju Das soc { 12090493b09SBiju Das compatible = "simple-bus"; 12190493b09SBiju Das interrupt-parent = <&gic>; 12290493b09SBiju Das #address-cells = <2>; 12390493b09SBiju Das #size-cells = <2>; 12490493b09SBiju Das ranges; 12590493b09SBiju Das 12690493b09SBiju Das cpg: clock-controller@e6150000 { 12790493b09SBiju Das compatible = "renesas,r8a774a1-cpg-mssr"; 12890493b09SBiju Das reg = <0 0xe6150000 0 0x0bb0>; 12990493b09SBiju Das clocks = <&extal_clk>, <&extalr_clk>; 13090493b09SBiju Das clock-names = "extal", "extalr"; 13190493b09SBiju Das #clock-cells = <2>; 13290493b09SBiju Das #power-domain-cells = <0>; 13390493b09SBiju Das #reset-cells = <1>; 13490493b09SBiju Das }; 13590493b09SBiju Das 13690493b09SBiju Das rst: reset-controller@e6160000 { 13790493b09SBiju Das compatible = "renesas,r8a774a1-rst"; 13890493b09SBiju Das reg = <0 0xe6160000 0 0x018c>; 13990493b09SBiju Das }; 14090493b09SBiju Das 14190493b09SBiju Das sysc: system-controller@e6180000 { 14290493b09SBiju Das compatible = "renesas,r8a774a1-sysc"; 14390493b09SBiju Das reg = <0 0xe6180000 0 0x0400>; 14490493b09SBiju Das #power-domain-cells = <1>; 14590493b09SBiju Das }; 14690493b09SBiju Das 147*37a61e4dSBiju Das dmac0: dma-controller@e6700000 { 148*37a61e4dSBiju Das compatible = "renesas,dmac-r8a774a1", 149*37a61e4dSBiju Das "renesas,rcar-dmac"; 150*37a61e4dSBiju Das reg = <0 0xe6700000 0 0x10000>; 151*37a61e4dSBiju Das interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH 152*37a61e4dSBiju Das GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH 153*37a61e4dSBiju Das GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH 154*37a61e4dSBiju Das GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 155*37a61e4dSBiju Das GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 156*37a61e4dSBiju Das GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 157*37a61e4dSBiju Das GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 158*37a61e4dSBiju Das GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH 159*37a61e4dSBiju Das GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH 160*37a61e4dSBiju Das GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH 161*37a61e4dSBiju Das GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH 162*37a61e4dSBiju Das GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH 163*37a61e4dSBiju Das GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH 164*37a61e4dSBiju Das GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH 165*37a61e4dSBiju Das GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH 166*37a61e4dSBiju Das GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH 167*37a61e4dSBiju Das GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; 168*37a61e4dSBiju Das interrupt-names = "error", 169*37a61e4dSBiju Das "ch0", "ch1", "ch2", "ch3", 170*37a61e4dSBiju Das "ch4", "ch5", "ch6", "ch7", 171*37a61e4dSBiju Das "ch8", "ch9", "ch10", "ch11", 172*37a61e4dSBiju Das "ch12", "ch13", "ch14", "ch15"; 173*37a61e4dSBiju Das clocks = <&cpg CPG_MOD 219>; 174*37a61e4dSBiju Das clock-names = "fck"; 175*37a61e4dSBiju Das power-domains = <&sysc 32>; 176*37a61e4dSBiju Das resets = <&cpg 219>; 177*37a61e4dSBiju Das #dma-cells = <1>; 178*37a61e4dSBiju Das dma-channels = <16>; 179*37a61e4dSBiju Das }; 180*37a61e4dSBiju Das 181*37a61e4dSBiju Das dmac1: dma-controller@e7300000 { 182*37a61e4dSBiju Das compatible = "renesas,dmac-r8a774a1", 183*37a61e4dSBiju Das "renesas,rcar-dmac"; 184*37a61e4dSBiju Das reg = <0 0xe7300000 0 0x10000>; 185*37a61e4dSBiju Das interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 186*37a61e4dSBiju Das GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 187*37a61e4dSBiju Das GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH 188*37a61e4dSBiju Das GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH 189*37a61e4dSBiju Das GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH 190*37a61e4dSBiju Das GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH 191*37a61e4dSBiju Das GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 192*37a61e4dSBiju Das GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH 193*37a61e4dSBiju Das GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH 194*37a61e4dSBiju Das GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH 195*37a61e4dSBiju Das GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH 196*37a61e4dSBiju Das GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH 197*37a61e4dSBiju Das GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH 198*37a61e4dSBiju Das GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH 199*37a61e4dSBiju Das GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 200*37a61e4dSBiju Das GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 201*37a61e4dSBiju Das GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>; 202*37a61e4dSBiju Das interrupt-names = "error", 203*37a61e4dSBiju Das "ch0", "ch1", "ch2", "ch3", 204*37a61e4dSBiju Das "ch4", "ch5", "ch6", "ch7", 205*37a61e4dSBiju Das "ch8", "ch9", "ch10", "ch11", 206*37a61e4dSBiju Das "ch12", "ch13", "ch14", "ch15"; 207*37a61e4dSBiju Das clocks = <&cpg CPG_MOD 218>; 208*37a61e4dSBiju Das clock-names = "fck"; 209*37a61e4dSBiju Das power-domains = <&sysc 32>; 210*37a61e4dSBiju Das resets = <&cpg 218>; 211*37a61e4dSBiju Das #dma-cells = <1>; 212*37a61e4dSBiju Das dma-channels = <16>; 213*37a61e4dSBiju Das }; 214*37a61e4dSBiju Das 215*37a61e4dSBiju Das dmac2: dma-controller@e7310000 { 216*37a61e4dSBiju Das compatible = "renesas,dmac-r8a774a1", 217*37a61e4dSBiju Das "renesas,rcar-dmac"; 218*37a61e4dSBiju Das reg = <0 0xe7310000 0 0x10000>; 219*37a61e4dSBiju Das interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH 220*37a61e4dSBiju Das GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH 221*37a61e4dSBiju Das GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH 222*37a61e4dSBiju Das GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH 223*37a61e4dSBiju Das GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH 224*37a61e4dSBiju Das GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH 225*37a61e4dSBiju Das GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH 226*37a61e4dSBiju Das GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH 227*37a61e4dSBiju Das GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH 228*37a61e4dSBiju Das GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 229*37a61e4dSBiju Das GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 230*37a61e4dSBiju Das GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH 231*37a61e4dSBiju Das GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH 232*37a61e4dSBiju Das GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH 233*37a61e4dSBiju Das GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH 234*37a61e4dSBiju Das GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH 235*37a61e4dSBiju Das GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>; 236*37a61e4dSBiju Das interrupt-names = "error", 237*37a61e4dSBiju Das "ch0", "ch1", "ch2", "ch3", 238*37a61e4dSBiju Das "ch4", "ch5", "ch6", "ch7", 239*37a61e4dSBiju Das "ch8", "ch9", "ch10", "ch11", 240*37a61e4dSBiju Das "ch12", "ch13", "ch14", "ch15"; 241*37a61e4dSBiju Das clocks = <&cpg CPG_MOD 217>; 242*37a61e4dSBiju Das clock-names = "fck"; 243*37a61e4dSBiju Das power-domains = <&sysc 32>; 244*37a61e4dSBiju Das resets = <&cpg 217>; 245*37a61e4dSBiju Das #dma-cells = <1>; 246*37a61e4dSBiju Das dma-channels = <16>; 247*37a61e4dSBiju Das }; 248*37a61e4dSBiju Das 24990493b09SBiju Das gic: interrupt-controller@f1010000 { 25090493b09SBiju Das compatible = "arm,gic-400"; 25190493b09SBiju Das #interrupt-cells = <3>; 25290493b09SBiju Das #address-cells = <0>; 25390493b09SBiju Das interrupt-controller; 25490493b09SBiju Das reg = <0x0 0xf1010000 0 0x1000>, 25590493b09SBiju Das <0x0 0xf1020000 0 0x20000>, 25690493b09SBiju Das <0x0 0xf1040000 0 0x20000>, 25790493b09SBiju Das <0x0 0xf1060000 0 0x20000>; 25890493b09SBiju Das interrupts = <GIC_PPI 9 25990493b09SBiju Das (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 26090493b09SBiju Das clocks = <&cpg CPG_MOD 408>; 26190493b09SBiju Das clock-names = "clk"; 26290493b09SBiju Das power-domains = <&sysc 32>; 26390493b09SBiju Das resets = <&cpg 408>; 26490493b09SBiju Das }; 26590493b09SBiju Das 26690493b09SBiju Das prr: chipid@fff00044 { 26790493b09SBiju Das compatible = "renesas,prr"; 26890493b09SBiju Das reg = <0 0xfff00044 0 4>; 26990493b09SBiju Das }; 27090493b09SBiju Das }; 27190493b09SBiju Das 27290493b09SBiju Das timer { 27390493b09SBiju Das compatible = "arm,armv8-timer"; 27490493b09SBiju Das interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 27590493b09SBiju Das <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 27690493b09SBiju Das <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 27790493b09SBiju Das <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 27890493b09SBiju Das }; 27990493b09SBiju Das 28090493b09SBiju Das /* External USB clocks - can be overridden by the board */ 28190493b09SBiju Das usb3s0_clk: usb3s0 { 28290493b09SBiju Das compatible = "fixed-clock"; 28390493b09SBiju Das #clock-cells = <0>; 28490493b09SBiju Das clock-frequency = <0>; 28590493b09SBiju Das }; 28690493b09SBiju Das 28790493b09SBiju Das usb_extal_clk: usb_extal { 28890493b09SBiju Das compatible = "fixed-clock"; 28990493b09SBiju Das #clock-cells = <0>; 29090493b09SBiju Das clock-frequency = <0>; 29190493b09SBiju Das }; 29290493b09SBiju Das}; 293