149669da6SLad Prabhakar// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 249669da6SLad Prabhakar/* 349669da6SLad Prabhakar * Device Tree Source for the RZ/G2UL SoC 449669da6SLad Prabhakar * 549669da6SLad Prabhakar * Copyright (C) 2022 Renesas Electronics Corp. 649669da6SLad Prabhakar */ 749669da6SLad Prabhakar 849669da6SLad Prabhakar#include <dt-bindings/interrupt-controller/arm-gic.h> 949669da6SLad Prabhakar 1049669da6SLad Prabhakar#define SOC_PERIPHERAL_IRQ(nr) GIC_SPI nr 1149669da6SLad Prabhakar 1249669da6SLad Prabhakar#include "r9a07g043.dtsi" 13b9a0be20SLad Prabhakar 14b9a0be20SLad Prabhakar/ { 15b9a0be20SLad Prabhakar cpus { 16b9a0be20SLad Prabhakar #address-cells = <1>; 17b9a0be20SLad Prabhakar #size-cells = <0>; 18b9a0be20SLad Prabhakar 19b9a0be20SLad Prabhakar cpu0: cpu@0 { 20b9a0be20SLad Prabhakar compatible = "arm,cortex-a55"; 21b9a0be20SLad Prabhakar reg = <0>; 22b9a0be20SLad Prabhakar device_type = "cpu"; 23b9a0be20SLad Prabhakar #cooling-cells = <2>; 24b9a0be20SLad Prabhakar next-level-cache = <&L3_CA55>; 25b9a0be20SLad Prabhakar enable-method = "psci"; 26b9a0be20SLad Prabhakar clocks = <&cpg CPG_CORE R9A07G043_CLK_I>; 27b9a0be20SLad Prabhakar operating-points-v2 = <&cluster0_opp>; 28b9a0be20SLad Prabhakar }; 29b9a0be20SLad Prabhakar 30b9a0be20SLad Prabhakar L3_CA55: cache-controller-0 { 31b9a0be20SLad Prabhakar compatible = "cache"; 32b9a0be20SLad Prabhakar cache-unified; 33b9a0be20SLad Prabhakar cache-size = <0x40000>; 344662d6e8SPierre Gondois cache-level = <3>; 35b9a0be20SLad Prabhakar }; 36b9a0be20SLad Prabhakar }; 37b9a0be20SLad Prabhakar 38b9a0be20SLad Prabhakar psci { 39b9a0be20SLad Prabhakar compatible = "arm,psci-1.0", "arm,psci-0.2"; 40b9a0be20SLad Prabhakar method = "smc"; 41b9a0be20SLad Prabhakar }; 42b9a0be20SLad Prabhakar 43b9a0be20SLad Prabhakar timer { 44b9a0be20SLad Prabhakar compatible = "arm,armv8-timer"; 45b9a0be20SLad Prabhakar interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 46b9a0be20SLad Prabhakar <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 47b9a0be20SLad Prabhakar <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 48b9a0be20SLad Prabhakar <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 49b9a0be20SLad Prabhakar }; 50b9a0be20SLad Prabhakar}; 51b9a0be20SLad Prabhakar 52b9a0be20SLad Prabhakar&soc { 53b9a0be20SLad Prabhakar interrupt-parent = <&gic>; 54b9a0be20SLad Prabhakar 55*48ab6eddSLad Prabhakar irqc: interrupt-controller@110a0000 { 56*48ab6eddSLad Prabhakar compatible = "renesas,r9a07g043u-irqc", 57*48ab6eddSLad Prabhakar "renesas,rzg2l-irqc"; 58*48ab6eddSLad Prabhakar reg = <0 0x110a0000 0 0x10000>; 59*48ab6eddSLad Prabhakar #interrupt-cells = <2>; 60*48ab6eddSLad Prabhakar #address-cells = <0>; 61*48ab6eddSLad Prabhakar interrupt-controller; 62*48ab6eddSLad Prabhakar interrupts = <SOC_PERIPHERAL_IRQ(0) IRQ_TYPE_LEVEL_HIGH>, 63*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(1) IRQ_TYPE_LEVEL_HIGH>, 64*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>, 65*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>, 66*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>, 67*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>, 68*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>, 69*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>, 70*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(8) IRQ_TYPE_LEVEL_HIGH>, 71*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(444) IRQ_TYPE_LEVEL_HIGH>, 72*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(445) IRQ_TYPE_LEVEL_HIGH>, 73*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(446) IRQ_TYPE_LEVEL_HIGH>, 74*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(447) IRQ_TYPE_LEVEL_HIGH>, 75*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(448) IRQ_TYPE_LEVEL_HIGH>, 76*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(449) IRQ_TYPE_LEVEL_HIGH>, 77*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(450) IRQ_TYPE_LEVEL_HIGH>, 78*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(451) IRQ_TYPE_LEVEL_HIGH>, 79*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(452) IRQ_TYPE_LEVEL_HIGH>, 80*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(453) IRQ_TYPE_LEVEL_HIGH>, 81*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(454) IRQ_TYPE_LEVEL_HIGH>, 82*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(455) IRQ_TYPE_LEVEL_HIGH>, 83*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(456) IRQ_TYPE_LEVEL_HIGH>, 84*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(457) IRQ_TYPE_LEVEL_HIGH>, 85*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(458) IRQ_TYPE_LEVEL_HIGH>, 86*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(459) IRQ_TYPE_LEVEL_HIGH>, 87*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(460) IRQ_TYPE_LEVEL_HIGH>, 88*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(461) IRQ_TYPE_LEVEL_HIGH>, 89*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(462) IRQ_TYPE_LEVEL_HIGH>, 90*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(463) IRQ_TYPE_LEVEL_HIGH>, 91*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(464) IRQ_TYPE_LEVEL_HIGH>, 92*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(465) IRQ_TYPE_LEVEL_HIGH>, 93*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(466) IRQ_TYPE_LEVEL_HIGH>, 94*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(467) IRQ_TYPE_LEVEL_HIGH>, 95*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(468) IRQ_TYPE_LEVEL_HIGH>, 96*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(469) IRQ_TYPE_LEVEL_HIGH>, 97*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(470) IRQ_TYPE_LEVEL_HIGH>, 98*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(471) IRQ_TYPE_LEVEL_HIGH>, 99*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(472) IRQ_TYPE_LEVEL_HIGH>, 100*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(473) IRQ_TYPE_LEVEL_HIGH>, 101*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(474) IRQ_TYPE_LEVEL_HIGH>, 102*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(475) IRQ_TYPE_LEVEL_HIGH>, 103*48ab6eddSLad Prabhakar <SOC_PERIPHERAL_IRQ(25) IRQ_TYPE_EDGE_RISING>; 104*48ab6eddSLad Prabhakar interrupt-names = "nmi", 105*48ab6eddSLad Prabhakar "irq0", "irq1", "irq2", "irq3", 106*48ab6eddSLad Prabhakar "irq4", "irq5", "irq6", "irq7", 107*48ab6eddSLad Prabhakar "tint0", "tint1", "tint2", "tint3", 108*48ab6eddSLad Prabhakar "tint4", "tint5", "tint6", "tint7", 109*48ab6eddSLad Prabhakar "tint8", "tint9", "tint10", "tint11", 110*48ab6eddSLad Prabhakar "tint12", "tint13", "tint14", "tint15", 111*48ab6eddSLad Prabhakar "tint16", "tint17", "tint18", "tint19", 112*48ab6eddSLad Prabhakar "tint20", "tint21", "tint22", "tint23", 113*48ab6eddSLad Prabhakar "tint24", "tint25", "tint26", "tint27", 114*48ab6eddSLad Prabhakar "tint28", "tint29", "tint30", "tint31", 115*48ab6eddSLad Prabhakar "bus-err"; 116*48ab6eddSLad Prabhakar clocks = <&cpg CPG_MOD R9A07G043_IA55_CLK>, 117*48ab6eddSLad Prabhakar <&cpg CPG_MOD R9A07G043_IA55_PCLK>; 118*48ab6eddSLad Prabhakar clock-names = "clk", "pclk"; 119*48ab6eddSLad Prabhakar power-domains = <&cpg>; 120*48ab6eddSLad Prabhakar resets = <&cpg R9A07G043_IA55_RESETN>; 121*48ab6eddSLad Prabhakar }; 122*48ab6eddSLad Prabhakar 123b9a0be20SLad Prabhakar gic: interrupt-controller@11900000 { 124b9a0be20SLad Prabhakar compatible = "arm,gic-v3"; 125b9a0be20SLad Prabhakar #interrupt-cells = <3>; 126b9a0be20SLad Prabhakar #address-cells = <0>; 127b9a0be20SLad Prabhakar interrupt-controller; 128b9a0be20SLad Prabhakar reg = <0x0 0x11900000 0 0x40000>, 129b9a0be20SLad Prabhakar <0x0 0x11940000 0 0x60000>; 130b9a0be20SLad Prabhakar interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>; 131b9a0be20SLad Prabhakar }; 132b9a0be20SLad Prabhakar}; 133b9a0be20SLad Prabhakar 134b9a0be20SLad Prabhakar&sysc { 135b9a0be20SLad Prabhakar interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>, 136b9a0be20SLad Prabhakar <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>, 137b9a0be20SLad Prabhakar <SOC_PERIPHERAL_IRQ(44) IRQ_TYPE_LEVEL_HIGH>, 138b9a0be20SLad Prabhakar <SOC_PERIPHERAL_IRQ(45) IRQ_TYPE_LEVEL_HIGH>; 139b9a0be20SLad Prabhakar interrupt-names = "lpm_int", "ca55stbydone_int", 140b9a0be20SLad Prabhakar "cm33stbyr_int", "ca55_deny"; 141b9a0be20SLad Prabhakar}; 142