blob: 34c9088faeee9da97bf275f408e7d61551a82930 [file] [log] [blame]
/*
* Copyright (c) 2021,2025 Henrik Brix Andersen <henrik@brixandersen.dk>
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <skeleton.dtsi>
#include <zephyr/dt-bindings/gpio/gpio.h>
/ {
chosen {
zephyr,entropy = &trng;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
compatible = "neorv32,cpu", "riscv";
reg = <0>;
device_type = "cpu";
intc: interrupt-controller {
compatible = "riscv,cpu-intc";
interrupt-controller;
#address-cells = <1>;
#interrupt-cells = <1>;
firq: firq {
#address-cells = <1>;
interrupt-map-mask = <0x0 0xffffffff>;
interrupt-map = <
0 0 &intc 0 16
0 1 &intc 0 17
0 2 &intc 0 18
0 3 &intc 0 19
0 4 &intc 0 20
0 5 &intc 0 21
0 6 &intc 0 22
0 7 &intc 0 23
0 8 &intc 0 24
0 9 &intc 0 25
0 10 &intc 0 26
0 11 &intc 0 27
0 12 &intc 0 28
0 13 &intc 0 29
0 14 &intc 0 30
0 15 &intc 0 31
>;
#interrupt-cells = <1>;
};
};
};
};
soc {
compatible = "simple-bus";
interrupt-parent = <&firq>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
imem: memory@0 {
compatible = "soc-nv-flash", "mmio-sram";
status = "disabled";
};
dmem: memory@80000000 {
compatible = "mmio-sram";
status = "disabled";
};
bootrom: rom@ffe00000 {
compatible = "neorv32,bootrom", "mmio-sram";
status = "disabled";
reg = <0xffe00000 0x10000>;
};
clint: clint@fff40000 {
compatible = "neorv32,clint", "sifive,clint0";
status = "disabled";
reg = <0xfff40000 0x10000>;
interrupts-extended = <&intc 3>;
};
mtimer: timer@fff4bff8 {
compatible = "riscv,machine-timer";
status = "disabled";
reg = <0xfff4bff8 0x8 0xfff44000 0x8>;
reg-names = "mtime", "mtimecmp";
interrupts-extended = <&intc 7>;
};
uart0: serial@fff50000 {
compatible = "neorv32,uart";
status = "disabled";
reg = <0xfff50000 0x10000>;
interrupts = <2>, <3>;
interrupt-names = "RX", "TX";
syscon = <&sysinfo>;
};
uart1: serial@fff60000 {
compatible = "neorv32,uart";
status = "disabled";
reg = <0xfff60000 0x10000>;
interrupts = <4>, <5>;
interrupt-names = "RX", "TX";
syscon = <&sysinfo>;
};
trng: rng@fffa0000 {
compatible = "neorv32,trng";
status = "disabled";
reg = <0xfffa0000 0x10000>;
syscon = <&sysinfo>;
};
gpio: gpio@fffc0000 {
compatible = "neorv32,gpio";
status = "disabled";
reg = <0xfffc0000 0x10000>;
syscon = <&sysinfo>;
gpio-controller;
ngpios = <32>;
#gpio-cells = <2>;
};
sysinfo: syscon@fffe0000 {
compatible = "neorv-sysinfo", "syscon";
status = "okay";
reg = <0xfffe0000 0x10000>;
};
};
};