xref: /freebsd/sys/contrib/device-tree/src/openrisc/simple_smp.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot/dts-v1/;
2*c66ec88fSEmmanuel Vadot/ {
3*c66ec88fSEmmanuel Vadot	compatible = "opencores,or1ksim";
4*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
5*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
6*c66ec88fSEmmanuel Vadot	interrupt-parent = <&pic>;
7*c66ec88fSEmmanuel Vadot
8*c66ec88fSEmmanuel Vadot	aliases {
9*c66ec88fSEmmanuel Vadot		uart0 = &serial0;
10*c66ec88fSEmmanuel Vadot	};
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadot	chosen {
13*c66ec88fSEmmanuel Vadot		bootargs = "earlycon";
14*c66ec88fSEmmanuel Vadot		stdout-path = "uart0:115200";
15*c66ec88fSEmmanuel Vadot	};
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel Vadot	memory@0 {
18*c66ec88fSEmmanuel Vadot		device_type = "memory";
19*c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x02000000>;
20*c66ec88fSEmmanuel Vadot	};
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot	cpus {
23*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
24*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
25*c66ec88fSEmmanuel Vadot		cpu@0 {
26*c66ec88fSEmmanuel Vadot			compatible = "opencores,or1200-rtlsvn481";
27*c66ec88fSEmmanuel Vadot			reg = <0>;
28*c66ec88fSEmmanuel Vadot			clock-frequency = <20000000>;
29*c66ec88fSEmmanuel Vadot		};
30*c66ec88fSEmmanuel Vadot		cpu@1 {
31*c66ec88fSEmmanuel Vadot			compatible = "opencores,or1200-rtlsvn481";
32*c66ec88fSEmmanuel Vadot			reg = <1>;
33*c66ec88fSEmmanuel Vadot			clock-frequency = <20000000>;
34*c66ec88fSEmmanuel Vadot		};
35*c66ec88fSEmmanuel Vadot	};
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot	ompic: ompic@98000000 {
38*c66ec88fSEmmanuel Vadot		compatible = "openrisc,ompic";
39*c66ec88fSEmmanuel Vadot		reg = <0x98000000 16>;
40*c66ec88fSEmmanuel Vadot		interrupt-controller;
41*c66ec88fSEmmanuel Vadot		#interrupt-cells = <0>;
42*c66ec88fSEmmanuel Vadot		interrupts = <1>;
43*c66ec88fSEmmanuel Vadot	};
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel Vadot	/*
46*c66ec88fSEmmanuel Vadot	 * OR1K PIC is built into CPU and accessed via special purpose
47*c66ec88fSEmmanuel Vadot	 * registers.  It is not addressable and, hence, has no 'reg'
48*c66ec88fSEmmanuel Vadot	 * property.
49*c66ec88fSEmmanuel Vadot	 */
50*c66ec88fSEmmanuel Vadot	pic: pic {
51*c66ec88fSEmmanuel Vadot		compatible = "opencores,or1k-pic-level";
52*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
53*c66ec88fSEmmanuel Vadot		interrupt-controller;
54*c66ec88fSEmmanuel Vadot	};
55*c66ec88fSEmmanuel Vadot
56*c66ec88fSEmmanuel Vadot	serial0: serial@90000000 {
57*c66ec88fSEmmanuel Vadot		compatible = "opencores,uart16550-rtlsvn105", "ns16550a";
58*c66ec88fSEmmanuel Vadot		reg = <0x90000000 0x100>;
59*c66ec88fSEmmanuel Vadot		interrupts = <2>;
60*c66ec88fSEmmanuel Vadot		clock-frequency = <20000000>;
61*c66ec88fSEmmanuel Vadot	};
62*c66ec88fSEmmanuel Vadot
63*c66ec88fSEmmanuel Vadot	enet0: ethoc@92000000 {
64*c66ec88fSEmmanuel Vadot		compatible = "opencores,ethoc";
65*c66ec88fSEmmanuel Vadot		reg = <0x92000000 0x800>;
66*c66ec88fSEmmanuel Vadot		interrupts = <4>;
67*c66ec88fSEmmanuel Vadot		big-endian;
68*c66ec88fSEmmanuel Vadot	};
69*c66ec88fSEmmanuel Vadot};
70