| /* |
| * 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>; |
| }; |
| }; |
| }; |