xref: /freebsd/sys/contrib/device-tree/src/riscv/renesas/r9a07g043f.dtsi (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
18bab661aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28bab661aSEmmanuel Vadot/*
38bab661aSEmmanuel Vadot * Device Tree Source for the RZ/Five SoC
48bab661aSEmmanuel Vadot *
58bab661aSEmmanuel Vadot * Copyright (C) 2022 Renesas Electronics Corp.
68bab661aSEmmanuel Vadot */
78bab661aSEmmanuel Vadot
88bab661aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
98bab661aSEmmanuel Vadot
108bab661aSEmmanuel Vadot#define SOC_PERIPHERAL_IRQ(nr)	(nr + 32)
118bab661aSEmmanuel Vadot
128bab661aSEmmanuel Vadot#include <arm64/renesas/r9a07g043.dtsi>
138bab661aSEmmanuel Vadot
148bab661aSEmmanuel Vadot/ {
158bab661aSEmmanuel Vadot	cpus {
168bab661aSEmmanuel Vadot		#address-cells = <1>;
178bab661aSEmmanuel Vadot		#size-cells = <0>;
188bab661aSEmmanuel Vadot		timebase-frequency = <12000000>;
198bab661aSEmmanuel Vadot
208bab661aSEmmanuel Vadot		cpu0: cpu@0 {
218bab661aSEmmanuel Vadot			compatible = "andestech,ax45mp", "riscv";
228bab661aSEmmanuel Vadot			device_type = "cpu";
238bab661aSEmmanuel Vadot			#cooling-cells = <2>;
248bab661aSEmmanuel Vadot			reg = <0x0>;
258bab661aSEmmanuel Vadot			status = "okay";
268bab661aSEmmanuel Vadot			riscv,isa = "rv64imafdc";
278bab661aSEmmanuel Vadot			mmu-type = "riscv,sv39";
288bab661aSEmmanuel Vadot			i-cache-size = <0x8000>;
298bab661aSEmmanuel Vadot			i-cache-line-size = <0x40>;
308bab661aSEmmanuel Vadot			d-cache-size = <0x8000>;
318bab661aSEmmanuel Vadot			d-cache-line-size = <0x40>;
32*84943d6fSEmmanuel Vadot			next-level-cache = <&l2cache>;
338bab661aSEmmanuel Vadot			clocks = <&cpg CPG_CORE R9A07G043_CLK_I>;
348bab661aSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
358bab661aSEmmanuel Vadot
368bab661aSEmmanuel Vadot			cpu0_intc: interrupt-controller {
378bab661aSEmmanuel Vadot				#interrupt-cells = <1>;
388bab661aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
398bab661aSEmmanuel Vadot				interrupt-controller;
408bab661aSEmmanuel Vadot			};
418bab661aSEmmanuel Vadot		};
428bab661aSEmmanuel Vadot	};
438bab661aSEmmanuel Vadot};
448bab661aSEmmanuel Vadot
458bab661aSEmmanuel Vadot&soc {
46*84943d6fSEmmanuel Vadot	dma-noncoherent;
478bab661aSEmmanuel Vadot	interrupt-parent = <&plic>;
488bab661aSEmmanuel Vadot
498bab661aSEmmanuel Vadot	plic: interrupt-controller@12c00000 {
508bab661aSEmmanuel Vadot		compatible = "renesas,r9a07g043-plic", "andestech,nceplic100";
518bab661aSEmmanuel Vadot		#interrupt-cells = <2>;
528bab661aSEmmanuel Vadot		#address-cells = <0>;
538bab661aSEmmanuel Vadot		riscv,ndev = <511>;
548bab661aSEmmanuel Vadot		interrupt-controller;
558bab661aSEmmanuel Vadot		reg = <0x0 0x12c00000 0 0x400000>;
568bab661aSEmmanuel Vadot		clocks = <&cpg CPG_MOD R9A07G043_NCEPLIC_ACLK>;
578bab661aSEmmanuel Vadot		power-domains = <&cpg>;
588bab661aSEmmanuel Vadot		resets = <&cpg R9A07G043_NCEPLIC_ARESETN>;
598bab661aSEmmanuel Vadot		interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9>;
608bab661aSEmmanuel Vadot	};
61*84943d6fSEmmanuel Vadot
62*84943d6fSEmmanuel Vadot	l2cache: cache-controller@13400000 {
63*84943d6fSEmmanuel Vadot		compatible = "andestech,ax45mp-cache", "cache";
64*84943d6fSEmmanuel Vadot		reg = <0x0 0x13400000 0x0 0x100000>;
65*84943d6fSEmmanuel Vadot		interrupts = <SOC_PERIPHERAL_IRQ(476) IRQ_TYPE_LEVEL_HIGH>;
66*84943d6fSEmmanuel Vadot		cache-size = <0x40000>;
67*84943d6fSEmmanuel Vadot		cache-line-size = <64>;
68*84943d6fSEmmanuel Vadot		cache-sets = <1024>;
69*84943d6fSEmmanuel Vadot		cache-unified;
70*84943d6fSEmmanuel Vadot		cache-level = <2>;
71*84943d6fSEmmanuel Vadot	};
728bab661aSEmmanuel Vadot};
73