xref: /freebsd/sys/contrib/device-tree/src/powerpc/holly.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot/*
2*c66ec88fSEmmanuel Vadot * Device Tree Source for IBM Holly (PPC 750CL with TSI controller)
3*c66ec88fSEmmanuel Vadot * Copyright 2007, IBM Corporation
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Stephen Winiecki <stevewin@us.ibm.com>
6*c66ec88fSEmmanuel Vadot * Josh Boyer <jwboyer@linux.vnet.ibm.com>
7*c66ec88fSEmmanuel Vadot *
8*c66ec88fSEmmanuel Vadot * This file is licensed under the terms of the GNU General Public
9*c66ec88fSEmmanuel Vadot * License version 2.  This program is licensed "as is" without
10*c66ec88fSEmmanuel Vadot * any warranty of any kind, whether express or implied.
11*c66ec88fSEmmanuel Vadot */
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadot/dts-v1/;
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel Vadot/ {
16*c66ec88fSEmmanuel Vadot	model = "41K7339";
17*c66ec88fSEmmanuel Vadot	compatible = "ibm,holly";
18*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
19*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot	cpus {
22*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
23*c66ec88fSEmmanuel Vadot		#size-cells =<0>;
24*c66ec88fSEmmanuel Vadot		PowerPC,750CL@0 {
25*c66ec88fSEmmanuel Vadot			device_type = "cpu";
26*c66ec88fSEmmanuel Vadot			reg = <0x00000000>;
27*c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
28*c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
29*c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
30*c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
31*c66ec88fSEmmanuel Vadot			d-cache-sets = <128>;
32*c66ec88fSEmmanuel Vadot			i-cache-sets = <128>;
33*c66ec88fSEmmanuel Vadot			timebase-frequency = <50000000>;
34*c66ec88fSEmmanuel Vadot			clock-frequency = <600000000>;
35*c66ec88fSEmmanuel Vadot			bus-frequency = <200000000>;
36*c66ec88fSEmmanuel Vadot		};
37*c66ec88fSEmmanuel Vadot	};
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadot	memory@0 {
40*c66ec88fSEmmanuel Vadot		device_type = "memory";
41*c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x20000000>;
42*c66ec88fSEmmanuel Vadot	};
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel Vadot  	tsi109@c0000000 {
45*c66ec88fSEmmanuel Vadot		device_type = "tsi-bridge";
46*c66ec88fSEmmanuel Vadot		compatible = "tsi109-bridge", "tsi108-bridge";
47*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
48*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
49*c66ec88fSEmmanuel Vadot		ranges = <0x00000000 0xc0000000 0x00010000>;
50*c66ec88fSEmmanuel Vadot		reg = <0xc0000000 0x00010000>;
51*c66ec88fSEmmanuel Vadot
52*c66ec88fSEmmanuel Vadot		i2c@7000 {
53*c66ec88fSEmmanuel Vadot			device_type = "i2c";
54*c66ec88fSEmmanuel Vadot			compatible  = "tsi109-i2c", "tsi108-i2c";
55*c66ec88fSEmmanuel Vadot			interrupt-parent = <&MPIC>;
56*c66ec88fSEmmanuel Vadot			interrupts = <0xe 0x2>;
57*c66ec88fSEmmanuel Vadot			reg = <0x00007000 0x00000400>;
58*c66ec88fSEmmanuel Vadot		};
59*c66ec88fSEmmanuel Vadot
60*c66ec88fSEmmanuel Vadot		MDIO: mdio@6000 {
61*c66ec88fSEmmanuel Vadot			compatible = "tsi109-mdio", "tsi108-mdio";
62*c66ec88fSEmmanuel Vadot			reg = <0x00006000 0x00000050>;
63*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
64*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot			PHY1: ethernet-phy@1 {
67*c66ec88fSEmmanuel Vadot				compatible = "bcm5461a";
68*c66ec88fSEmmanuel Vadot				reg = <0x00000001>;
69*c66ec88fSEmmanuel Vadot				txc-rxc-delay-disable;
70*c66ec88fSEmmanuel Vadot			};
71*c66ec88fSEmmanuel Vadot
72*c66ec88fSEmmanuel Vadot			PHY2: ethernet-phy@2 {
73*c66ec88fSEmmanuel Vadot				compatible = "bcm5461a";
74*c66ec88fSEmmanuel Vadot				reg = <0x00000002>;
75*c66ec88fSEmmanuel Vadot				txc-rxc-delay-disable;
76*c66ec88fSEmmanuel Vadot			};
77*c66ec88fSEmmanuel Vadot		};
78*c66ec88fSEmmanuel Vadot
79*c66ec88fSEmmanuel Vadot		ethernet@6200 {
80*c66ec88fSEmmanuel Vadot			device_type = "network";
81*c66ec88fSEmmanuel Vadot			compatible = "tsi109-ethernet", "tsi108-ethernet";
82*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
83*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
84*c66ec88fSEmmanuel Vadot			reg = <0x00006000 0x00000200>;
85*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
86*c66ec88fSEmmanuel Vadot			interrupt-parent = <&MPIC>;
87*c66ec88fSEmmanuel Vadot			interrupts = <0x10 0x2>;
88*c66ec88fSEmmanuel Vadot			mdio-handle = <&MDIO>;
89*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY1>;
90*c66ec88fSEmmanuel Vadot		};
91*c66ec88fSEmmanuel Vadot
92*c66ec88fSEmmanuel Vadot		ethernet@6600 {
93*c66ec88fSEmmanuel Vadot			device_type = "network";
94*c66ec88fSEmmanuel Vadot			compatible = "tsi109-ethernet", "tsi108-ethernet";
95*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
96*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
97*c66ec88fSEmmanuel Vadot			reg = <0x00006400 0x00000200>;
98*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
99*c66ec88fSEmmanuel Vadot			interrupt-parent = <&MPIC>;
100*c66ec88fSEmmanuel Vadot			interrupts = <0x11 0x2>;
101*c66ec88fSEmmanuel Vadot			mdio-handle = <&MDIO>;
102*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY2>;
103*c66ec88fSEmmanuel Vadot		};
104*c66ec88fSEmmanuel Vadot
105*c66ec88fSEmmanuel Vadot		serial@7808 {
106*c66ec88fSEmmanuel Vadot			device_type = "serial";
107*c66ec88fSEmmanuel Vadot			compatible = "ns16550";
108*c66ec88fSEmmanuel Vadot			reg = <0x00007808 0x00000200>;
109*c66ec88fSEmmanuel Vadot			virtual-reg = <0xc0007808>;
110*c66ec88fSEmmanuel Vadot			clock-frequency = <1067212800>;
111*c66ec88fSEmmanuel Vadot			current-speed = <115200>;
112*c66ec88fSEmmanuel Vadot			interrupt-parent = <&MPIC>;
113*c66ec88fSEmmanuel Vadot			interrupts = <0xc 0x2>;
114*c66ec88fSEmmanuel Vadot		};
115*c66ec88fSEmmanuel Vadot
116*c66ec88fSEmmanuel Vadot		serial@7c08 {
117*c66ec88fSEmmanuel Vadot			device_type = "serial";
118*c66ec88fSEmmanuel Vadot			compatible = "ns16550";
119*c66ec88fSEmmanuel Vadot			reg = <0x00007c08 0x00000200>;
120*c66ec88fSEmmanuel Vadot			virtual-reg = <0xc0007c08>;
121*c66ec88fSEmmanuel Vadot			clock-frequency = <1067212800>;
122*c66ec88fSEmmanuel Vadot			current-speed = <115200>;
123*c66ec88fSEmmanuel Vadot			interrupt-parent = <&MPIC>;
124*c66ec88fSEmmanuel Vadot			interrupts = <0xd 0x2>;
125*c66ec88fSEmmanuel Vadot		};
126*c66ec88fSEmmanuel Vadot
127*c66ec88fSEmmanuel Vadot	  	MPIC: pic@7400 {
128*c66ec88fSEmmanuel Vadot			device_type = "open-pic";
129*c66ec88fSEmmanuel Vadot			compatible = "chrp,open-pic";
130*c66ec88fSEmmanuel Vadot			interrupt-controller;
131*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
132*c66ec88fSEmmanuel Vadot			reg = <0x00007400 0x00000400>;
133*c66ec88fSEmmanuel Vadot			big-endian;
134*c66ec88fSEmmanuel Vadot		};
135*c66ec88fSEmmanuel Vadot	};
136*c66ec88fSEmmanuel Vadot
137*c66ec88fSEmmanuel Vadot	pci@c0001000 {
138*c66ec88fSEmmanuel Vadot		device_type = "pci";
139*c66ec88fSEmmanuel Vadot		compatible = "tsi109-pci", "tsi108-pci";
140*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
141*c66ec88fSEmmanuel Vadot		#size-cells = <2>;
142*c66ec88fSEmmanuel Vadot		#address-cells = <3>;
143*c66ec88fSEmmanuel Vadot		reg = <0xc0001000 0x00001000>;
144*c66ec88fSEmmanuel Vadot		bus-range = <0x0 0x0>;
145*c66ec88fSEmmanuel Vadot		/*----------------------------------------------------+
146*c66ec88fSEmmanuel Vadot		| PCI memory range.
147*c66ec88fSEmmanuel Vadot		| 01 denotes I/O space
148*c66ec88fSEmmanuel Vadot		| 02 denotes 32-bit memory space
149*c66ec88fSEmmanuel Vadot		+----------------------------------------------------*/
150*c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0x00000000 0x40000000 0x40000000 0x00000000 0x10000000
151*c66ec88fSEmmanuel Vadot			  0x01000000 0x00000000 0x00000000 0x7e000000 0x00000000 0x00010000>;
152*c66ec88fSEmmanuel Vadot		clock-frequency = <133333332>;
153*c66ec88fSEmmanuel Vadot		interrupt-parent = <&MPIC>;
154*c66ec88fSEmmanuel Vadot		interrupts = <0x17 0x2>;
155*c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
156*c66ec88fSEmmanuel Vadot		/*----------------------------------------------------+
157*c66ec88fSEmmanuel Vadot		| The INTA, INTB, INTC, INTD are shared.
158*c66ec88fSEmmanuel Vadot		+----------------------------------------------------*/
159*c66ec88fSEmmanuel Vadot		interrupt-map = <
160*c66ec88fSEmmanuel Vadot			0x800 0x0 0x0 0x1 &RT0 0x24 0x0
161*c66ec88fSEmmanuel Vadot			0x800 0x0 0x0 0x2 &RT0 0x25 0x0
162*c66ec88fSEmmanuel Vadot			0x800 0x0 0x0 0x3 &RT0 0x26 0x0
163*c66ec88fSEmmanuel Vadot			0x800 0x0 0x0 0x4 &RT0 0x27 0x0
164*c66ec88fSEmmanuel Vadot
165*c66ec88fSEmmanuel Vadot			0x1000 0x0 0x0 0x1 &RT0 0x25 0x0
166*c66ec88fSEmmanuel Vadot			0x1000 0x0 0x0 0x2 &RT0 0x26 0x0
167*c66ec88fSEmmanuel Vadot			0x1000 0x0 0x0 0x3 &RT0 0x27 0x0
168*c66ec88fSEmmanuel Vadot			0x1000 0x0 0x0 0x4 &RT0 0x24 0x0
169*c66ec88fSEmmanuel Vadot
170*c66ec88fSEmmanuel Vadot			0x1800 0x0 0x0 0x1 &RT0 0x26 0x0
171*c66ec88fSEmmanuel Vadot			0x1800 0x0 0x0 0x2 &RT0 0x27 0x0
172*c66ec88fSEmmanuel Vadot			0x1800 0x0 0x0 0x3 &RT0 0x24 0x0
173*c66ec88fSEmmanuel Vadot			0x1800 0x0 0x0 0x4 &RT0 0x25 0x0
174*c66ec88fSEmmanuel Vadot
175*c66ec88fSEmmanuel Vadot			0x2000 0x0 0x0 0x1 &RT0 0x27 0x0
176*c66ec88fSEmmanuel Vadot			0x2000 0x0 0x0 0x2 &RT0 0x24 0x0
177*c66ec88fSEmmanuel Vadot			0x2000 0x0 0x0 0x3 &RT0 0x25 0x0
178*c66ec88fSEmmanuel Vadot			0x2000 0x0 0x0 0x4 &RT0 0x26 0x0
179*c66ec88fSEmmanuel Vadot			>;
180*c66ec88fSEmmanuel Vadot
181*c66ec88fSEmmanuel Vadot		RT0: router@1180 {
182*c66ec88fSEmmanuel Vadot			device_type = "pic-router";
183*c66ec88fSEmmanuel Vadot			interrupt-controller;
184*c66ec88fSEmmanuel Vadot			big-endian;
185*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;
186*c66ec88fSEmmanuel Vadot			#address-cells = <0>;
187*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
188*c66ec88fSEmmanuel Vadot			interrupts = <0x17 0x2>;
189*c66ec88fSEmmanuel Vadot			interrupt-parent = <&MPIC>;
190*c66ec88fSEmmanuel Vadot		};
191*c66ec88fSEmmanuel Vadot	};
192*c66ec88fSEmmanuel Vadot
193*c66ec88fSEmmanuel Vadot	chosen {
194*c66ec88fSEmmanuel Vadot		stdout-path = "/tsi109@c0000000/serial@7808";
195*c66ec88fSEmmanuel Vadot	};
196*c66ec88fSEmmanuel Vadot};
197