aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/dts/xilinx-mbv32.dts
blob: 6a6b8b694bd1857f668c1c4550ae99c4ada36985 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// SPDX-License-Identifier: GPL-2.0
/*
 * dts file for AMD MicroBlaze V
 *
 * (C) Copyright 2023, Advanced Micro Devices, Inc.
 *
 * Michal Simek <michal.simek@amd.com>
 */

/dts-v1/;
/ {
	#address-cells = <1>;
	#size-cells = <1>;
	model = "AMD MicroBlaze V 32bit";
	compatible = "amd,mbv";

	cpus: cpus {
		#address-cells = <1>;
		#size-cells = <0>;
		timebase-frequency = <102000000>;
		cpu_0: cpu@0 {
			compatible = "amd,mbv32", "riscv";
			device_type = "cpu";
			reg = <0>;
			riscv,isa = "rv32imafdc";
			i-cache-size = <32768>;
			d-cache-size = <32768>;
			clock-frequency = <102000000>;
			cpu0_intc: interrupt-controller {
				compatible = "riscv,cpu-intc";
				interrupt-controller;
				#interrupt-cells = <1>;
			};
		};
	};

	aliases {
		serial0 = &uart0;
	};

	chosen {
		bootargs = "earlycon";
		stdout-path = "serial0:115200n8";
	};

	memory@20000000 {
		device_type = "memory";
		reg = <0x20000000 0x20000000>;
	};

	clk102: clock {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <102000000>;
	};

	axi: axi {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges;
		bootph-all;

		axi_intc: interrupt-controller@41200000 {
			compatible = "xlnx,xps-intc-1.00.a";
			reg = <0x41200000 0x1000>;
			interrupt-controller;
			interrupt-parent = <&cpu0_intc>;
			#interrupt-cells = <2>;
			kind-of-intr = <0>;
		};

		xlnx_timer0: timer@41c00000 {
			compatible = "xlnx,xps-timer-1.00.a";
			reg = <0x41c00000 0x1000>;
			interrupt-parent = <&axi_intc>;
			interrupts = <1 2>;
			bootph-all;
			xlnx,one-timer-only = <0>;
			clock-names = "s_axi_aclk";
			clocks = <&clk102>;
		};

		xlnx_timer1: timer@41c20000 {
			compatible = "xlnx,xps-timer-1.00.a";
			reg = <0x41c20000 0x1000>;
			interrupt-parent = <&axi_intc>;
			interrupts = <0 2>;
			xlnx,one-timer-only = <0>;
			clock-names = "s_axi_aclk";
			clocks = <&clk102>;
		};

		uart0: serial@40600000 {
			compatible = "xlnx,xps-uartlite-1.00.a";
			reg = <0x40600000 0x1000>;
			interrupt-parent = <&axi_intc>;
			interrupts = <2 2>;
			bootph-all;
			clocks = <&clk102>;
			current-speed = <115200>;
			xlnx,data-bits = <8>;
			xlnx,use-parity = <0>;
		};
	};
};