forked from mit-plv/riscv-semantics
-
Notifications
You must be signed in to change notification settings - Fork 0
/
device_tree
62 lines (60 loc) · 1.51 KB
/
device_tree
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
/dts-v1/;
/ {
#address-cells = <2>;
#size-cells = <2>;
compatible = "ucbbar,spike-bare-dev";
model = "ucbbar,spike-bare";
cpus {
#address-cells = <1>;
#size-cells = <0>;
timebase-frequency = <1000000>;
CPU0: cpu@0 {
device_type = "cpu";
reg = <0>;
status = "okay";
compatible = "riscv";
riscv,isa = "rv64ima";
mmu-type = "riscv,sv48";
clock-frequency = <1000000000>;
CPU0_intc: interrupt-controller {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "riscv,cpu-intc";
};
};
};
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x04000000>;
};
soc {
#address-cells = <2>;
#size-cells = <2>;
compatible = "ucbbar,spike-bare-soc", "simple-bus";
ranges;
clint@2000000 {
compatible = "riscv,clint0";
interrupts-extended = <&CPU0_intc 3 &CPU0_intc 7 >;
reg = <0x0 0x2000000 0x0 0xc0000>;
};
PLIC: interrupt-controller@4000000 {
compatible = "riscv,plic0";
riscv,ndev = <0x0000008>;
riscv,max-priority = <0x00000008>;
reg = <0x0 0x04000000 0x0 0x04000000>;
interrupts-extended = <&CPU0_intc 0xb &CPU0_intc 0x9>;
interrupt-controller;
interrupt-parent = <&CPU0_intc>;
#interrupt-cells = <0x1>;
};
UART: uart@fff0 {
compatible = "sifive,uart0";
interrupt-parent = <&PLIC>;
interrupts = <0x00000001>;
reg = <0x0 0xfff0 0x0 0x0>;
};
};
aliases {
serial0 = &UART;
};
};