summaryrefslogtreecommitdiff
path: root/mips/sim.dts
blob: d17204413c54e2e6b2d5548e17b3c208a31b4e29 (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
/dts-v1/;
/ {
 model = "SRI/Cambridge BERI simulation";
 compatible = "sri-cambridge,beri-sim";
 #address-cells = <1>;
 #size-cells = <1>;
 sri-cambridge,build-time = <0 1527247299>;
 sri-cambridge,build-host = "TODO";
 sri-cambridge,build-path = "TODO";
 sri-cambridge,build-source-path = "TODO";
 sri-cambridge,build-source-revision = "TODO";

 cpus {
  #address-cells = <1>;
  #size-cells = <1>;
  status = "disabled";
  enable-method = "spin-table";

  cpu@0 {
   device-type = "cpu";
   compatible = "sri-cambridge,beri";

   reg = <0 1>;
   status = "okay";
  };
 };

 cpuintc: cpuintc@0 {
  #address-cells = <0>;
  #interrupt-cells = <1>;
  interrupt-controller;
  compatible = "mti,cpu-interrupt-controller";
 };
 /* THE PIC IS A LIE! 
    FreeBSD panics if there isn't one even though 
    we don't actually need one if we put the UART 
    in polled mode. We can get away with just pointing
    FreeBSD at some plain memory and telling it that
    is a PIC... */
 beripic0: beripic@7f804000 {
  compatible = "sri-cambridge,beri-pic";
  interrupt-controller;
  #address-cells = <0>;
  #interrupt-cells = <1>;
  reg = <0x7f804000 0x400
         0x7f806000 0x10
         0x7f806080 0x10
         0x7f806100 0x10>;
  interrupts = < 2 3 4 5 6 >;
  hard-interrupt-sources = <64>;
  soft-interrupt-sources = <64>;
  interrupt-parent = <&cpuintc>;
 };
 soc {
  #address-cells = <1>;
  #size-cells = <1>;
  #interrupt-cells = <1>;

  compatible = "simple-bus", "mips,mips4k";
  ranges;

  memory {
   device_type = "memory";
   reg = <0x0 0x4000000>;
  };

  serial@7f000000 {
   compatible = "altera,jtag_uart-11_0";
   reg = <0x7f000000 0x40>;
   /* Removing these two lines puts the UART
      in polled mode which is necessary because
      we don't have a PIC or a UART capable of 
      generating interrupts. Fortunately FreeBSD 
      copes.
   interrupts = <0>;
   interrupt-parent = <&beripic0>;*/
  };
 };
};