/*
 * Copyright (C) 2008 Extreme Engineering Solutions, Inc.
 * Based on MPC8572DS device tree from Freescale Semiconductor, Inc.
 *
 * XPedite5330 3U CompactPCI module based on MPC8572E
 *
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/dts-v1/;
/ {
	model = "xes,xpedite5330";
	compatible = "xes,xpedite5330", "xes,MPC8572";
	#address-cells = <2>;
	#size-cells = <2>;
	form-factor = "3U CompactPCI";
	boot-bank = <0x0>;	/* 0: Primary flash, 1: Secondary flash */

	aliases {
		ethernet0 = &enet0;
		ethernet1 = &enet1;
		serial0 = &serial0;
		serial1 = &serial1;
		pci0 = &pci0;
		pci1 = &pci1;
		pci2 = &pci2;
	};

	pmcslots {
		#address-cells = <1>;
		#size-cells = <0>;

		pmcslot@0 {
			cell-index = <0>;
			/*
			 * boolean properties (true if defined):
			 *     monarch;
			 *     module-present;
			 */
		};
	};

	xmcslots {
		#address-cells = <1>;
		#size-cells = <0>;

		xmcslot@0 {
			cell-index = <0>;
			/*
			 * boolean properties (true if defined):
			 *     module-present;
			 */
		};
	};

	cpci {
		/*
		 * boolean properties (true if defined):
		 *     system-controller;
		 */
		system-controller;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8572@0 {
			device_type = "cpu";
			reg = <0x0>;
			d-cache-line-size = <32>;	// 32 bytes
			i-cache-line-size = <32>;	// 32 bytes
			d-cache-size = <0x8000>;		// L1, 32K
			i-cache-size = <0x8000>;		// L1, 32K
			timebase-frequency = <0>;
			bus-frequency = <0>;
			clock-frequency = <0>;
			next-level-cache = <&L2>;
		};

		PowerPC,8572@1 {
			device_type = "cpu";
			reg = <0x1>;
			d-cache-line-size = <32>;	// 32 bytes
			i-cache-line-size = <32>;	// 32 bytes
			d-cache-size = <0x8000>;		// L1, 32K
			i-cache-size = <0x8000>;		// L1, 32K
			timebase-frequency = <0>;
			bus-frequency = <0>;
			clock-frequency = <0>;
			next-level-cache = <&L2>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x0>;	// Filled in by U-Boot
	};

	localbus@ef005000 {
		#address-cells = <2>;
		#size-cells = <1>;
		compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus";
		reg = <0 0xef005000 0 0x1000>;
		interrupts = <19 2>;
		interrupt-parent = <&mpic>;
		/* Local bus region mappings */
		ranges = <0 0 0 0xf8000000 0x8000000 /* CS0: Boot flash */
			  1 0 0 0xf0000000 0x8000000 /* CS1: Alternate flash */
			  2 0 0 0xef800000 0x40000   /* CS2: NAND CE1 */
			  3 0 0 0xef840000 0x40000>; /* CS3: NAND CE2 */

		nor-boot@0,0 {
			compatible = "amd,s29gl01gp", "cfi-flash";
			bank-width = <2>;
			reg = <0 0 0x8000000>; /* 128MB */
			#address-cells = <1>;
			#size-cells = <1>;
			partition@0 {
				label = "Primary user space";
				reg = <0x00000000 0x6f00000>; /* 111 MB */
			};
			partition@6f00000 {
				label = "Primary kernel";
				reg = <0x6f00000 0x1000000>; /* 16 MB */
			};
			partition@7f00000 {
				label = "Primary DTB";
				reg = <0x7f00000 0x40000>; /* 256 KB */
			};
			partition@7f40000 {
				label = "Primary U-Boot environment";
				reg = <0x7f40000 0x40000>; /* 256 KB */
			};
			partition@7f80000 {
				label = "Primary U-Boot";
				reg = <0x7f80000 0x80000>; /* 512 KB */
				read-only;
			};
		};

		nor-alternate@1,0 {
			compatible = "amd,s29gl01gp", "cfi-flash";
			bank-width = <2>;
			//reg = <0xf0000000 0x08000000>; /* 128MB */
			reg = <1 0 0x8000000>; /* 128MB */
			#address-cells = <1>;
			#size-cells = <1>;
			partition@0 {
				label = "Secondary user space";
				reg = <0x00000000 0x6f00000>; /* 111 MB */
			};
			partition@6f00000 {
				label = "Secondary kernel";
				reg = <0x6f00000 0x1000000>; /* 16 MB */
			};
			partition@7f00000 {
				label = "Secondary DTB";
				reg = <0x7f00000 0x40000>; /* 256 KB */
			};
			partition@7f40000 {
				label = "Secondary U-Boot environment";
				reg = <0x7f40000 0x40000>; /* 256 KB */
			};
			partition@7f80000 {
				label = "Secondary U-Boot";
				reg = <0x7f80000 0x80000>; /* 512 KB */
				read-only;
			};
		};

		nand@2,0 {
			#address-cells = <1>;
			#size-cells = <1>;
			/*
			 * Actual part could be ST Micro NAND08GW3B2A (1 GB),
			 * Micron MT29F8G08DAA (2x 512 MB), or Micron
			 * MT29F16G08FAA (2x 1 GB), depending on the build
			 * configuration
			 */
			compatible = "fsl,mpc8572-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <2 0 0x40000>;
			/* U-Boot should fix this up if chip size > 1 GB */
			partition@0 {
				label = "NAND Filesystem";
				reg = <0 0x40000000>;
			};
		};

	};

	soc8572@ef000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
		compatible = "fsl,mpc8572-immr", "simple-bus";
		ranges = <0x0 0 0xef000000 0x100000>;
		bus-frequency = <0>;		// Filled out by uboot.

		ecm-law@0 {
			compatible = "fsl,ecm-law";
			reg = <0x0 0x1000>;
			fsl,num-laws = <12>;
		};

		ecm@1000 {
			compatible = "fsl,mpc8572-ecm", "fsl,ecm";
			reg = <0x1000 0x1000>;
			interrupts = <17 2>;
			interrupt-parent = <&mpic>;
		};

		memory-controller@2000 {
			compatible = "fsl,mpc8572-memory-controller";
			reg = <0x2000 0x1000>;
			interrupt-parent = <&mpic>;
			interrupts = <18 2>;
		};

		memory-controller@6000 {
			compatible = "fsl,mpc8572-memory-controller";
			reg = <0x6000 0x1000>;
			interrupt-parent = <&mpic>;
			interrupts = <18 2>;
		};

		L2: l2-cache-controller@20000 {
			compatible = "fsl,mpc8572-l2-cache-controller";
			reg = <0x20000 0x1000>;
			cache-line-size = <32>;	// 32 bytes
			cache-size = <0x100000>; // L2, 1M
			interrupt-parent = <&mpic>;
			interrupts = <16 2>;
		};

		i2c@3000 {
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;
			compatible = "fsl-i2c";
			reg = <0x3000 0x100>;
			interrupts = <43 2>;
			interrupt-parent = <&mpic>;
			dfsrr;

			temp-sensor@48 {
				compatible = "dallas,ds1631", "dallas,ds1621";
				reg = <0x48>;
			};

			temp-sensor@4c {
				compatible = "adi,adt7461";
				reg = <0x4c>;
			};

			cpu-supervisor@51 {
				compatible = "dallas,ds4510";
				reg = <0x51>;
			};

			eeprom@54 {
				compatible = "atmel,at24c128b";
				reg = <0x54>;
			};

			rtc@68 {
				compatible = "st,m41t00",
				             "dallas,ds1338";
				reg = <0x68>;
			};

			pcie-switch@70 {
				compatible = "plx,pex8518";
				reg = <0x70>;
			};

			gpio1: gpio@18 {
				compatible = "nxp,pca9557";
				reg = <0x18>;
				#gpio-cells = <2>;
				gpio-controller;
				polarity = <0x00>;
			};

			gpio2: gpio@1c {
				compatible = "nxp,pca9557";
				reg = <0x1c>;
				#gpio-cells = <2>;
				gpio-controller;
				polarity = <0x00>;
			};

			gpio3: gpio@1e {
				compatible = "nxp,pca9557";
				reg = <0x1e>;
				#gpio-cells = <2>;
				gpio-controller;
				polarity = <0x00>;
			};

			gpio4: gpio@1f {
				compatible = "nxp,pca9557";
				reg = <0x1f>;
				#gpio-cells = <2>;
				gpio-controller;
				polarity = <0x00>;
			};
		};

		i2c@3100 {
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <1>;
			compatible = "fsl-i2c";
			reg = <0x3100 0x100>;
			interrupts = <43 2>;
			interrupt-parent = <&mpic>;
			dfsrr;
		};

		dma@c300 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
			reg = <0xc300 0x4>;
			ranges = <0x0 0xc100 0x200>;
			cell-index = <1>;
			dma-channel@0 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x0 0x80>;
				cell-index = <0>;
				interrupt-parent = <&mpic>;
				interrupts = <76 2>;
			};
			dma-channel@80 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x80 0x80>;
				cell-index = <1>;
				interrupt-parent = <&mpic>;
				interrupts = <77 2>;
			};
			dma-channel@100 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x100 0x80>;
				cell-index = <2>;
				interrupt-parent = <&mpic>;
				interrupts = <78 2>;
			};
			dma-channel@180 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x180 0x80>;
				cell-index = <3>;
				interrupt-parent = <&mpic>;
				interrupts = <79 2>;
			};
		};

		dma@21300 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
			reg = <0x21300 0x4>;
			ranges = <0x0 0x21100 0x200>;
			cell-index = <0>;
			dma-channel@0 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x0 0x80>;
				cell-index = <0>;
				interrupt-parent = <&mpic>;
				interrupts = <20 2>;
			};
			dma-channel@80 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x80 0x80>;
				cell-index = <1>;
				interrupt-parent = <&mpic>;
				interrupts = <21 2>;
			};
			dma-channel@100 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x100 0x80>;
				cell-index = <2>;
				interrupt-parent = <&mpic>;
				interrupts = <22 2>;
			};
			dma-channel@180 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x180 0x80>;
				cell-index = <3>;
				interrupt-parent = <&mpic>;
				interrupts = <23 2>;
			};
		};

		/* eTSEC 1 */
		enet0: ethernet@24000 {
			#address-cells = <1>;
			#size-cells = <1>;
			cell-index = <0>;
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
			reg = <0x24000 0x1000>;
			ranges = <0x0 0x24000 0x1000>;
			local-mac-address = [ 00 00 00 00 00 00 ];
			interrupts = <29 2 30 2 34 2>;
			interrupt-parent = <&mpic>;
			tbi-handle = <&tbi0>;
			phy-handle = <&phy0>;
			phy-connection-type = "sgmii";

			mdio@520 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,gianfar-mdio";
				reg = <0x520 0x20>;

				phy0: ethernet-phy@1 {
					interrupt-parent = <&mpic>;
					interrupts = <8 1>;
					reg = <0x1>;
				};
				phy1: ethernet-phy@2 {
					interrupt-parent = <&mpic>;
					interrupts = <8 1>;
					reg = <0x2>;
				};
				tbi0: tbi-phy@11 {
					reg = <0x11>;
					device_type = "tbi-phy";
				};
			};
		};

		/* eTSEC 2 */
		enet1: ethernet@25000 {
			#address-cells = <1>;
			#size-cells = <1>;
			cell-index = <1>;
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
			reg = <0x25000 0x1000>;
			ranges = <0x0 0x25000 0x1000>;
			local-mac-address = [ 00 00 00 00 00 00 ];
			interrupts = <35 2 36 2 40 2>;
			interrupt-parent = <&mpic>;
			tbi-handle = <&tbi1>;
			phy-handle = <&phy1>;
			phy-connection-type = "sgmii";

			mdio@520 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,gianfar-tbi";
				reg = <0x520 0x20>;

				tbi1: tbi-phy@11 {
					reg = <0x11>;
					device_type = "tbi-phy";
				};
			};
		};

		/* UART0 */
		serial0: serial@4500 {
			cell-index = <0>;
			device_type = "serial";
			compatible = "fsl,ns16550", "ns16550";
			reg = <0x4500 0x100>;
			clock-frequency = <0>;
			interrupts = <42 2>;
			interrupt-parent = <&mpic>;
		};

		/* UART1 */
		serial1: serial@4600 {
			cell-index = <1>;
			device_type = "serial";
			compatible = "fsl,ns16550", "ns16550";
			reg = <0x4600 0x100>;
			clock-frequency = <0>;
			interrupts = <42 2>;
			interrupt-parent = <&mpic>;
		};

		global-utilities@e0000 {	//global utilities block
			compatible = "fsl,mpc8572-guts";
			reg = <0xe0000 0x1000>;
			fsl,has-rstcr;
		};

		msi@41600 {
			compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
			reg = <0x41600 0x80>;
			msi-available-ranges = <0 0x100>;
			interrupts = <
				0xe0 0
				0xe1 0
				0xe2 0
				0xe3 0
				0xe4 0
				0xe5 0
				0xe6 0
				0xe7 0>;
			interrupt-parent = <&mpic>;
		};

		crypto@30000 {
			compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
				     "fsl,sec2.1", "fsl,sec2.0";
			reg = <0x30000 0x10000>;
			interrupts = <45 2 58 2>;
			interrupt-parent = <&mpic>;
			fsl,num-channels = <4>;
			fsl,channel-fifo-len = <24>;
			fsl,exec-units-mask = <0x9fe>;
			fsl,descriptor-types-mask = <0x3ab0ebf>;
		};

		mpic: pic@40000 {
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
			reg = <0x40000 0x40000>;
			compatible = "chrp,open-pic";
			device_type = "open-pic";
		};

		gpio0: gpio@f000 {
			compatible = "fsl,mpc8572-gpio";
			reg = <0xf000 0x1000>;
			interrupts = <47 2>;
			interrupt-parent = <&mpic>;
			#gpio-cells = <2>;
			gpio-controller;
		};

		gpio-leds {
			compatible = "gpio-leds";

			heartbeat {
				label = "Heartbeat";
				gpios = <&gpio0 4 1>;
				linux,default-trigger = "heartbeat";
			};

			yellow {
				label = "Yellow";
				gpios = <&gpio0 5 1>;
			};

			red {
				label = "Red";
				gpios = <&gpio0 6 1>;
			};

			green {
				label = "Green";
				gpios = <&gpio0 7 1>;
			};
		};

		/* PME (pattern-matcher) */
		pme@10000 {
			compatible = "fsl,mpc8572-pme", "pme8572";
			reg = <0x10000 0x5000>;
			interrupts = <57 2 64 2 65 2 66 2 67 2>;
			interrupt-parent = <&mpic>;
		};

		tlu@2f000 {
			compatible = "fsl,mpc8572-tlu", "fsl_tlu";
			reg = <0x2f000 0x1000>;
			interrupts = <61 2>;
			interrupt-parent = <&mpic>;
		};

		tlu@15000 {
			compatible = "fsl,mpc8572-tlu", "fsl_tlu";
			reg = <0x15000 0x1000>;
			interrupts = <75 2>;
			interrupt-parent = <&mpic>;
		};
	};

	/* PCI Express controller 3 - CompactPCI bus via PEX8112 bridge */
	pci0: pcie@ef008000 {
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <0 0xef008000 0 0x1000>;
		bus-range = <0 255>;
		ranges = <0x2000000 0x0 0xe0000000 0 0xe0000000 0x0 0x10000000
			  0x1000000 0x0 0x00000000 0 0xe9000000 0x0 0x10000>;
		clock-frequency = <33333333>;
		interrupt-parent = <&mpic>;
		interrupts = <24 2>;
		interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
		interrupt-map = <
			0x0 0x0 0x0 0x1 &mpic 0x0 0x1
			0x0 0x0 0x0 0x2 &mpic 0x1 0x1
			0x0 0x0 0x0 0x3 &mpic 0x2 0x1
			0x0 0x0 0x0 0x4 &mpic 0x3 0x1
			>;
		pcie@0 {
			reg = <0x0 0x0 0x0 0x0 0x0>;
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
			ranges = <0x02000000 0x0 0xe0000000
				  0x02000000 0x0 0xe0000000
				  0x0 0x10000000

				  0x01000000 0x0 0x0
				  0x01000000 0x0 0x0
				  0x0 0x100000>;
		};
	};

	/* PCI Express controller 2, PMC module via PEX8112 bridge */
	pci1: pcie@ef009000 {
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <0 0xef009000 0 0x1000>;
		bus-range = <0 255>;
		ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x10000000
			  0x1000000 0x0 0x00000000 0 0xe8800000 0x0 0x10000>;
		clock-frequency = <33333333>;
		interrupt-parent = <&mpic>;
		interrupts = <25 2>;
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
		interrupt-map = <
			/* IDSEL 0x0 */
			0x0 0x0 0x0 0x1 &mpic 0x4 0x1
			0x0 0x0 0x0 0x2 &mpic 0x5 0x1
			0x0 0x0 0x0 0x3 &mpic 0x6 0x1
			0x0 0x0 0x0 0x4 &mpic 0x7 0x1
			>;
		pcie@0 {
			reg = <0x0 0x0 0x0 0x0 0x0>;
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
			ranges = <0x2000000 0x0 0xc0000000
				  0x2000000 0x0 0xc0000000
				  0x0 0x10000000

				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
				  0x0 0x100000>;
		};
	};

	/* PCI Express controller 1, XMC P15 */
	pci2: pcie@ef00a000 {
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <0 0xef00a000 0 0x1000>;
		bus-range = <0 255>;
		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x40000000
			  0x1000000 0x0 0x00000000 0 0xe8000000 0x0 0x10000>;
		clock-frequency = <33333333>;
		interrupt-parent = <&mpic>;
		interrupts = <26 2>;
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
		interrupt-map = <
			/* IDSEL 0x0 */
			0x0 0x0 0x0 0x1 &mpic 0x0 0x1
			0x0 0x0 0x0 0x2 &mpic 0x1 0x1
			0x0 0x0 0x0 0x3 &mpic 0x2 0x1
			0x0 0x0 0x0 0x4 &mpic 0x3 0x1
			>;
		pcie@0 {
			reg = <0x0 0x0 0x0 0x0 0x0>;
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
			ranges = <0x2000000 0x0 0x80000000
				  0x2000000 0x0 0x80000000
				  0x0 0x40000000

				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
				  0x0 0x100000>;
		};
	};
};
