xref: /freebsd/sys/contrib/device-tree/src/riscv/renesas/r9a07g043f.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
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";
27*8d13bc63SEmmanuel Vadot			riscv,isa-base = "rv64i";
28*8d13bc63SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
29*8d13bc63SEmmanuel Vadot					       "zicntr", "zicsr", "zifencei",
30*8d13bc63SEmmanuel Vadot					       "zihpm";
318bab661aSEmmanuel Vadot			mmu-type = "riscv,sv39";
328bab661aSEmmanuel Vadot			i-cache-size = <0x8000>;
338bab661aSEmmanuel Vadot			i-cache-line-size = <0x40>;
348bab661aSEmmanuel Vadot			d-cache-size = <0x8000>;
358bab661aSEmmanuel Vadot			d-cache-line-size = <0x40>;
3684943d6fSEmmanuel Vadot			next-level-cache = <&l2cache>;
378bab661aSEmmanuel Vadot			clocks = <&cpg CPG_CORE R9A07G043_CLK_I>;
388bab661aSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
398bab661aSEmmanuel Vadot
408bab661aSEmmanuel Vadot			cpu0_intc: interrupt-controller {
418bab661aSEmmanuel Vadot				#interrupt-cells = <1>;
428bab661aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
438bab661aSEmmanuel Vadot				interrupt-controller;
448bab661aSEmmanuel Vadot			};
458bab661aSEmmanuel Vadot		};
468bab661aSEmmanuel Vadot	};
478bab661aSEmmanuel Vadot};
488bab661aSEmmanuel Vadot
498bab661aSEmmanuel Vadot&soc {
5084943d6fSEmmanuel Vadot	dma-noncoherent;
518bab661aSEmmanuel Vadot	interrupt-parent = <&plic>;
528bab661aSEmmanuel Vadot
538bab661aSEmmanuel Vadot	plic: interrupt-controller@12c00000 {
548bab661aSEmmanuel Vadot		compatible = "renesas,r9a07g043-plic", "andestech,nceplic100";
558bab661aSEmmanuel Vadot		#interrupt-cells = <2>;
568bab661aSEmmanuel Vadot		#address-cells = <0>;
578bab661aSEmmanuel Vadot		riscv,ndev = <511>;
588bab661aSEmmanuel Vadot		interrupt-controller;
598bab661aSEmmanuel Vadot		reg = <0x0 0x12c00000 0 0x400000>;
608bab661aSEmmanuel Vadot		clocks = <&cpg CPG_MOD R9A07G043_NCEPLIC_ACLK>;
618bab661aSEmmanuel Vadot		power-domains = <&cpg>;
628bab661aSEmmanuel Vadot		resets = <&cpg R9A07G043_NCEPLIC_ARESETN>;
638bab661aSEmmanuel Vadot		interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9>;
648bab661aSEmmanuel Vadot	};
6584943d6fSEmmanuel Vadot
6684943d6fSEmmanuel Vadot	l2cache: cache-controller@13400000 {
6784943d6fSEmmanuel Vadot		compatible = "andestech,ax45mp-cache", "cache";
6884943d6fSEmmanuel Vadot		reg = <0x0 0x13400000 0x0 0x100000>;
6984943d6fSEmmanuel Vadot		interrupts = <SOC_PERIPHERAL_IRQ(476) IRQ_TYPE_LEVEL_HIGH>;
7084943d6fSEmmanuel Vadot		cache-size = <0x40000>;
7184943d6fSEmmanuel Vadot		cache-line-size = <64>;
7284943d6fSEmmanuel Vadot		cache-sets = <1024>;
7384943d6fSEmmanuel Vadot		cache-unified;
7484943d6fSEmmanuel Vadot		cache-level = <2>;
7584943d6fSEmmanuel Vadot	};
768bab661aSEmmanuel Vadot};
77