xref: /linux/arch/powerpc/boot/dts/taishan.dts (revision 71f349799b34c8b6ce3df42126b4de6cfa16456d)
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
13*71f34979SDavid Gibson/dts-v1/;
14*71f34979SDavid Gibson
156bbc5476SHugh Blemings/ {
166bbc5476SHugh Blemings	#address-cells = <2>;
176bbc5476SHugh Blemings	#size-cells = <1>;
186bbc5476SHugh Blemings	model = "amcc,taishan";
196bbc5476SHugh Blemings	compatible = "amcc,taishan";
20*71f34979SDavid 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";
36*71f34979SDavid Gibson			reg = <0x00000000>;
37*71f34979SDavid Gibson			clock-frequency = <800000000>; // 800MHz
386bbc5476SHugh Blemings			timebase-frequency = <0>; // Filled in by zImage
39*71f34979SDavid Gibson			i-cache-line-size = <50>;
40*71f34979SDavid Gibson			d-cache-line-size = <50>;
41*71f34979SDavid Gibson			i-cache-size = <32768>; /* 32 kB */
42*71f34979SDavid 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";
50*71f34979SDavid 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>;
58*71f34979SDavid 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>;
69*71f34979SDavid Gibson		dcr-reg = <0x0c0 0x009>;
706bbc5476SHugh Blemings		#address-cells = <0>;
716bbc5476SHugh Blemings		#size-cells = <0>;
726bbc5476SHugh Blemings		#interrupt-cells = <2>;
73*71f34979SDavid 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>;
82*71f34979SDavid Gibson		dcr-reg = <0x0d0 0x009>;
836bbc5476SHugh Blemings		#address-cells = <0>;
846bbc5476SHugh Blemings		#size-cells = <0>;
856bbc5476SHugh Blemings		#interrupt-cells = <2>;
86*71f34979SDavid 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 */
94*71f34979SDavid Gibson		dcr-reg = <0x210 0x009>;
956bbc5476SHugh Blemings		#address-cells = <0>;
966bbc5476SHugh Blemings		#size-cells = <0>;
976bbc5476SHugh Blemings		#interrupt-cells = <2>;
98*71f34979SDavid 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";
105*71f34979SDavid 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";
111*71f34979SDavid Gibson		dcr-reg = <0x020 0x008			/* Internal SRAM DCR's */
112*71f34979SDavid Gibson			   0x030 0x008>;		/* L2 cache DCR's */
113*71f34979SDavid Gibson		cache-line-size = <32>;		/* 32 bytes */
114*71f34979SDavid Gibson		cache-size = <262144>;		/* L2, 256K */
11599d8be05SStefan Roese		interrupt-parent = <&UIC2>;
116*71f34979SDavid 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;
124*71f34979SDavid Gibson		clock-frequency = <160000000>; // 160MHz
1256bbc5476SHugh Blemings
1266bbc5476SHugh Blemings		SDRAM0: memory-controller {
1276bbc5476SHugh Blemings			compatible = "ibm,sdram-440gp";
128*71f34979SDavid Gibson			dcr-reg = <0x010 0x002>;
1296bbc5476SHugh Blemings			// FIXME: anything else?
1306bbc5476SHugh Blemings		};
1316bbc5476SHugh Blemings
1326bbc5476SHugh Blemings		SRAM0: sram {
1336bbc5476SHugh Blemings			compatible = "ibm,sram-440gp";
134*71f34979SDavid Gibson			dcr-reg = <0x020 0x008 0x00a 0x001>;
1356bbc5476SHugh Blemings		};
1366bbc5476SHugh Blemings
1376bbc5476SHugh Blemings		DMA0: dma {
1386bbc5476SHugh Blemings			// FIXME: ???
1396bbc5476SHugh Blemings			compatible = "ibm,dma-440gp";
140*71f34979SDavid Gibson			dcr-reg = <0x100 0x027>;
1416bbc5476SHugh Blemings		};
1426bbc5476SHugh Blemings
1436bbc5476SHugh Blemings		MAL0: mcmal {
1446bbc5476SHugh Blemings			compatible = "ibm,mcmal-440gx", "ibm,mcmal2";
145*71f34979SDavid Gibson			dcr-reg = <0x180 0x062>;
1466bbc5476SHugh Blemings			num-tx-chans = <4>;
1476bbc5476SHugh Blemings			num-rx-chans = <4>;
1486bbc5476SHugh Blemings			interrupt-parent = <&MAL0>;
149*71f34979SDavid Gibson			interrupts = <0x0 0x1 0x2 0x3 0x4>;
1506bbc5476SHugh Blemings			#interrupt-cells = <1>;
1516bbc5476SHugh Blemings			#address-cells = <0>;
1526bbc5476SHugh Blemings			#size-cells = <0>;
153*71f34979SDavid Gibson			interrupt-map = </*TXEOB*/ 0x0 &UIC0 0xa 0x4
154*71f34979SDavid Gibson					 /*RXEOB*/ 0x1 &UIC0 0xb 0x4
155*71f34979SDavid Gibson					 /*SERR*/  0x2 &UIC1 0x0 0x4
156*71f34979SDavid Gibson					 /*TXDE*/  0x3 &UIC1 0x1 0x4
157*71f34979SDavid Gibson					 /*RXDE*/  0x4 &UIC1 0x2 0x4>;
158*71f34979SDavid 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 */
167*71f34979SDavid Gibson			ranges = <0x00000000 0x00000001 0x00000000 0x80000000
168*71f34979SDavid Gibson				  0x80000000 0x00000001 0x80000000 0x80000000>;
169*71f34979SDavid Gibson			dcr-reg = <0x090 0x00b>;
1706bbc5476SHugh Blemings			interrupt-parent = <&UIC1>;
171*71f34979SDavid Gibson			interrupts = <0x7 0x4>;
172*71f34979SDavid Gibson			clock-frequency = <80000000>; // 80MHz
1736bbc5476SHugh Blemings
1746bbc5476SHugh Blemings
1756bbc5476SHugh Blemings			EBC0: ebc {
1766bbc5476SHugh Blemings				compatible = "ibm,ebc-440gx", "ibm,ebc";
177*71f34979SDavid Gibson				dcr-reg = <0x012 0x002>;
1786bbc5476SHugh Blemings				#address-cells = <2>;
1796bbc5476SHugh Blemings				#size-cells = <1>;
180*71f34979SDavid 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
186*71f34979SDavid Gibson				interrupts = <0x5 0x4>;
1876bbc5476SHugh Blemings				interrupt-parent = <&UIC1>;
1886bbc5476SHugh Blemings
1896bbc5476SHugh Blemings				/* TODO: Add other EBC devices */
1906bbc5476SHugh Blemings			};
1916bbc5476SHugh Blemings
1926bbc5476SHugh Blemings
1936bbc5476SHugh Blemings
1946bbc5476SHugh Blemings			UART0: serial@40000200 {
1956bbc5476SHugh Blemings				device_type = "serial";
1966bbc5476SHugh Blemings				compatible = "ns16550";
197*71f34979SDavid Gibson				reg = <0x40000200 0x00000008>;
198*71f34979SDavid Gibson				virtual-reg = <0xe0000200>;
199*71f34979SDavid Gibson 				clock-frequency = <11059200>;
200*71f34979SDavid Gibson				current-speed = <115200>; /* 115200 */
2016bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
202*71f34979SDavid Gibson				interrupts = <0x0 0x4>;
2036bbc5476SHugh Blemings			};
2046bbc5476SHugh Blemings
2056bbc5476SHugh Blemings			UART1: serial@40000300 {
2066bbc5476SHugh Blemings				device_type = "serial";
2076bbc5476SHugh Blemings				compatible = "ns16550";
208*71f34979SDavid Gibson				reg = <0x40000300 0x00000008>;
209*71f34979SDavid Gibson				virtual-reg = <0xe0000300>;
210*71f34979SDavid Gibson				clock-frequency = <11059200>;
211*71f34979SDavid Gibson				current-speed = <115200>; /* 115200 */
2126bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
213*71f34979SDavid Gibson				interrupts = <0x1 0x4>;
2146bbc5476SHugh Blemings			};
2156bbc5476SHugh Blemings
2166bbc5476SHugh Blemings			IIC0: i2c@40000400 {
2176bbc5476SHugh Blemings				/* FIXME */
2186bbc5476SHugh Blemings				compatible = "ibm,iic-440gp", "ibm,iic";
219*71f34979SDavid Gibson				reg = <0x40000400 0x00000014>;
2206bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
221*71f34979SDavid Gibson				interrupts = <0x2 0x4>;
2226bbc5476SHugh Blemings			};
2236bbc5476SHugh Blemings			IIC1: i2c@40000500 {
2246bbc5476SHugh Blemings				/* FIXME */
2256bbc5476SHugh Blemings				compatible = "ibm,iic-440gp", "ibm,iic";
226*71f34979SDavid Gibson				reg = <0x40000500 0x00000014>;
2276bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
228*71f34979SDavid Gibson				interrupts = <0x3 0x4>;
2296bbc5476SHugh Blemings			};
2306bbc5476SHugh Blemings
2316bbc5476SHugh Blemings			GPIO0: gpio@40000700 {
2326bbc5476SHugh Blemings				/* FIXME */
2336bbc5476SHugh Blemings				compatible = "ibm,gpio-440gp";
234*71f34979SDavid Gibson				reg = <0x40000700 0x00000020>;
2356bbc5476SHugh Blemings			};
2366bbc5476SHugh Blemings
2376bbc5476SHugh Blemings			ZMII0: emac-zmii@40000780 {
2386bbc5476SHugh Blemings				compatible = "ibm,zmii-440gx", "ibm,zmii";
239*71f34979SDavid Gibson				reg = <0x40000780 0x0000000c>;
2406bbc5476SHugh Blemings			};
2416bbc5476SHugh Blemings
2426bbc5476SHugh Blemings			RGMII0: emac-rgmii@40000790 {
2436bbc5476SHugh Blemings				compatible = "ibm,rgmii";
244*71f34979SDavid Gibson				reg = <0x40000790 0x00000008>;
2456bbc5476SHugh Blemings			};
2466bbc5476SHugh Blemings
24778314263SStefan Roese			TAH0: emac-tah@40000b50 {
24878314263SStefan Roese				compatible = "ibm,tah-440gx", "ibm,tah";
249*71f34979SDavid Gibson				reg = <0x40000b50 0x00000030>;
25078314263SStefan Roese			};
25178314263SStefan Roese
25278314263SStefan Roese			TAH1: emac-tah@40000d50 {
25378314263SStefan Roese				compatible = "ibm,tah-440gx", "ibm,tah";
254*71f34979SDavid Gibson				reg = <0x40000d50 0x00000030>;
25578314263SStefan Roese			};
2566bbc5476SHugh Blemings
2576bbc5476SHugh Blemings			EMAC0: ethernet@40000800 {
258*71f34979SDavid Gibson				unused = <0x1>;
2596bbc5476SHugh Blemings				device_type = "network";
2606bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
2616bbc5476SHugh Blemings				interrupt-parent = <&UIC1>;
262*71f34979SDavid Gibson				interrupts = <0x1c 0x4 0x1d 0x4>;
263*71f34979SDavid Gibson				reg = <0x40000800 0x00000070>;
2646bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
2656bbc5476SHugh Blemings				mal-device = <&MAL0>;
2666bbc5476SHugh Blemings				mal-tx-channel = <0>;
2676bbc5476SHugh Blemings				mal-rx-channel = <0>;
2686bbc5476SHugh Blemings				cell-index = <0>;
269*71f34979SDavid Gibson				max-frame-size = <1500>;
270*71f34979SDavid Gibson				rx-fifo-size = <4096>;
271*71f34979SDavid Gibson				tx-fifo-size = <2048>;
2726bbc5476SHugh Blemings				phy-mode = "rmii";
273*71f34979SDavid Gibson				phy-map = <0x00000001>;
2746bbc5476SHugh Blemings				zmii-device = <&ZMII0>;
2756bbc5476SHugh Blemings				zmii-channel = <0>;
2766bbc5476SHugh Blemings			};
2776bbc5476SHugh Blemings		 	EMAC1: ethernet@40000900 {
278*71f34979SDavid Gibson				unused = <0x1>;
2796bbc5476SHugh Blemings				device_type = "network";
2806bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
2816bbc5476SHugh Blemings				interrupt-parent = <&UIC1>;
282*71f34979SDavid Gibson				interrupts = <0x1e 0x4 0x1f 0x4>;
283*71f34979SDavid Gibson				reg = <0x40000900 0x00000070>;
2846bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
2856bbc5476SHugh Blemings				mal-device = <&MAL0>;
2866bbc5476SHugh Blemings				mal-tx-channel = <1>;
2876bbc5476SHugh Blemings				mal-rx-channel = <1>;
2886bbc5476SHugh Blemings				cell-index = <1>;
289*71f34979SDavid Gibson				max-frame-size = <1500>;
290*71f34979SDavid Gibson				rx-fifo-size = <4096>;
291*71f34979SDavid Gibson				tx-fifo-size = <2048>;
2926bbc5476SHugh Blemings				phy-mode = "rmii";
293*71f34979SDavid Gibson				phy-map = <0x00000001>;
2946bbc5476SHugh Blemings 				zmii-device = <&ZMII0>;
2956bbc5476SHugh Blemings				zmii-channel = <1>;
2966bbc5476SHugh Blemings			};
2976bbc5476SHugh Blemings
2986bbc5476SHugh Blemings		 	EMAC2: ethernet@40000c00 {
2996bbc5476SHugh Blemings				device_type = "network";
3006bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
3016bbc5476SHugh Blemings				interrupt-parent = <&UIC2>;
302*71f34979SDavid Gibson				interrupts = <0x0 0x4 0x1 0x4>;
303*71f34979SDavid Gibson				reg = <0x40000c00 0x00000070>;
3046bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
3056bbc5476SHugh Blemings				mal-device = <&MAL0>;
3066bbc5476SHugh Blemings				mal-tx-channel = <2>;
3076bbc5476SHugh Blemings				mal-rx-channel = <2>;
3086bbc5476SHugh Blemings				cell-index = <2>;
309*71f34979SDavid Gibson				max-frame-size = <9000>;
310*71f34979SDavid Gibson				rx-fifo-size = <4096>;
311*71f34979SDavid Gibson				tx-fifo-size = <2048>;
3126bbc5476SHugh Blemings				phy-mode = "rgmii";
313*71f34979SDavid Gibson				phy-map = <0x00000001>;
3146bbc5476SHugh Blemings				rgmii-device = <&RGMII0>;
3156bbc5476SHugh Blemings				rgmii-channel = <0>;
3166bbc5476SHugh Blemings 				zmii-device = <&ZMII0>;
3176bbc5476SHugh Blemings				zmii-channel = <2>;
31878314263SStefan Roese				tah-device = <&TAH0>;
31978314263SStefan Roese				tah-channel = <0>;
3206bbc5476SHugh Blemings			};
3216bbc5476SHugh Blemings
3226bbc5476SHugh Blemings		 	EMAC3: ethernet@40000e00 {
3236bbc5476SHugh Blemings				device_type = "network";
3246bbc5476SHugh Blemings				compatible = "ibm,emac-440gx", "ibm,emac4";
3256bbc5476SHugh Blemings				interrupt-parent = <&UIC2>;
326*71f34979SDavid Gibson				interrupts = <0x2 0x4 0x3 0x4>;
327*71f34979SDavid Gibson				reg = <0x40000e00 0x00000070>;
3286bbc5476SHugh Blemings				local-mac-address = [000000000000]; // Filled in by zImage
3296bbc5476SHugh Blemings				mal-device = <&MAL0>;
3306bbc5476SHugh Blemings				mal-tx-channel = <3>;
3316bbc5476SHugh Blemings				mal-rx-channel = <3>;
3326bbc5476SHugh Blemings				cell-index = <3>;
333*71f34979SDavid Gibson				max-frame-size = <9000>;
334*71f34979SDavid Gibson				rx-fifo-size = <4096>;
335*71f34979SDavid Gibson				tx-fifo-size = <2048>;
3366bbc5476SHugh Blemings				phy-mode = "rgmii";
337*71f34979SDavid Gibson				phy-map = <0x00000003>;
3386bbc5476SHugh Blemings				rgmii-device = <&RGMII0>;
3396bbc5476SHugh Blemings				rgmii-channel = <1>;
3406bbc5476SHugh Blemings 				zmii-device = <&ZMII0>;
3416bbc5476SHugh Blemings				zmii-channel = <3>;
34278314263SStefan Roese				tah-device = <&TAH1>;
34378314263SStefan Roese				tah-channel = <0>;
3446bbc5476SHugh Blemings			};
3456bbc5476SHugh Blemings
3466bbc5476SHugh Blemings
3476bbc5476SHugh Blemings			GPT0: gpt@40000a00 {
3486bbc5476SHugh Blemings				/* FIXME */
349*71f34979SDavid Gibson				reg = <0x40000a00 0x000000d4>;
3506bbc5476SHugh Blemings				interrupt-parent = <&UIC0>;
351*71f34979SDavid Gibson				interrupts = <0x12 0x4 0x13 0x4 0x14 0x4 0x15 0x4 0x16 0x4>;
3526bbc5476SHugh Blemings			};
3536bbc5476SHugh Blemings
3546bbc5476SHugh Blemings		};
3556bbc5476SHugh Blemings
3566bbc5476SHugh Blemings		PCIX0: pci@20ec00000 {
3576bbc5476SHugh Blemings			device_type = "pci";
3586bbc5476SHugh Blemings			#interrupt-cells = <1>;
3596bbc5476SHugh Blemings			#size-cells = <2>;
3606bbc5476SHugh Blemings			#address-cells = <3>;
3616bbc5476SHugh Blemings			compatible = "ibm,plb440gp-pcix", "ibm,plb-pcix";
3626bbc5476SHugh Blemings			primary;
3636bbc5476SHugh Blemings			large-inbound-windows;
3646bbc5476SHugh Blemings			enable-msi-hole;
365*71f34979SDavid Gibson			reg = <0x00000002 0x0ec00000   0x00000008	/* Config space access */
366*71f34979SDavid Gibson			       0x00000000 0x00000000 0x00000000		/* no IACK cycles */
367*71f34979SDavid Gibson			       0x00000002 0x0ed00000   0x00000004   /* Special cycles */
368*71f34979SDavid Gibson			       0x00000002 0x0ec80000 0x00000100	/* Internal registers */
369*71f34979SDavid Gibson			       0x00000002 0x0ec80100  0x000000fc>;	/* Internal messaging registers */
3706bbc5476SHugh Blemings
3716bbc5476SHugh Blemings			/* Outbound ranges, one memory and one IO,
3726bbc5476SHugh Blemings			 * later cannot be changed
3736bbc5476SHugh Blemings			 */
374*71f34979SDavid Gibson			ranges = <0x02000000 0x00000000 0x80000000 0x00000003 0x80000000 0x00000000 0x80000000
375*71f34979SDavid Gibson				  0x01000000 0x00000000 0x00000000 0x00000002 0x08000000 0x00000000 0x00010000>;
3766bbc5476SHugh Blemings
3776bbc5476SHugh Blemings			/* Inbound 2GB range starting at 0 */
378*71f34979SDavid Gibson			dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
3796bbc5476SHugh Blemings
380*71f34979SDavid Gibson			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
3816bbc5476SHugh Blemings			interrupt-map = <
3826bbc5476SHugh Blemings				/* IDSEL 1 */
383*71f34979SDavid Gibson				0x800 0x0 0x0 0x1 &UIC0 0x17 0x8
384*71f34979SDavid Gibson				0x800 0x0 0x0 0x2 &UIC0 0x18 0x8
385*71f34979SDavid Gibson				0x800 0x0 0x0 0x3 &UIC0 0x19 0x8
386*71f34979SDavid Gibson				0x800 0x0 0x0 0x4 &UIC0 0x1a 0x8
3876bbc5476SHugh Blemings
3886bbc5476SHugh Blemings				/* IDSEL 2 */
389*71f34979SDavid Gibson				0x1000 0x0 0x0 0x1 &UIC0 0x18 0x8
390*71f34979SDavid Gibson				0x1000 0x0 0x0 0x2 &UIC0 0x19 0x8
391*71f34979SDavid Gibson				0x1000 0x0 0x0 0x3 &UIC0 0x1a 0x8
392*71f34979SDavid Gibson				0x1000 0x0 0x0 0x4 &UIC0 0x17 0x8
3936bbc5476SHugh Blemings			>;
3946bbc5476SHugh Blemings		};
3956bbc5476SHugh Blemings	};
3966bbc5476SHugh Blemings
3976bbc5476SHugh Blemings	chosen {
3986bbc5476SHugh Blemings		linux,stdout-path = "/plb/opb/serial@40000300";
3996bbc5476SHugh Blemings	};
4006bbc5476SHugh Blemings};
401