blob: 4050ce2f051d58d1e4eac9a1e2a0026dda192396 [file] [log] [blame]
Michal Simek962c10a2023-11-06 12:56:47 +01001// SPDX-License-Identifier: GPL-2.0
2/*
3 * dts file for AMD MicroBlaze V
4 *
5 * (C) Copyright 2023, Advanced Micro Devices, Inc.
6 *
7 * Michal Simek <michal.simek@amd.com>
8 */
9
10/dts-v1/;
Michal Simek54a898c2024-02-14 12:52:33 +010011
12#include "binman.dtsi"
13
Michal Simek962c10a2023-11-06 12:56:47 +010014/ {
15 #address-cells = <1>;
16 #size-cells = <1>;
17 model = "AMD MicroBlaze V 32bit";
Michal Simekd0f9f3a2023-12-20 15:53:28 +010018 compatible = "qemu,mbv", "amd,mbv";
Michal Simek962c10a2023-11-06 12:56:47 +010019
20 cpus: cpus {
21 #address-cells = <1>;
22 #size-cells = <0>;
Michal Simeke38abd72024-10-23 08:06:40 +020023 timebase-frequency = <100000000>;
Michal Simek962c10a2023-11-06 12:56:47 +010024 cpu_0: cpu@0 {
25 compatible = "amd,mbv32", "riscv";
26 device_type = "cpu";
27 reg = <0>;
28 riscv,isa = "rv32imafdc";
29 i-cache-size = <32768>;
30 d-cache-size = <32768>;
Michal Simeke38abd72024-10-23 08:06:40 +020031 clock-frequency = <100000000>;
Michal Simek962c10a2023-11-06 12:56:47 +010032 cpu0_intc: interrupt-controller {
33 compatible = "riscv,cpu-intc";
34 interrupt-controller;
35 #interrupt-cells = <1>;
36 };
37 };
38 };
39
40 aliases {
41 serial0 = &uart0;
42 };
43
44 chosen {
45 bootargs = "earlycon";
46 stdout-path = "serial0:115200n8";
47 };
48
Michal Simeke38abd72024-10-23 08:06:40 +020049 memory@80000000 {
Michal Simek962c10a2023-11-06 12:56:47 +010050 device_type = "memory";
Michal Simeke38abd72024-10-23 08:06:40 +020051 reg = <0x80000000 0x40000000>;
Michal Simek962c10a2023-11-06 12:56:47 +010052 };
53
Michal Simeke38abd72024-10-23 08:06:40 +020054 clk100: clock {
Michal Simek962c10a2023-11-06 12:56:47 +010055 compatible = "fixed-clock";
56 #clock-cells = <0>;
Michal Simeke38abd72024-10-23 08:06:40 +020057 clock-frequency = <100000000>;
Michal Simek962c10a2023-11-06 12:56:47 +010058 };
59
60 axi: axi {
61 #address-cells = <1>;
62 #size-cells = <1>;
63 compatible = "simple-bus";
64 ranges;
65 bootph-all;
66
67 axi_intc: interrupt-controller@41200000 {
68 compatible = "xlnx,xps-intc-1.00.a";
69 reg = <0x41200000 0x1000>;
70 interrupt-controller;
71 interrupt-parent = <&cpu0_intc>;
72 #interrupt-cells = <2>;
73 kind-of-intr = <0>;
74 };
75
76 xlnx_timer0: timer@41c00000 {
77 compatible = "xlnx,xps-timer-1.00.a";
78 reg = <0x41c00000 0x1000>;
79 interrupt-parent = <&axi_intc>;
Michal Simek962c10a2023-11-06 12:56:47 +010080 interrupts = <0 2>;
Michal Simeke38abd72024-10-23 08:06:40 +020081 bootph-all;
Michal Simek962c10a2023-11-06 12:56:47 +010082 xlnx,one-timer-only = <0>;
83 clock-names = "s_axi_aclk";
Michal Simeke38abd72024-10-23 08:06:40 +020084 clocks = <&clk100>;
Michal Simek962c10a2023-11-06 12:56:47 +010085 };
86
87 uart0: serial@40600000 {
88 compatible = "xlnx,xps-uartlite-1.00.a";
89 reg = <0x40600000 0x1000>;
90 interrupt-parent = <&axi_intc>;
Michal Simeke38abd72024-10-23 08:06:40 +020091 interrupts = <1 2>;
Michal Simek962c10a2023-11-06 12:56:47 +010092 bootph-all;
Michal Simeke38abd72024-10-23 08:06:40 +020093 clocks = <&clk100>;
Michal Simek962c10a2023-11-06 12:56:47 +010094 current-speed = <115200>;
95 xlnx,data-bits = <8>;
96 xlnx,use-parity = <0>;
97 };
98 };
99};