xref: /freebsd/sys/contrib/device-tree/src/powerpc/mvme5100.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot/*
2*c66ec88fSEmmanuel Vadot * Device Tree Source for Motorola/Emerson MVME5100.
3*c66ec88fSEmmanuel Vadot *
4*c66ec88fSEmmanuel Vadot * Copyright 2013 CSC Australia Pty. Ltd.
5*c66ec88fSEmmanuel Vadot *
6*c66ec88fSEmmanuel Vadot * This file is licensed under the terms of the GNU General Public
7*c66ec88fSEmmanuel Vadot * License version 2.  This program is licensed "as is" without
8*c66ec88fSEmmanuel Vadot * any warranty of any kind, whether express or implied.
9*c66ec88fSEmmanuel Vadot */
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot/dts-v1/;
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadot/ {
14*c66ec88fSEmmanuel Vadot	model = "MVME5100";
15*c66ec88fSEmmanuel Vadot	compatible = "MVME5100";
16*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
17*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel Vadot	aliases {
20*c66ec88fSEmmanuel Vadot		serial0 = &serial0;
21*c66ec88fSEmmanuel Vadot		pci0 = &pci0;
22*c66ec88fSEmmanuel Vadot	};
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot	cpus {
25*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
26*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot		PowerPC,7410 {
29*c66ec88fSEmmanuel Vadot			device_type = "cpu";
30*c66ec88fSEmmanuel Vadot			reg = <0x0>;
31*c66ec88fSEmmanuel Vadot			/* Following required by dtc but not used */
32*c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
33*c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
34*c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
35*c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
36*c66ec88fSEmmanuel Vadot			timebase-frequency = <25000000>;
37*c66ec88fSEmmanuel Vadot			clock-frequency = <500000000>;
38*c66ec88fSEmmanuel Vadot			bus-frequency = <100000000>;
39*c66ec88fSEmmanuel Vadot		};
40*c66ec88fSEmmanuel Vadot	};
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot	memory {
43*c66ec88fSEmmanuel Vadot		device_type = "memory";
44*c66ec88fSEmmanuel Vadot		reg = <0x0 0x20000000>;
45*c66ec88fSEmmanuel Vadot	};
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel Vadot	hawk@fef80000 {
48*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
49*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
50*c66ec88fSEmmanuel Vadot		compatible = "hawk-bridge", "simple-bus";
51*c66ec88fSEmmanuel Vadot		ranges = <0x0 0xfef80000 0x10000>;
52*c66ec88fSEmmanuel Vadot		reg = <0xfef80000 0x10000>;
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel Vadot		serial0: serial@8000 {
55*c66ec88fSEmmanuel Vadot			device_type = "serial";
56*c66ec88fSEmmanuel Vadot			compatible = "ns16550";
57*c66ec88fSEmmanuel Vadot			reg = <0x8000 0x80>;
58*c66ec88fSEmmanuel Vadot			reg-shift = <4>;
59*c66ec88fSEmmanuel Vadot			clock-frequency = <1843200>;
60*c66ec88fSEmmanuel Vadot			current-speed = <9600>;
61*c66ec88fSEmmanuel Vadot			interrupts = <1 1>; // IRQ1 Level Active Low.
62*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
63*c66ec88fSEmmanuel Vadot		};
64*c66ec88fSEmmanuel Vadot
65*c66ec88fSEmmanuel Vadot		serial1: serial@8200 {
66*c66ec88fSEmmanuel Vadot			device_type = "serial";
67*c66ec88fSEmmanuel Vadot			compatible = "ns16550";
68*c66ec88fSEmmanuel Vadot			reg = <0x8200 0x80>;
69*c66ec88fSEmmanuel Vadot			reg-shift = <4>;
70*c66ec88fSEmmanuel Vadot			clock-frequency = <1843200>;
71*c66ec88fSEmmanuel Vadot			current-speed = <9600>;
72*c66ec88fSEmmanuel Vadot			interrupts = <1 1>; // IRQ1 Level Active Low.
73*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
74*c66ec88fSEmmanuel Vadot		};
75*c66ec88fSEmmanuel Vadot
76*c66ec88fSEmmanuel Vadot		mpic: interrupt-controller@f3f80000 {
77*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
78*c66ec88fSEmmanuel Vadot			#address-cells = <0>;
79*c66ec88fSEmmanuel Vadot			device_type = "open-pic";
80*c66ec88fSEmmanuel Vadot			compatible = "chrp,open-pic";
81*c66ec88fSEmmanuel Vadot			interrupt-controller;
82*c66ec88fSEmmanuel Vadot			reg = <0xf3f80000 0x40000>;
83*c66ec88fSEmmanuel Vadot		};
84*c66ec88fSEmmanuel Vadot	};
85*c66ec88fSEmmanuel Vadot
86*c66ec88fSEmmanuel Vadot	pci0: pci@feff0000 {
87*c66ec88fSEmmanuel Vadot		#address-cells = <3>;
88*c66ec88fSEmmanuel Vadot		#size-cells = <2>;
89*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
90*c66ec88fSEmmanuel Vadot		device_type = "pci";
91*c66ec88fSEmmanuel Vadot		compatible = "hawk-pci";
92*c66ec88fSEmmanuel Vadot		reg = <0xfec00000 0x400000>;
93*c66ec88fSEmmanuel Vadot		8259-interrupt-acknowledge = <0xfeff0030>;
94*c66ec88fSEmmanuel Vadot		ranges = <0x1000000 0x0        0x0 0xfe000000 0x0 0x800000
95*c66ec88fSEmmanuel Vadot			  0x2000000 0x0 0x80000000 0x80000000 0x0 0x74000000>;
96*c66ec88fSEmmanuel Vadot		bus-range = <0 255>;
97*c66ec88fSEmmanuel Vadot		clock-frequency = <33333333>;
98*c66ec88fSEmmanuel Vadot		interrupt-parent = <&mpic>;
99*c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
100*c66ec88fSEmmanuel Vadot		interrupt-map = <
101*c66ec88fSEmmanuel Vadot
102*c66ec88fSEmmanuel Vadot			/*
103*c66ec88fSEmmanuel Vadot			 * This definition (IDSEL 11) duplicates the
104*c66ec88fSEmmanuel Vadot			 * interrupts definition in the i8259
105*c66ec88fSEmmanuel Vadot			 * interrupt controller below.
106*c66ec88fSEmmanuel Vadot			 *
107*c66ec88fSEmmanuel Vadot			 * Do not change the interrupt sense/polarity from
108*c66ec88fSEmmanuel Vadot			 * 0x2 to anything else, doing so will cause endless
109*c66ec88fSEmmanuel Vadot			 * "spurious" i8259 interrupts to be fielded.
110*c66ec88fSEmmanuel Vadot			 */
111*c66ec88fSEmmanuel Vadot			// IDSEL 11 - iPMC712 PCI/ISA Bridge
112*c66ec88fSEmmanuel Vadot			0x5800 0x0 0x0 0x1 &mpic 0x0 0x2
113*c66ec88fSEmmanuel Vadot			0x5800 0x0 0x0 0x2 &mpic 0x0 0x2
114*c66ec88fSEmmanuel Vadot			0x5800 0x0 0x0 0x3 &mpic 0x0 0x2
115*c66ec88fSEmmanuel Vadot			0x5800 0x0 0x0 0x4 &mpic 0x0 0x2
116*c66ec88fSEmmanuel Vadot
117*c66ec88fSEmmanuel Vadot			/* IDSEL 12 - Not Used */
118*c66ec88fSEmmanuel Vadot
119*c66ec88fSEmmanuel Vadot			/* IDSEL 13 - Universe VME Bridge */
120*c66ec88fSEmmanuel Vadot			0x6800 0x0 0x0 0x1 &mpic 0x5 0x1
121*c66ec88fSEmmanuel Vadot			0x6800 0x0 0x0 0x2 &mpic 0x6 0x1
122*c66ec88fSEmmanuel Vadot			0x6800 0x0 0x0 0x3 &mpic 0x7 0x1
123*c66ec88fSEmmanuel Vadot			0x6800 0x0 0x0 0x4 &mpic 0x8 0x1
124*c66ec88fSEmmanuel Vadot
125*c66ec88fSEmmanuel Vadot			/* IDSEL 14 - ENET 1 */
126*c66ec88fSEmmanuel Vadot			0x7000 0x0 0x0 0x1 &mpic 0x2 0x1
127*c66ec88fSEmmanuel Vadot
128*c66ec88fSEmmanuel Vadot			/* IDSEL 15 - Not Used */
129*c66ec88fSEmmanuel Vadot
130*c66ec88fSEmmanuel Vadot			/* IDSEL 16 - PMC Slot 1 */
131*c66ec88fSEmmanuel Vadot			0x8000 0x0 0x0 0x1 &mpic 0x9 0x1
132*c66ec88fSEmmanuel Vadot			0x8000 0x0 0x0 0x2 &mpic 0xa 0x1
133*c66ec88fSEmmanuel Vadot			0x8000 0x0 0x0 0x3 &mpic 0xb 0x1
134*c66ec88fSEmmanuel Vadot			0x8000 0x0 0x0 0x4 &mpic 0xc 0x1
135*c66ec88fSEmmanuel Vadot
136*c66ec88fSEmmanuel Vadot			/* IDSEL 17 - PMC Slot 2 */
137*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x1 &mpic 0xc 0x1
138*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x2 &mpic 0x9 0x1
139*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x3 &mpic 0xa 0x1
140*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x4 &mpic 0xb 0x1
141*c66ec88fSEmmanuel Vadot
142*c66ec88fSEmmanuel Vadot			/* IDSEL 18 - Not Used */
143*c66ec88fSEmmanuel Vadot
144*c66ec88fSEmmanuel Vadot			/* IDSEL 19 - ENET 2 */
145*c66ec88fSEmmanuel Vadot			0x9800 0x0 0x0 0x1 &mpic 0xd 0x1
146*c66ec88fSEmmanuel Vadot
147*c66ec88fSEmmanuel Vadot			/* IDSEL 20 - PMCSPAN (PCI-X) */
148*c66ec88fSEmmanuel Vadot			0xa000 0x0 0x0 0x1 &mpic 0x9 0x1
149*c66ec88fSEmmanuel Vadot			0xa000 0x0 0x0 0x2 &mpic 0xa 0x1
150*c66ec88fSEmmanuel Vadot			0xa000 0x0 0x0 0x3 &mpic 0xb 0x1
151*c66ec88fSEmmanuel Vadot			0xa000 0x0 0x0 0x4 &mpic 0xc 0x1
152*c66ec88fSEmmanuel Vadot
153*c66ec88fSEmmanuel Vadot		>;
154*c66ec88fSEmmanuel Vadot
155*c66ec88fSEmmanuel Vadot		isa {
156*c66ec88fSEmmanuel Vadot			#address-cells = <2>;
157*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
158*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
159*c66ec88fSEmmanuel Vadot			device_type = "isa";
160*c66ec88fSEmmanuel Vadot			compatible = "isa";
161*c66ec88fSEmmanuel Vadot			ranges = <0x00000001 0 0x01000000 0 0x00000000 0x00001000>;
162*c66ec88fSEmmanuel Vadot			interrupt-parent = <&i8259>;
163*c66ec88fSEmmanuel Vadot
164*c66ec88fSEmmanuel Vadot			i8259: interrupt-controller@20 {
165*c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
166*c66ec88fSEmmanuel Vadot				#address-cells = <0>;
167*c66ec88fSEmmanuel Vadot				interrupts = <0 2>;
168*c66ec88fSEmmanuel Vadot				device_type = "interrupt-controller";
169*c66ec88fSEmmanuel Vadot				compatible = "chrp,iic";
170*c66ec88fSEmmanuel Vadot				interrupt-controller;
171*c66ec88fSEmmanuel Vadot				reg = <1 0x00000020 0x00000002
172*c66ec88fSEmmanuel Vadot                                       1 0x000000a0 0x00000002
173*c66ec88fSEmmanuel Vadot                                       1 0x000004d0 0x00000002>;
174*c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
175*c66ec88fSEmmanuel Vadot			};
176*c66ec88fSEmmanuel Vadot
177*c66ec88fSEmmanuel Vadot		};
178*c66ec88fSEmmanuel Vadot
179*c66ec88fSEmmanuel Vadot	};
180*c66ec88fSEmmanuel Vadot
181*c66ec88fSEmmanuel Vadot	chosen {
182*c66ec88fSEmmanuel Vadot		stdout-path = &serial0;
183*c66ec88fSEmmanuel Vadot        };
184*c66ec88fSEmmanuel Vadot
185*c66ec88fSEmmanuel Vadot};
186