1b3e77da0SLad Prabhakar// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b3e77da0SLad Prabhakar/* 3b3e77da0SLad Prabhakar * Device Tree Source for the RZ/Five SoC 4b3e77da0SLad Prabhakar * 5b3e77da0SLad Prabhakar * Copyright (C) 2022 Renesas Electronics Corp. 6b3e77da0SLad Prabhakar */ 7b3e77da0SLad Prabhakar 8b3e77da0SLad Prabhakar#include <dt-bindings/interrupt-controller/irq.h> 9b3e77da0SLad Prabhakar 10b3e77da0SLad Prabhakar#define SOC_PERIPHERAL_IRQ(nr) (nr + 32) 11b3e77da0SLad Prabhakar 12b3e77da0SLad Prabhakar#include <arm64/renesas/r9a07g043.dtsi> 13b3e77da0SLad Prabhakar 14b3e77da0SLad Prabhakar/ { 15b3e77da0SLad Prabhakar cpus { 16b3e77da0SLad Prabhakar #address-cells = <1>; 17b3e77da0SLad Prabhakar #size-cells = <0>; 18b3e77da0SLad Prabhakar timebase-frequency = <12000000>; 19b3e77da0SLad Prabhakar 20b3e77da0SLad Prabhakar cpu0: cpu@0 { 21b3e77da0SLad Prabhakar compatible = "andestech,ax45mp", "riscv"; 22b3e77da0SLad Prabhakar device_type = "cpu"; 2342d3345eSLad Prabhakar #cooling-cells = <2>; 24b3e77da0SLad Prabhakar reg = <0x0>; 25b3e77da0SLad Prabhakar status = "okay"; 26b3e77da0SLad Prabhakar riscv,isa = "rv64imafdc"; 27bfc1d3a9SConor Dooley riscv,isa-base = "rv64i"; 28bfc1d3a9SConor Dooley riscv,isa-extensions = "i", "m", "a", "f", "d", "c", 29bfc1d3a9SConor Dooley "zicntr", "zicsr", "zifencei", 30270fc77eSYu Chien Peter Lin "zihpm", "xandespmu"; 31b3e77da0SLad Prabhakar mmu-type = "riscv,sv39"; 32b3e77da0SLad Prabhakar i-cache-size = <0x8000>; 33b3e77da0SLad Prabhakar i-cache-line-size = <0x40>; 34b3e77da0SLad Prabhakar d-cache-size = <0x8000>; 35b3e77da0SLad Prabhakar d-cache-line-size = <0x40>; 36a38b1061SLad Prabhakar next-level-cache = <&l2cache>; 37b3e77da0SLad Prabhakar clocks = <&cpg CPG_CORE R9A07G043_CLK_I>; 3842d3345eSLad Prabhakar operating-points-v2 = <&cluster0_opp>; 39b3e77da0SLad Prabhakar 40b3e77da0SLad Prabhakar cpu0_intc: interrupt-controller { 41b3e77da0SLad Prabhakar #interrupt-cells = <1>; 4295113bb7SYu Chien Peter Lin compatible = "andestech,cpu-intc", "riscv,cpu-intc"; 43b3e77da0SLad Prabhakar interrupt-controller; 44b3e77da0SLad Prabhakar }; 45b3e77da0SLad Prabhakar }; 46b3e77da0SLad Prabhakar }; 47b3e77da0SLad Prabhakar}; 48b3e77da0SLad Prabhakar 49fea58424SLad Prabhakar&pinctrl { 50fea58424SLad Prabhakar gpio-ranges = <&pinctrl 0 0 232>; 51fea58424SLad Prabhakar}; 52fea58424SLad Prabhakar 53b3e77da0SLad Prabhakar&soc { 549e40584dSLad Prabhakar dma-noncoherent; 55b3e77da0SLad Prabhakar interrupt-parent = <&plic>; 56b3e77da0SLad Prabhakar 57*808852faSLad Prabhakar irqc: interrupt-controller@110a0000 { 58*808852faSLad Prabhakar compatible = "renesas,r9a07g043f-irqc"; 59*808852faSLad Prabhakar reg = <0 0x110a0000 0 0x20000>; 60*808852faSLad Prabhakar #interrupt-cells = <2>; 61*808852faSLad Prabhakar #address-cells = <0>; 62*808852faSLad Prabhakar interrupt-controller; 63*808852faSLad Prabhakar interrupts = <32 IRQ_TYPE_LEVEL_HIGH>, 64*808852faSLad Prabhakar <33 IRQ_TYPE_LEVEL_HIGH>, 65*808852faSLad Prabhakar <34 IRQ_TYPE_LEVEL_HIGH>, 66*808852faSLad Prabhakar <35 IRQ_TYPE_LEVEL_HIGH>, 67*808852faSLad Prabhakar <36 IRQ_TYPE_LEVEL_HIGH>, 68*808852faSLad Prabhakar <37 IRQ_TYPE_LEVEL_HIGH>, 69*808852faSLad Prabhakar <38 IRQ_TYPE_LEVEL_HIGH>, 70*808852faSLad Prabhakar <39 IRQ_TYPE_LEVEL_HIGH>, 71*808852faSLad Prabhakar <40 IRQ_TYPE_LEVEL_HIGH>, 72*808852faSLad Prabhakar <476 IRQ_TYPE_LEVEL_HIGH>, 73*808852faSLad Prabhakar <477 IRQ_TYPE_LEVEL_HIGH>, 74*808852faSLad Prabhakar <478 IRQ_TYPE_LEVEL_HIGH>, 75*808852faSLad Prabhakar <479 IRQ_TYPE_LEVEL_HIGH>, 76*808852faSLad Prabhakar <480 IRQ_TYPE_LEVEL_HIGH>, 77*808852faSLad Prabhakar <481 IRQ_TYPE_LEVEL_HIGH>, 78*808852faSLad Prabhakar <482 IRQ_TYPE_LEVEL_HIGH>, 79*808852faSLad Prabhakar <483 IRQ_TYPE_LEVEL_HIGH>, 80*808852faSLad Prabhakar <484 IRQ_TYPE_LEVEL_HIGH>, 81*808852faSLad Prabhakar <485 IRQ_TYPE_LEVEL_HIGH>, 82*808852faSLad Prabhakar <486 IRQ_TYPE_LEVEL_HIGH>, 83*808852faSLad Prabhakar <487 IRQ_TYPE_LEVEL_HIGH>, 84*808852faSLad Prabhakar <488 IRQ_TYPE_LEVEL_HIGH>, 85*808852faSLad Prabhakar <489 IRQ_TYPE_LEVEL_HIGH>, 86*808852faSLad Prabhakar <490 IRQ_TYPE_LEVEL_HIGH>, 87*808852faSLad Prabhakar <491 IRQ_TYPE_LEVEL_HIGH>, 88*808852faSLad Prabhakar <492 IRQ_TYPE_LEVEL_HIGH>, 89*808852faSLad Prabhakar <493 IRQ_TYPE_LEVEL_HIGH>, 90*808852faSLad Prabhakar <494 IRQ_TYPE_LEVEL_HIGH>, 91*808852faSLad Prabhakar <495 IRQ_TYPE_LEVEL_HIGH>, 92*808852faSLad Prabhakar <496 IRQ_TYPE_LEVEL_HIGH>, 93*808852faSLad Prabhakar <497 IRQ_TYPE_LEVEL_HIGH>, 94*808852faSLad Prabhakar <498 IRQ_TYPE_LEVEL_HIGH>, 95*808852faSLad Prabhakar <499 IRQ_TYPE_LEVEL_HIGH>, 96*808852faSLad Prabhakar <500 IRQ_TYPE_LEVEL_HIGH>, 97*808852faSLad Prabhakar <501 IRQ_TYPE_LEVEL_HIGH>, 98*808852faSLad Prabhakar <502 IRQ_TYPE_LEVEL_HIGH>, 99*808852faSLad Prabhakar <503 IRQ_TYPE_LEVEL_HIGH>, 100*808852faSLad Prabhakar <504 IRQ_TYPE_LEVEL_HIGH>, 101*808852faSLad Prabhakar <505 IRQ_TYPE_LEVEL_HIGH>, 102*808852faSLad Prabhakar <506 IRQ_TYPE_LEVEL_HIGH>, 103*808852faSLad Prabhakar <507 IRQ_TYPE_LEVEL_HIGH>, 104*808852faSLad Prabhakar <57 IRQ_TYPE_LEVEL_HIGH>, 105*808852faSLad Prabhakar <66 IRQ_TYPE_EDGE_RISING>, 106*808852faSLad Prabhakar <67 IRQ_TYPE_EDGE_RISING>, 107*808852faSLad Prabhakar <68 IRQ_TYPE_EDGE_RISING>, 108*808852faSLad Prabhakar <69 IRQ_TYPE_EDGE_RISING>, 109*808852faSLad Prabhakar <70 IRQ_TYPE_EDGE_RISING>, 110*808852faSLad Prabhakar <71 IRQ_TYPE_EDGE_RISING>; 111*808852faSLad Prabhakar interrupt-names = "nmi", 112*808852faSLad Prabhakar "irq0", "irq1", "irq2", "irq3", 113*808852faSLad Prabhakar "irq4", "irq5", "irq6", "irq7", 114*808852faSLad Prabhakar "tint0", "tint1", "tint2", "tint3", 115*808852faSLad Prabhakar "tint4", "tint5", "tint6", "tint7", 116*808852faSLad Prabhakar "tint8", "tint9", "tint10", "tint11", 117*808852faSLad Prabhakar "tint12", "tint13", "tint14", "tint15", 118*808852faSLad Prabhakar "tint16", "tint17", "tint18", "tint19", 119*808852faSLad Prabhakar "tint20", "tint21", "tint22", "tint23", 120*808852faSLad Prabhakar "tint24", "tint25", "tint26", "tint27", 121*808852faSLad Prabhakar "tint28", "tint29", "tint30", "tint31", 122*808852faSLad Prabhakar "bus-err", "ec7tie1-0", "ec7tie2-0", 123*808852faSLad Prabhakar "ec7tiovf-0", "ec7tie1-1", "ec7tie2-1", 124*808852faSLad Prabhakar "ec7tiovf-1"; 125*808852faSLad Prabhakar clocks = <&cpg CPG_MOD R9A07G043_IAX45_CLK>, 126*808852faSLad Prabhakar <&cpg CPG_MOD R9A07G043_IAX45_PCLK>; 127*808852faSLad Prabhakar clock-names = "clk", "pclk"; 128*808852faSLad Prabhakar power-domains = <&cpg>; 129*808852faSLad Prabhakar resets = <&cpg R9A07G043_IAX45_RESETN>; 130*808852faSLad Prabhakar }; 131*808852faSLad Prabhakar 132b3e77da0SLad Prabhakar plic: interrupt-controller@12c00000 { 133b3e77da0SLad Prabhakar compatible = "renesas,r9a07g043-plic", "andestech,nceplic100"; 134b3e77da0SLad Prabhakar #interrupt-cells = <2>; 135b3e77da0SLad Prabhakar #address-cells = <0>; 136b3e77da0SLad Prabhakar riscv,ndev = <511>; 137b3e77da0SLad Prabhakar interrupt-controller; 138b3e77da0SLad Prabhakar reg = <0x0 0x12c00000 0 0x400000>; 139b3e77da0SLad Prabhakar clocks = <&cpg CPG_MOD R9A07G043_NCEPLIC_ACLK>; 140b3e77da0SLad Prabhakar power-domains = <&cpg>; 141b3e77da0SLad Prabhakar resets = <&cpg R9A07G043_NCEPLIC_ARESETN>; 142b3e77da0SLad Prabhakar interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9>; 143b3e77da0SLad Prabhakar }; 144a38b1061SLad Prabhakar 145a38b1061SLad Prabhakar l2cache: cache-controller@13400000 { 146a38b1061SLad Prabhakar compatible = "andestech,ax45mp-cache", "cache"; 147a38b1061SLad Prabhakar reg = <0x0 0x13400000 0x0 0x100000>; 148a38b1061SLad Prabhakar interrupts = <SOC_PERIPHERAL_IRQ(476) IRQ_TYPE_LEVEL_HIGH>; 149a38b1061SLad Prabhakar cache-size = <0x40000>; 150a38b1061SLad Prabhakar cache-line-size = <64>; 151a38b1061SLad Prabhakar cache-sets = <1024>; 152a38b1061SLad Prabhakar cache-unified; 153a38b1061SLad Prabhakar cache-level = <2>; 154a38b1061SLad Prabhakar }; 155b3e77da0SLad Prabhakar}; 156