16bbc5476SHugh Blemings/*
26bbc5476SHugh Blemings * Device Tree Source for IBM/AMCC Taishan
36bbc5476SHugh Blemings *
46bbc5476SHugh Blemings * Copyright 2007 IBM Corp.
56bbc5476SHugh Blemings * Hugh Blemings <hugh@au.ibm.com> based off code by
66bbc5476SHugh Blemings * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com>
76bbc5476SHugh Blemings *
86bbc5476SHugh Blemings * This file is licensed under the terms of the GNU General Public
96bbc5476SHugh Blemings * License version 2.  This program is licensed "as is" without
106bbc5476SHugh Blemings * any warranty of any kind, whether express or implied.
116bbc5476SHugh Blemings */
126bbc5476SHugh Blemings
1371f34979SDavid Gibson/dts-v1/;
1471f34979SDavid Gibson
156bbc5476SHugh Blemings/ {
166bbc5476SHugh Blemings	#address-cells = <2>;
176bbc5476SHugh Blemings	#size-cells = <1>;
186bbc5476SHugh Blemings	model = "amcc,taishan";
196bbc5476SHugh Blemings	compatible = "amcc,taishan";
2071f34979SDavid Gibson	dcr-parent = <&{/cpus/cpu@0}>;
216bbc5476SHugh Blemings
228aaed98cSStefan Roese	aliases {
238aaed98cSStefan Roese		ethernet0 = &EMAC2;
248aaed98cSStefan Roese		ethernet1 = &EMAC3;
258aaed98cSStefan Roese		serial0 = &UART0;
268aaed98cSStefan Roese		serial1 = &UART1;
278aaed98cSStefan Roese	};
288aaed98cSStefan Roese
296bbc5476SHugh Blemings	cpus {
306bbc5476SHugh Blemings		#address-cells = <1>;
316bbc5476SHugh Blemings		#size-cells = <0>;
326bbc5476SHugh Blemings
3372fda114SJosh Boyer		cpu@0 {
346bbc5476SHugh Blemings			device_type = "cpu";
3572fda114SJosh Boyer			model = "PowerPC,440GX";
3671f34979SDavid Gibson			reg = <0x00000000>;
3771f34979SDavid Gibson			clock-frequency = <800000000>; // 800MHz
386bbc5476SHugh Blemings			timebase-frequency = <0>; // Filled in by zImage
3971f34979SDavid Gibson			i-cache-line-size = <50>;
4071f34979SDavid Gibson			d-cache-line-size = <50>;
4171f34979SDavid Gibson			i-cache-size = <32768>; /* 32 kB */
4271f34979SDavid Gibson			d-cache-size = <32768>; /* 32 kB */
436bbc5476SHugh Blemings			dcr-controller;
446bbc5476SHugh Blemings			dcr-access-method = "native";
456bbc5476SHugh Blemings		};
466bbc5476SHugh Blemings	};
476bbc5476SHugh Blemings
486bbc5476SHugh Blemings	memory {
496bbc5476SHugh Blemings		device_type = "memory";
5071f34979SDavid Gibson		reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage
516bbc5476SHugh Blemings	};
526bbc5476SHugh Blemings
536bbc5476SHugh Blemings
546bbc5476SHugh Blemings	UICB0: interrupt-controller-base {
556bbc5476SHugh Blemings		compatible = "ibm,uic-440gx", "ibm,uic";
566bbc5476SHugh Blemings		interrupt-controller;
576bbc5476SHugh Blemings		cell-index = <3>;
5871f34979SDavid Gibson		dcr-reg = <0x200 0x009>;
596bbc5476SHugh Blemings		#address-cells = <0>;
606bbc5476SHugh Blemings		#size-cells = <0>;
616bbc5476SHugh Blemings		#interrupt-cells = <2>;
626bbc5476SHugh Blemings	};
636bbc5476SHugh Blemings
646bbc5476SHugh Blemings
656bbc5476SHugh Blemings	UIC0: interrupt-controller0 {
666bbc5476SHugh Blemings		compatible = "ibm,uic-440gx", "ibm,uic";
676bbc5476SHugh Blemings		interrupt-controller;
686bbc5476SHugh Blemings		cell-index = <0>;
6971f34979SDavid Gibson		dcr-reg = <0x0c0 0x009>;
706bbc5476SHugh Blemings		#address-cells = <0>;
716bbc5476SHugh Blemings		#size-cells = <0>;
726bbc5476SHugh Blemings		#interrupt-cells = <2>;
7371f34979SDavid Gibson		interrupts = <0x1 0x4 0x0 0x4>; /* cascade - first non-critical */
746bbc5476SHugh Blemings		interrupt-parent = <&UICB0>;
756bbc5476SHugh Blemings
766bbc5476SHugh Blemings	};
776bbc5476SHugh Blemings
786bbc5476SHugh Blemings	UIC1: interrupt-controller1 {
796bbc5476SHugh Blemings		compatible = "ibm,uic-440gx", "ibm,uic";
806bbc5476SHugh Blemings		interrupt-controller;
816bbc5476SHugh Blemings		cell-index = <1>;
8271f34979SDavid Gibson		dcr-reg = <0x0d0 0x009>;
836bbc5476SHugh Blemings		#address-cells = <0>;
846bbc5476SHugh Blemings		#size-cells = <0>;
856bbc5476SHugh Blemings		#interrupt-cells = <2>;
8671f34979SDavid Gibson		interrupts = <0x3 0x4 0x2 0x4>; /* cascade */
876bbc5476SHugh Blemings		interrupt-parent = <&UICB0>;
886bbc5476SHugh Blemings	};
896bbc5476SHugh Blemings
906bbc5476SHugh Blemings	UIC2: interrupt-controller2 {
916bbc5476SHugh Blemings		compatible = "ibm,uic-440gx", "ibm,uic";
926bbc5476SHugh Blemings		interrupt-controller;
936bbc5476SHugh Blemings		cell-index = <2>; /* was 1 */
9471f34979SDavid Gibson		dcr-reg = <0x210 0x009>;
956bbc5476SHugh Blemings		#address-cells = <0>;
966bbc5476SHugh Blemings		#size-cells = <0>;
976bbc5476SHugh Blemings		#interrupt-cells = <2>;
9871f34979SDavid Gibson		interrupts = <0x5 0x4 0x4 0x4>; /* cascade */
996bbc5476SHugh Blemings		interrupt-parent = <&UICB0>;
1006bbc5476SHugh Blemings	};
1016bbc5476SHugh Blemings
1026bbc5476SHugh Blemings
1036bbc5476SHugh Blemings	CPC0: cpc {
1046bbc5476SHugh Blemings		compatible = "ibm,cpc-440gp";
10571f34979SDavid Gibson		dcr-reg = <0x0b0 0x003 0x0e0 0x010>;
1066bbc5476SHugh Blemings		// FIXME: anything else?
1076bbc5476SHugh Blemings	};
1086bbc5476SHugh Blemings
10999d8be05SStefan Roese	L2C0: l2c {
11099d8be05SStefan Roese		compatible = "ibm,l2-cache-440gx", "ibm,l2-cache";
11171f34979SDavid Gibson		dcr-reg = <0x020 0x008			/* Internal SRAM DCR's */
11271f34979SDavid Gibson			   0x030 0x008>;		/* L2 cache DCR's */
11371f34979SDavid Gibson		cache-line-size = <32>;		/* 32 bytes */
11471f34979SDavid Gibson		cache-size = <262144>;		/* L2, 256K */
11599d8be05SStefan Roese		interrupt-parent = <&UIC2>;
11671f34979SDavid Gibson		interrupts = <0x17 0x1>;
11799d8be05SStefan Roese	};
11899d8be05SStefan Roese
1196bbc5476SHugh Blemings	plb {
1206bbc5476SHugh Blemings		compatible = "ibm,plb-440gx", "ibm,plb4";
1216bbc5476SHugh Blemings		#address-cells = <2>;
1226bbc5476SHugh Blemings		#size-cells = <1>;
1236bbc5476SHugh Blemings		ranges;
12471f34979SDavid Gibson		clock-frequency = <160000000>; // 160MHz
1256bbc5476SHugh Blemings
1266bbc5476SHugh Blemings		SDRAM0: memory-controller {
1276bbc5476SHugh Blemings			compatible = "ibm,sdram-440gp";
12871f34979SDavid Gibson			dcr-reg = <0x010 0x002>;
1296bbc5476SHugh Blemings			// FIXME: anything else?
1306bbc5476SHugh Blemings		};
1316bbc5476SHugh Blemings
1326bbc5476SHugh Blemings		SRAM0: sram {
1336bbc5476SHugh Blemings			compatible = "ibm,sram-440gp";
13471f34979SDavid Gibson			dcr-reg = <0x020 0x008 0x00a 0x001>;
1356bbc5476SHugh Blemings		};
1366bbc5476SHugh Blemings
1376bbc5476SHugh Blemings		DMA0: dma {
1386bbc5476SHugh Blemings			// FIXME: ???
1396bbc5476SHugh Blemings			compatible = "ibm,dma-440gp";
14071f34979SDavid Gibson			dcr-reg = <0x100 0x027>;
1416bbc5476SHugh Blemings		};
1426bbc5476SHugh Blemings
1436bbc5476SHugh Blemings		MAL0: mcmal {
1446bbc5476SHugh Blemings			compatible = "ibm,mcmal-440gx", "ibm,mcmal2";
14571f34979SDavid Gibson			dcr-reg = <0x180 0x062>;
1466bbc5476SHugh Blemings			num-tx-chans = <4>;
1476bbc5476SHugh Blemings			num-rx-chans = <4>;
1486bbc5476SHugh Blemings			interrupt-parent = <&MAL0>;
14971f34979SDavid Gibson			interrupts = <0x0 0x1 0x2 0x3 0x4>;
1506bbc5476SHugh Blemings			#interrupt-cells = <1>;
1516bbc5476SHugh Blemings			#address-cells = <0>;
1526bbc5476SHugh Blemings			#size-cells = <0>;
15371f34979SDavid Gibson			interrupt-map = </*TXEOB*/ 0x0 &UIC0 0xa 0x4
15471f34979SDavid Gibson					 /*RXEOB*/ 0x1 &UIC0 0xb 0x4
15571f34979SDavid Gibson					 /*SERR*/  0x2 &UIC1 0x0 0x4
15671f34979SDavid Gibson					 /*TXDE*/  0x3 &UIC1 0x1 0x4
15771f34979SDavid Gibson					 /*RXDE*/  0x4 &UIC1 0x2 0x4>;
15871f34979SDavid Gibson			interrupt-map-mask = <0xffffffff>;
1596bbc5476SHugh Blemings		};
1606bbc5476SHugh Blemings
1616bbc5476SHugh Blemings		POB0: opb {
1626bbc5476SHugh Blemings			compatible = "ibm,opb-440gx", "ibm,opb";
1636bbc5476SHugh Blemings			#address-cells = <1>;
1646bbc5476SHugh Blemings			#size-cells = <1>;
1656bbc5476SHugh Blemings			/* Wish there was a nicer way of specifying a full 32-bit
1666bbc5476SHugh Blemings			   range */
16771f34979SDavid Gibson			ranges = <0x00000000 0x00000001 0x00000000 0x80000000
16871f34979SDavid Gibson				  0x80000000 0x00000001 0x80000000 0x80000000>;
16971f34979SDavid Gibson			dcr-reg = <0x090 0x00b>;
1706bbc5476SHugh Blemings			interrupt-parent = <&UIC1>;
17171f34979SDavid Gibson			interrupts = <0x7 0x4>;
17271f34979SDavid Gibson			clock-frequency = <80000000>; // 80MHz
1736bbc5476SHugh Blemings
1746bbc5476SHugh Blemings
1756bbc5476SHugh Blemings			EBC0: ebc {
1766bbc5476SHugh Blemings				compatible = "ibm,ebc-440gx", "ibm,ebc";
17771f34979SDavid Gibson				dcr-reg = <0x012 0x002>;
1786bbc5476SHugh Blemings				#address-cells = <2>;
1796bbc5476SHugh Blemings				#size-cells = <1>;
18071f34979SDavid Gibson				clock-frequency = <80000000>; // 80MHz
1816bbc5476SHugh Blemings
1826bbc5476SHugh Blemings				/* ranges property is supplied by zImage
1836bbc5476SHugh Blemings				 * based on firmware's configuration of the
1846bbc5476SHugh Blemings				 * EBC bridge */
1856bbc5476SHugh Blemings
18671f34979SDavid Gibson				interrupts = <0x5 0x4>;
1876bbc5476SHugh Blemings				interrupt-parent = <&UIC1>;
1886bbc5476SHugh Blemings
189887942d7SImre Kaloz				nor_flash@0,0 {
190887942d7SImre Kaloz					compatible = "cfi-flash";
191887942d7SImre Kaloz					bank-width = <4>;
192887942d7SImre Kaloz					device-width = <2>;
193887942d7SImre Kaloz					reg = <0x0 0x0 0x4000000>;
194887942d7SImre Kaloz					#address-cells = <1>;
195887942d7SImre Kaloz					#size-cells = <1>;
196887942d7SImre Kaloz					partition@0 {
197887942d7SImre Kaloz						label = "kernel";
198887942d7SImre Kaloz						reg = <0x0 0x180000>;
199887942d7SImre Kaloz					};
200887942d7SImre Kaloz					partition@180000 {
201887942d7SImre Kaloz						label = "root";
202887942d7SImre Kaloz						reg = <0x180000 0x200000>;
203887942d7SImre Kaloz					};
204887942d7SImre Kaloz					partition@380000 {
205887942d7SImre Kaloz						label = "user";
206887942d7SImre Kaloz						reg = <0x380000 0x3bc0000>;
207887942d7SImre Kaloz					};
208887942d7SImre Kaloz					partition@3f40000 {
209887942d7SImre Kaloz						label = "env";
210887942d7SImre Kaloz						reg = <0x3f40000 0x80000>;
211887942d7SImre Kaloz					};
212887942d7SImre Kaloz					partition@3fc0000 {
213887942d7SImre Kaloz						label = "u-boot";
214887942d7SImre Kaloz						reg = <0x3fc0000 0x40000>;
215887942d7SImre Kaloz					};
216887942d7SImre Kaloz				};
2176bbc5476SHugh Blemings			};
2186bbc5476SHugh Blemings
2196bbc5476SHugh Blemings
2206bbc5476SHugh Blemings
2216bbc5476SHugh Blemings			UART0: serial@40000200 {
2226bbc5476SHugh Blemings				device_type = "serial";
2236bbc5476SHugh Blemings				compatible = "ns16550";
22471f34979SDavid Gibson				reg = <0x40000200 0x00000008>;
22571f34979SDavid Gibson				virtual-reg = <0xe0000200>;
22671f34979SDavid Gibson 				clock-frequency = <11059200>;
22771f34979SDavid Gibson				current-speed = <115200>; /* 115200 */
2286bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
22971f34979SDavid Gibson				interrupts = <0x0 0x4>;
2306bbc5476SHugh Blemings			};
2316bbc5476SHugh Blemings
2326bbc5476SHugh Blemings			UART1: serial@40000300 {
2336bbc5476SHugh Blemings				device_type = "serial";
2346bbc5476SHugh Blemings				compatible = "ns16550";
23571f34979SDavid Gibson				reg = <0x40000300 0x00000008>;
23671f34979SDavid Gibson				virtual-reg = <0xe0000300>;
23771f34979SDavid Gibson				clock-frequency = <11059200>;
23871f34979SDavid Gibson				current-speed = <115200>; /* 115200 */
2396bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
24071f34979SDavid Gibson				interrupts = <0x1 0x4>;
2416bbc5476SHugh Blemings			};
2426bbc5476SHugh Blemings
2436bbc5476SHugh Blemings			IIC0: i2c@40000400 {
2446bbc5476SHugh Blemings				/* FIXME */
2456bbc5476SHugh Blemings				compatible = "ibm,iic-440gp", "ibm,iic";
24671f34979SDavid Gibson				reg = <0x40000400 0x00000014>;
2476bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
24871f34979SDavid Gibson				interrupts = <0x2 0x4>;
2496bbc5476SHugh Blemings			};
2506bbc5476SHugh Blemings			IIC1: i2c@40000500 {
2516bbc5476SHugh Blemings				/* FIXME */
2526bbc5476SHugh Blemings				compatible = "ibm,iic-440gp", "ibm,iic";
25371f34979SDavid Gibson				reg = <0x40000500 0x00000014>;
2546bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
25571f34979SDavid Gibson				interrupts = <0x3 0x4>;
2566bbc5476SHugh Blemings			};
2576bbc5476SHugh Blemings
2586bbc5476SHugh Blemings			GPIO0: gpio@40000700 {
2596bbc5476SHugh Blemings				/* FIXME */
2606bbc5476SHugh Blemings				compatible = "ibm,gpio-440gp";
26171f34979SDavid Gibson				reg = <0x40000700 0x00000020>;
2626bbc5476SHugh Blemings			};
2636bbc5476SHugh Blemings
2646bbc5476SHugh Blemings			ZMII0: emac-zmii@40000780 {
2656bbc5476SHugh Blemings				compatible = "ibm,zmii-440gx", "ibm,zmii";
26671f34979SDavid Gibson				reg = <0x40000780 0x0000000c>;
2676bbc5476SHugh Blemings			};
2686bbc5476SHugh Blemings
2696bbc5476SHugh Blemings			RGMII0: emac-rgmii@40000790 {
2706bbc5476SHugh Blemings				compatible = "ibm,rgmii";
27171f34979SDavid Gibson				reg = <0x40000790 0x00000008>;
2726bbc5476SHugh Blemings			};
2736bbc5476SHugh Blemings
27478314263SStefan Roese			TAH0: emac-tah@40000b50 {
27578314263SStefan Roese				compatible = "ibm,tah-440gx", "ibm,tah";
27671f34979SDavid Gibson				reg = <0x40000b50 0x00000030>;
27778314263SStefan Roese			};
27878314263SStefan Roese
27978314263SStefan Roese			TAH1: emac-tah@40000d50 {
28078314263SStefan Roese				compatible = "ibm,tah-440gx", "ibm,tah";
28171f34979SDavid Gibson				reg = <0x40000d50 0x00000030>;
28278314263SStefan Roese			};
2836bbc5476SHugh Blemings
2846bbc5476SHugh Blemings			EMAC0: ethernet@40000800 {
28571f34979SDavid Gibson				unused = <0x1>;
2866bbc5476SHugh Blemings				device_type = "network";
2876bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
2886bbc5476SHugh Blemings				interrupt-parent = <&UIC1>;
28971f34979SDavid Gibson				interrupts = <0x1c 0x4 0x1d 0x4>;
29005781ccdSGrant Erickson				reg = <0x40000800 0x00000074>;
2916bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
2926bbc5476SHugh Blemings				mal-device = <&MAL0>;
2936bbc5476SHugh Blemings				mal-tx-channel = <0>;
2946bbc5476SHugh Blemings				mal-rx-channel = <0>;
2956bbc5476SHugh Blemings				cell-index = <0>;
29671f34979SDavid Gibson				max-frame-size = <1500>;
29771f34979SDavid Gibson				rx-fifo-size = <4096>;
29871f34979SDavid Gibson				tx-fifo-size = <2048>;
2996bbc5476SHugh Blemings				phy-mode = "rmii";
30071f34979SDavid Gibson				phy-map = <0x00000001>;
3016bbc5476SHugh Blemings				zmii-device = <&ZMII0>;
3026bbc5476SHugh Blemings				zmii-channel = <0>;
3036bbc5476SHugh Blemings			};
3046bbc5476SHugh Blemings		 	EMAC1: ethernet@40000900 {
30571f34979SDavid Gibson				unused = <0x1>;
3066bbc5476SHugh Blemings				device_type = "network";
3076bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
3086bbc5476SHugh Blemings				interrupt-parent = <&UIC1>;
30971f34979SDavid Gibson				interrupts = <0x1e 0x4 0x1f 0x4>;
31005781ccdSGrant Erickson				reg = <0x40000900 0x00000074>;
3116bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
3126bbc5476SHugh Blemings				mal-device = <&MAL0>;
3136bbc5476SHugh Blemings				mal-tx-channel = <1>;
3146bbc5476SHugh Blemings				mal-rx-channel = <1>;
3156bbc5476SHugh Blemings				cell-index = <1>;
31671f34979SDavid Gibson				max-frame-size = <1500>;
31771f34979SDavid Gibson				rx-fifo-size = <4096>;
31871f34979SDavid Gibson				tx-fifo-size = <2048>;
3196bbc5476SHugh Blemings				phy-mode = "rmii";
32071f34979SDavid Gibson				phy-map = <0x00000001>;
3216bbc5476SHugh Blemings 				zmii-device = <&ZMII0>;
3226bbc5476SHugh Blemings				zmii-channel = <1>;
3236bbc5476SHugh Blemings			};
3246bbc5476SHugh Blemings
3256bbc5476SHugh Blemings		 	EMAC2: ethernet@40000c00 {
3266bbc5476SHugh Blemings				device_type = "network";
3276bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
3286bbc5476SHugh Blemings				interrupt-parent = <&UIC2>;
32971f34979SDavid Gibson				interrupts = <0x0 0x4 0x1 0x4>;
33005781ccdSGrant Erickson				reg = <0x40000c00 0x00000074>;
3316bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
3326bbc5476SHugh Blemings				mal-device = <&MAL0>;
3336bbc5476SHugh Blemings				mal-tx-channel = <2>;
3346bbc5476SHugh Blemings				mal-rx-channel = <2>;
3356bbc5476SHugh Blemings				cell-index = <2>;
33671f34979SDavid Gibson				max-frame-size = <9000>;
33771f34979SDavid Gibson				rx-fifo-size = <4096>;
33871f34979SDavid Gibson				tx-fifo-size = <2048>;
3396bbc5476SHugh Blemings				phy-mode = "rgmii";
340aab42ed5SStefan Roese				phy-address = <1>;
3416bbc5476SHugh Blemings				rgmii-device = <&RGMII0>;
3426bbc5476SHugh Blemings				rgmii-channel = <0>;
3436bbc5476SHugh Blemings 				zmii-device = <&ZMII0>;
3446bbc5476SHugh Blemings				zmii-channel = <2>;
34578314263SStefan Roese				tah-device = <&TAH0>;
34678314263SStefan Roese				tah-channel = <0>;
3476bbc5476SHugh Blemings			};
3486bbc5476SHugh Blemings
3496bbc5476SHugh Blemings		 	EMAC3: ethernet@40000e00 {
3506bbc5476SHugh Blemings				device_type = "network";
3516bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
3526bbc5476SHugh Blemings				interrupt-parent = <&UIC2>;
35371f34979SDavid Gibson				interrupts = <0x2 0x4 0x3 0x4>;
35405781ccdSGrant Erickson				reg = <0x40000e00 0x00000074>;
3556bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
3566bbc5476SHugh Blemings				mal-device = <&MAL0>;
3576bbc5476SHugh Blemings				mal-tx-channel = <3>;
3586bbc5476SHugh Blemings				mal-rx-channel = <3>;
3596bbc5476SHugh Blemings				cell-index = <3>;
36071f34979SDavid Gibson				max-frame-size = <9000>;
36171f34979SDavid Gibson				rx-fifo-size = <4096>;
36271f34979SDavid Gibson				tx-fifo-size = <2048>;
3636bbc5476SHugh Blemings				phy-mode = "rgmii";
364aab42ed5SStefan Roese				phy-address = <3>;
3656bbc5476SHugh Blemings				rgmii-device = <&RGMII0>;
3666bbc5476SHugh Blemings				rgmii-channel = <1>;
3676bbc5476SHugh Blemings 				zmii-device = <&ZMII0>;
3686bbc5476SHugh Blemings				zmii-channel = <3>;
36978314263SStefan Roese				tah-device = <&TAH1>;
37078314263SStefan Roese				tah-channel = <0>;
3716bbc5476SHugh Blemings			};
3726bbc5476SHugh Blemings
3736bbc5476SHugh Blemings
3746bbc5476SHugh Blemings			GPT0: gpt@40000a00 {
3756bbc5476SHugh Blemings				/* FIXME */
37671f34979SDavid Gibson				reg = <0x40000a00 0x000000d4>;
3776bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
37871f34979SDavid Gibson				interrupts = <0x12 0x4 0x13 0x4 0x14 0x4 0x15 0x4 0x16 0x4>;
3796bbc5476SHugh Blemings			};
3806bbc5476SHugh Blemings
3816bbc5476SHugh Blemings		};
3826bbc5476SHugh Blemings
3836bbc5476SHugh Blemings		PCIX0: pci@20ec00000 {
3846bbc5476SHugh Blemings			device_type = "pci";
3856bbc5476SHugh Blemings			#interrupt-cells = <1>;
3866bbc5476SHugh Blemings			#size-cells = <2>;
3876bbc5476SHugh Blemings			#address-cells = <3>;
3886bbc5476SHugh Blemings			compatible = "ibm,plb440gp-pcix", "ibm,plb-pcix";
3896bbc5476SHugh Blemings			primary;
3906bbc5476SHugh Blemings			large-inbound-windows;
3916bbc5476SHugh Blemings			enable-msi-hole;
39271f34979SDavid Gibson			reg = <0x00000002 0x0ec00000   0x00000008	/* Config space access */
39371f34979SDavid Gibson			       0x00000000 0x00000000 0x00000000		/* no IACK cycles */
39471f34979SDavid Gibson			       0x00000002 0x0ed00000   0x00000004   /* Special cycles */
39571f34979SDavid Gibson			       0x00000002 0x0ec80000 0x00000100	/* Internal registers */
39671f34979SDavid Gibson			       0x00000002 0x0ec80100  0x000000fc>;	/* Internal messaging registers */
3976bbc5476SHugh Blemings
3986bbc5476SHugh Blemings			/* Outbound ranges, one memory and one IO,
3996bbc5476SHugh Blemings			 * later cannot be changed
4006bbc5476SHugh Blemings			 */
40171f34979SDavid Gibson			ranges = <0x02000000 0x00000000 0x80000000 0x00000003 0x80000000 0x00000000 0x80000000
40271f34979SDavid Gibson				  0x01000000 0x00000000 0x00000000 0x00000002 0x08000000 0x00000000 0x00010000>;
4036bbc5476SHugh Blemings
4046bbc5476SHugh Blemings			/* Inbound 2GB range starting at 0 */
40571f34979SDavid Gibson			dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
4066bbc5476SHugh Blemings
40771f34979SDavid Gibson			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
4086bbc5476SHugh Blemings			interrupt-map = <
4096bbc5476SHugh Blemings				/* IDSEL 1 */
41071f34979SDavid Gibson				0x800 0x0 0x0 0x1 &UIC0 0x17 0x8
41171f34979SDavid Gibson				0x800 0x0 0x0 0x2 &UIC0 0x18 0x8
41271f34979SDavid Gibson				0x800 0x0 0x0 0x3 &UIC0 0x19 0x8
41371f34979SDavid Gibson				0x800 0x0 0x0 0x4 &UIC0 0x1a 0x8
4146bbc5476SHugh Blemings
4156bbc5476SHugh Blemings				/* IDSEL 2 */
41671f34979SDavid Gibson				0x1000 0x0 0x0 0x1 &UIC0 0x18 0x8
41771f34979SDavid Gibson				0x1000 0x0 0x0 0x2 &UIC0 0x19 0x8
41871f34979SDavid Gibson				0x1000 0x0 0x0 0x3 &UIC0 0x1a 0x8
41971f34979SDavid Gibson				0x1000 0x0 0x0 0x4 &UIC0 0x17 0x8
4206bbc5476SHugh Blemings			>;
4216bbc5476SHugh Blemings		};
4226bbc5476SHugh Blemings	};
4236bbc5476SHugh Blemings
4246bbc5476SHugh Blemings	chosen {
42578e5dfeaSRob Herring		stdout-path = "/plb/opb/serial@40000300";
4266bbc5476SHugh Blemings	};
4276bbc5476SHugh Blemings};
428