xref: /openbmc/linux/arch/powerpc/boot/dts/mgcoge.dts (revision 9239c89b)
163716633SHeiko Schocher/*
263716633SHeiko Schocher * Device Tree for the MGCOGE plattform from keymile
363716633SHeiko Schocher *
463716633SHeiko Schocher * Copyright 2008 DENX Software Engineering GmbH
563716633SHeiko Schocher * Heiko Schocher <hs@denx.de>
663716633SHeiko Schocher *
763716633SHeiko Schocher * This program is free software; you can redistribute  it and/or modify it
863716633SHeiko Schocher * under  the terms of  the GNU General  Public License as published by the
963716633SHeiko Schocher * Free Software Foundation;  either version 2 of the  License, or (at your
1063716633SHeiko Schocher * option) any later version.
1163716633SHeiko Schocher */
1263716633SHeiko Schocher
1363716633SHeiko Schocher/dts-v1/;
1463716633SHeiko Schocher/ {
1563716633SHeiko Schocher	model = "MGCOGE";
1663716633SHeiko Schocher	compatible = "keymile,mgcoge";
1763716633SHeiko Schocher	#address-cells = <1>;
1863716633SHeiko Schocher	#size-cells = <1>;
1963716633SHeiko Schocher
2063716633SHeiko Schocher	aliases {
2163716633SHeiko Schocher		ethernet0 = &eth0;
2263716633SHeiko Schocher		serial0 = &smc2;
2363716633SHeiko Schocher	};
2463716633SHeiko Schocher
2563716633SHeiko Schocher	cpus {
2663716633SHeiko Schocher		#address-cells = <1>;
2763716633SHeiko Schocher		#size-cells = <0>;
2863716633SHeiko Schocher
2963716633SHeiko Schocher		PowerPC,8247@0 {
3063716633SHeiko Schocher			device_type = "cpu";
3163716633SHeiko Schocher			reg = <0>;
3263716633SHeiko Schocher			d-cache-line-size = <32>;
3363716633SHeiko Schocher			i-cache-line-size = <32>;
3463716633SHeiko Schocher			d-cache-size = <16384>;
3563716633SHeiko Schocher			i-cache-size = <16384>;
3663716633SHeiko Schocher			timebase-frequency = <0>; /* Filled in by U-Boot */
3763716633SHeiko Schocher			clock-frequency = <0>; /* Filled in by U-Boot */
3863716633SHeiko Schocher			bus-frequency = <0>; /* Filled in by U-Boot */
3963716633SHeiko Schocher		};
4063716633SHeiko Schocher	};
4163716633SHeiko Schocher
4263716633SHeiko Schocher	localbus@f0010100 {
4363716633SHeiko Schocher		compatible = "fsl,mpc8247-localbus",
4463716633SHeiko Schocher		             "fsl,pq2-localbus",
4563716633SHeiko Schocher		             "simple-bus";
4663716633SHeiko Schocher		#address-cells = <2>;
4763716633SHeiko Schocher		#size-cells = <1>;
4863716633SHeiko Schocher		reg = <0xf0010100 0x40>;
4963716633SHeiko Schocher
5063716633SHeiko Schocher		ranges = <0 0 0xfe000000 0x00400000
5163716633SHeiko Schocher			  5 0 0x50000000 0x20000000
5263716633SHeiko Schocher			>; /* Filled in by U-Boot */
5363716633SHeiko Schocher
5463716633SHeiko Schocher		flash@0,0 {
5563716633SHeiko Schocher			compatible = "cfi-flash";
5663716633SHeiko Schocher			reg = <0 0x0 0x400000>;
5763716633SHeiko Schocher			#address-cells = <1>;
5863716633SHeiko Schocher			#size-cells = <1>;
5963716633SHeiko Schocher			bank-width = <1>;
6063716633SHeiko Schocher			device-width = <1>;
6163716633SHeiko Schocher			partition@0 {
6263716633SHeiko Schocher				label = "u-boot";
6363716633SHeiko Schocher				reg = <0 0x40000>;
6463716633SHeiko Schocher			};
6563716633SHeiko Schocher			partition@40000 {
6663716633SHeiko Schocher				label = "env";
6763716633SHeiko Schocher				reg = <0x40000 0x20000>;
6863716633SHeiko Schocher			};
6963716633SHeiko Schocher			partition@60000 {
7063716633SHeiko Schocher				label = "kernel";
7163716633SHeiko Schocher				reg = <0x60000 0x220000>;
7263716633SHeiko Schocher			};
7363716633SHeiko Schocher			partition@280000 {
7463716633SHeiko Schocher				label = "dtb";
7563716633SHeiko Schocher				reg = <0x280000 0x20000>;
7663716633SHeiko Schocher			};
7763716633SHeiko Schocher		};
7863716633SHeiko Schocher
7963716633SHeiko Schocher		flash@5,0 {
8063716633SHeiko Schocher			compatible = "cfi-flash";
8163716633SHeiko Schocher			reg = <5 0x0 0x2000000>;
8263716633SHeiko Schocher			#address-cells = <1>;
8363716633SHeiko Schocher			#size-cells = <1>;
8463716633SHeiko Schocher			bank-width = <2>;
8563716633SHeiko Schocher			device-width = <2>;
8663716633SHeiko Schocher			partition@0 {
8763716633SHeiko Schocher				label = "ramdisk";
8863716633SHeiko Schocher				reg = <0 0x7a0000>;
8963716633SHeiko Schocher			};
9063716633SHeiko Schocher			partition@7a0000 {
9163716633SHeiko Schocher				label = "user";
9263716633SHeiko Schocher				reg = <0x7a0000 0x1860000>;
9363716633SHeiko Schocher			};
9463716633SHeiko Schocher		};
9563716633SHeiko Schocher	};
9663716633SHeiko Schocher
9763716633SHeiko Schocher	memory {
9863716633SHeiko Schocher		device_type = "memory";
9963716633SHeiko Schocher		reg = <0 0>; /* Filled in by U-Boot */
10063716633SHeiko Schocher	};
10163716633SHeiko Schocher
10263716633SHeiko Schocher	soc@f0000000 {
10363716633SHeiko Schocher		#address-cells = <1>;
10463716633SHeiko Schocher		#size-cells = <1>;
10563716633SHeiko Schocher		compatible = "fsl,mpc8247-immr", "fsl,pq2-soc", "simple-bus";
10663716633SHeiko Schocher		ranges = <0x00000000 0xf0000000 0x00053000>;
10763716633SHeiko Schocher
10863716633SHeiko Schocher		// Temporary until code stops depending on it.
10963716633SHeiko Schocher		device_type = "soc";
11063716633SHeiko Schocher
11163716633SHeiko Schocher		cpm@119c0 {
11263716633SHeiko Schocher			#address-cells = <1>;
11363716633SHeiko Schocher			#size-cells = <1>;
11463716633SHeiko Schocher			#interrupt-cells = <2>;
11563716633SHeiko Schocher			compatible = "fsl,mpc8247-cpm", "fsl,cpm2",
11663716633SHeiko Schocher					"simple-bus";
11763716633SHeiko Schocher			reg = <0x119c0 0x30>;
11863716633SHeiko Schocher			ranges;
11963716633SHeiko Schocher
12063716633SHeiko Schocher			muram {
12163716633SHeiko Schocher				compatible = "fsl,cpm-muram";
12263716633SHeiko Schocher				#address-cells = <1>;
12363716633SHeiko Schocher				#size-cells = <1>;
12463716633SHeiko Schocher				ranges = <0 0 0x10000>;
12563716633SHeiko Schocher
12663716633SHeiko Schocher				data@0 {
12763716633SHeiko Schocher					compatible = "fsl,cpm-muram-data";
12863716633SHeiko Schocher					reg = <0x80 0x1f80 0x9800 0x800>;
12963716633SHeiko Schocher				};
13063716633SHeiko Schocher			};
13163716633SHeiko Schocher
13263716633SHeiko Schocher			brg@119f0 {
13363716633SHeiko Schocher				compatible = "fsl,mpc8247-brg",
13463716633SHeiko Schocher				             "fsl,cpm2-brg",
13563716633SHeiko Schocher				             "fsl,cpm-brg";
13663716633SHeiko Schocher				reg = <0x119f0 0x10 0x115f0 0x10>;
13763716633SHeiko Schocher			};
13863716633SHeiko Schocher
13963716633SHeiko Schocher			/* Monitor port/SMC2 */
14063716633SHeiko Schocher			smc2: serial@11a90 {
14163716633SHeiko Schocher				device_type = "serial";
14263716633SHeiko Schocher				compatible = "fsl,mpc8247-smc-uart",
14363716633SHeiko Schocher				             "fsl,cpm2-smc-uart";
14463716633SHeiko Schocher				reg = <0x11a90 0x20 0x88fc 0x02>;
14563716633SHeiko Schocher				interrupts = <5 8>;
14663716633SHeiko Schocher				interrupt-parent = <&PIC>;
14763716633SHeiko Schocher				fsl,cpm-brg = <2>;
14863716633SHeiko Schocher				fsl,cpm-command = <0x21200000>;
14963716633SHeiko Schocher				current-speed = <0>; /* Filled in by U-Boot */
15063716633SHeiko Schocher			};
15163716633SHeiko Schocher
15263716633SHeiko Schocher			eth0: ethernet@11a60 {
15363716633SHeiko Schocher				device_type = "network";
15463716633SHeiko Schocher				compatible = "fsl,mpc8247-scc-enet",
15563716633SHeiko Schocher				             "fsl,cpm2-scc-enet";
15663716633SHeiko Schocher				reg = <0x11a60 0x20 0x8300 0x100 0x11390 1>;
15763716633SHeiko Schocher				local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
15863716633SHeiko Schocher				interrupts = <43 8>;
15963716633SHeiko Schocher				interrupt-parent = <&PIC>;
16063716633SHeiko Schocher				linux,network-index = <0>;
16163716633SHeiko Schocher				fsl,cpm-command = <0xce00000>;
16263716633SHeiko Schocher				fixed-link = <0 0 10 0 0>;
16363716633SHeiko Schocher			};
16463716633SHeiko Schocher
1659239c89bSHeiko Schocher			i2c@11860 {
1669239c89bSHeiko Schocher				compatible = "fsl,mpc8272-i2c",
1679239c89bSHeiko Schocher					     "fsl,cpm2-i2c";
1689239c89bSHeiko Schocher				reg = <0x11860 0x20 0x8afc 0x2>;
1699239c89bSHeiko Schocher				interrupts = <1 8>;
1709239c89bSHeiko Schocher				interrupt-parent = <&PIC>;
1719239c89bSHeiko Schocher				fsl,cpm-command = <0x29600000>;
1729239c89bSHeiko Schocher				#address-cells = <1>;
1739239c89bSHeiko Schocher				#size-cells = <0>;
1749239c89bSHeiko Schocher			};
1759239c89bSHeiko Schocher
1769239c89bSHeiko Schocher			mdio@10d40 {
1779239c89bSHeiko Schocher				compatible = "fsl,cpm2-mdio-bitbang";
1789239c89bSHeiko Schocher				reg = <0x10d00 0x14>;
1799239c89bSHeiko Schocher				#address-cells = <1>;
1809239c89bSHeiko Schocher				#size-cells = <0>;
1819239c89bSHeiko Schocher				fsl,mdio-pin = <12>;
1829239c89bSHeiko Schocher				fsl,mdc-pin = <13>;
1839239c89bSHeiko Schocher
1849239c89bSHeiko Schocher				phy0: ethernet-phy@0 {
1859239c89bSHeiko Schocher					reg = <0x0>;
1869239c89bSHeiko Schocher				};
1879239c89bSHeiko Schocher
1889239c89bSHeiko Schocher				phy1: ethernet-phy@1 {
1899239c89bSHeiko Schocher					reg = <0x1>;
1909239c89bSHeiko Schocher				};
1919239c89bSHeiko Schocher			};
1929239c89bSHeiko Schocher
1939239c89bSHeiko Schocher			/* FCC1 management to switch */
1949239c89bSHeiko Schocher			ethernet@11300 {
1959239c89bSHeiko Schocher				device_type = "network";
1969239c89bSHeiko Schocher				compatible = "fsl,cpm2-fcc-enet";
1979239c89bSHeiko Schocher				reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>;
1989239c89bSHeiko Schocher				local-mac-address = [ 00 01 02 03 04 07 ];
1999239c89bSHeiko Schocher				interrupts = <32 8>;
2009239c89bSHeiko Schocher				interrupt-parent = <&PIC>;
2019239c89bSHeiko Schocher				phy-handle = <&phy0>;
2029239c89bSHeiko Schocher				linux,network-index = <1>;
2039239c89bSHeiko Schocher				fsl,cpm-command = <0x12000300>;
2049239c89bSHeiko Schocher			};
2059239c89bSHeiko Schocher
2069239c89bSHeiko Schocher			/* FCC2 to redundant core unit over backplane */
2079239c89bSHeiko Schocher			ethernet@11320 {
2089239c89bSHeiko Schocher				device_type = "network";
2099239c89bSHeiko Schocher				compatible = "fsl,cpm2-fcc-enet";
2109239c89bSHeiko Schocher				reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>;
2119239c89bSHeiko Schocher				local-mac-address = [ 00 01 02 03 04 08 ];
2129239c89bSHeiko Schocher				interrupts = <33 8>;
2139239c89bSHeiko Schocher				interrupt-parent = <&PIC>;
2149239c89bSHeiko Schocher				phy-handle = <&phy1>;
2159239c89bSHeiko Schocher				linux,network-index = <2>;
2169239c89bSHeiko Schocher				fsl,cpm-command = <0x16200300>;
2179239c89bSHeiko Schocher			};
21863716633SHeiko Schocher		};
21963716633SHeiko Schocher
22063716633SHeiko Schocher		PIC: interrupt-controller@10c00 {
22163716633SHeiko Schocher			#interrupt-cells = <2>;
22263716633SHeiko Schocher			interrupt-controller;
22363716633SHeiko Schocher			reg = <0x10c00 0x80>;
22463716633SHeiko Schocher			compatible = "fsl,mpc8247-pic", "fsl,pq2-pic";
22563716633SHeiko Schocher		};
22663716633SHeiko Schocher	};
22763716633SHeiko Schocher};
228