146f26ec7SAlessio Igor Bogani/*
246f26ec7SAlessio Igor Bogani * GE PPC9A Device Tree Source
346f26ec7SAlessio Igor Bogani *
446f26ec7SAlessio Igor Bogani * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
546f26ec7SAlessio Igor Bogani *
646f26ec7SAlessio Igor Bogani * This program is free software; you can redistribute  it and/or modify it
746f26ec7SAlessio Igor Bogani * under  the terms of  the GNU General  Public License as published by the
846f26ec7SAlessio Igor Bogani * Free Software Foundation;  either version 2 of the  License, or (at your
946f26ec7SAlessio Igor Bogani * option) any later version.
1046f26ec7SAlessio Igor Bogani *
1146f26ec7SAlessio Igor Bogani * Based on: SBS CM6 Device Tree Source
1246f26ec7SAlessio Igor Bogani * Copyright 2007 SBS Technologies GmbH & Co. KG
1346f26ec7SAlessio Igor Bogani * And: mpc8641_hpcn.dts (MPC8641 HPCN Device Tree Source)
1446f26ec7SAlessio Igor Bogani * Copyright 2006 Freescale Semiconductor Inc.
1546f26ec7SAlessio Igor Bogani */
1646f26ec7SAlessio Igor Bogani
1746f26ec7SAlessio Igor Bogani/*
1846f26ec7SAlessio Igor Bogani * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
1946f26ec7SAlessio Igor Bogani */
2046f26ec7SAlessio Igor Bogani
21334479d1SAlessio Igor Bogani/include/ "mpc8641si-pre.dtsi"
2246f26ec7SAlessio Igor Bogani
2346f26ec7SAlessio Igor Bogani/ {
2446f26ec7SAlessio Igor Bogani	model = "GEF_PPC9A";
2546f26ec7SAlessio Igor Bogani	compatible = "gef,ppc9a";
2646f26ec7SAlessio Igor Bogani
2746f26ec7SAlessio Igor Bogani	memory {
2846f26ec7SAlessio Igor Bogani		device_type = "memory";
2946f26ec7SAlessio Igor Bogani		reg = <0x0 0x40000000>;	// set by uboot
3046f26ec7SAlessio Igor Bogani	};
3146f26ec7SAlessio Igor Bogani
32334479d1SAlessio Igor Bogani	lbc: localbus@fef05000 {
3346f26ec7SAlessio Igor Bogani		reg = <0xfef05000 0x1000>;
3446f26ec7SAlessio Igor Bogani
3546f26ec7SAlessio Igor Bogani		ranges = <0 0 0xff000000 0x01000000	// 16MB Boot flash
3646f26ec7SAlessio Igor Bogani			  1 0 0xe8000000 0x08000000	// Paged Flash 0
3746f26ec7SAlessio Igor Bogani			  2 0 0xe0000000 0x08000000	// Paged Flash 1
3846f26ec7SAlessio Igor Bogani			  3 0 0xfc100000 0x00020000	// NVRAM
3946f26ec7SAlessio Igor Bogani			  4 0 0xfc000000 0x00008000	// FPGA
4046f26ec7SAlessio Igor Bogani			  5 0 0xfc008000 0x00008000	// AFIX FPGA
4146f26ec7SAlessio Igor Bogani			  6 0 0xfd000000 0x00800000	// IO FPGA (8-bit)
4246f26ec7SAlessio Igor Bogani			  7 0 0xfd800000 0x00800000>;	// IO FPGA (32-bit)
4346f26ec7SAlessio Igor Bogani
4446f26ec7SAlessio Igor Bogani		/* flash@0,0 is a mirror of part of the memory in flash@1,0
4546f26ec7SAlessio Igor Bogani		flash@0,0 {
4646f26ec7SAlessio Igor Bogani			compatible = "gef,ppc9a-firmware-mirror", "cfi-flash";
4746f26ec7SAlessio Igor Bogani			reg = <0x0 0x0 0x1000000>;
4846f26ec7SAlessio Igor Bogani			bank-width = <4>;
4946f26ec7SAlessio Igor Bogani			device-width = <2>;
5046f26ec7SAlessio Igor Bogani			#address-cells = <1>;
5146f26ec7SAlessio Igor Bogani			#size-cells = <1>;
5246f26ec7SAlessio Igor Bogani			partition@0 {
5346f26ec7SAlessio Igor Bogani				label = "firmware";
5446f26ec7SAlessio Igor Bogani				reg = <0x0 0x1000000>;
5546f26ec7SAlessio Igor Bogani				read-only;
5646f26ec7SAlessio Igor Bogani			};
5746f26ec7SAlessio Igor Bogani		};
5846f26ec7SAlessio Igor Bogani		*/
5946f26ec7SAlessio Igor Bogani
6046f26ec7SAlessio Igor Bogani		flash@1,0 {
6146f26ec7SAlessio Igor Bogani			compatible = "gef,ppc9a-paged-flash", "cfi-flash";
6246f26ec7SAlessio Igor Bogani			reg = <0x1 0x0 0x8000000>;
6346f26ec7SAlessio Igor Bogani			bank-width = <4>;
6446f26ec7SAlessio Igor Bogani			device-width = <2>;
6546f26ec7SAlessio Igor Bogani			#address-cells = <1>;
6646f26ec7SAlessio Igor Bogani			#size-cells = <1>;
6746f26ec7SAlessio Igor Bogani			partition@0 {
6846f26ec7SAlessio Igor Bogani				label = "user";
6946f26ec7SAlessio Igor Bogani				reg = <0x0 0x7800000>;
7046f26ec7SAlessio Igor Bogani			};
7146f26ec7SAlessio Igor Bogani			partition@7800000 {
7246f26ec7SAlessio Igor Bogani				label = "firmware";
7346f26ec7SAlessio Igor Bogani				reg = <0x7800000 0x800000>;
7446f26ec7SAlessio Igor Bogani				read-only;
7546f26ec7SAlessio Igor Bogani			};
7646f26ec7SAlessio Igor Bogani		};
7746f26ec7SAlessio Igor Bogani
7846f26ec7SAlessio Igor Bogani		nvram@3,0 {
7946f26ec7SAlessio Igor Bogani			device_type = "nvram";
8046f26ec7SAlessio Igor Bogani			compatible = "simtek,stk14ca8";
8146f26ec7SAlessio Igor Bogani			reg = <0x3 0x0 0x20000>;
8246f26ec7SAlessio Igor Bogani		};
8346f26ec7SAlessio Igor Bogani
8446f26ec7SAlessio Igor Bogani		fpga@4,0 {
8546f26ec7SAlessio Igor Bogani			compatible = "gef,ppc9a-fpga-regs";
8646f26ec7SAlessio Igor Bogani			reg = <0x4 0x0 0x40>;
8746f26ec7SAlessio Igor Bogani		};
8846f26ec7SAlessio Igor Bogani
8946f26ec7SAlessio Igor Bogani		wdt@4,2000 {
9046f26ec7SAlessio Igor Bogani			compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
9146f26ec7SAlessio Igor Bogani				"gef,fpga-wdt";
9246f26ec7SAlessio Igor Bogani			reg = <0x4 0x2000 0x8>;
9346f26ec7SAlessio Igor Bogani			interrupts = <0x1a 0x4>;
9446f26ec7SAlessio Igor Bogani			interrupt-parent = <&gef_pic>;
9546f26ec7SAlessio Igor Bogani		};
9646f26ec7SAlessio Igor Bogani		/* Second watchdog available, driver currently supports one.
9746f26ec7SAlessio Igor Bogani		wdt@4,2010 {
9846f26ec7SAlessio Igor Bogani			compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
9946f26ec7SAlessio Igor Bogani				"gef,fpga-wdt";
10046f26ec7SAlessio Igor Bogani			reg = <0x4 0x2010 0x8>;
10146f26ec7SAlessio Igor Bogani			interrupts = <0x1b 0x4>;
10246f26ec7SAlessio Igor Bogani			interrupt-parent = <&gef_pic>;
10346f26ec7SAlessio Igor Bogani		};
10446f26ec7SAlessio Igor Bogani		*/
10546f26ec7SAlessio Igor Bogani		gef_pic: pic@4,4000 {
10646f26ec7SAlessio Igor Bogani			#interrupt-cells = <1>;
10746f26ec7SAlessio Igor Bogani			interrupt-controller;
10846f26ec7SAlessio Igor Bogani			compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
10946f26ec7SAlessio Igor Bogani			reg = <0x4 0x4000 0x20>;
110595207b9SAlessio Igor Bogani			interrupts = <0x8 0x9 0 0>;
11146f26ec7SAlessio Igor Bogani
11246f26ec7SAlessio Igor Bogani		};
11346f26ec7SAlessio Igor Bogani		gef_gpio: gpio@7,14000 {
11446f26ec7SAlessio Igor Bogani			#gpio-cells = <2>;
11546f26ec7SAlessio Igor Bogani			compatible = "gef,ppc9a-gpio", "gef,sbc610-gpio";
11646f26ec7SAlessio Igor Bogani			reg = <0x7 0x14000 0x24>;
11746f26ec7SAlessio Igor Bogani			gpio-controller;
11846f26ec7SAlessio Igor Bogani		};
11946f26ec7SAlessio Igor Bogani	};
12046f26ec7SAlessio Igor Bogani
121334479d1SAlessio Igor Bogani	soc: soc@fef00000 {
12246f26ec7SAlessio Igor Bogani		ranges = <0x0 0xfef00000 0x00100000>;
12346f26ec7SAlessio Igor Bogani
124595207b9SAlessio Igor Bogani		i2c@3000 {
12546f26ec7SAlessio Igor Bogani			hwmon@48 {
12646f26ec7SAlessio Igor Bogani				compatible = "national,lm92";
12746f26ec7SAlessio Igor Bogani				reg = <0x48>;
12846f26ec7SAlessio Igor Bogani			};
12946f26ec7SAlessio Igor Bogani
13046f26ec7SAlessio Igor Bogani			hwmon@4c {
13146f26ec7SAlessio Igor Bogani				compatible = "adi,adt7461";
13246f26ec7SAlessio Igor Bogani				reg = <0x4c>;
13346f26ec7SAlessio Igor Bogani			};
13446f26ec7SAlessio Igor Bogani
13546f26ec7SAlessio Igor Bogani			rtc@51 {
13646f26ec7SAlessio Igor Bogani				compatible = "epson,rx8581";
13746f26ec7SAlessio Igor Bogani				reg = <0x00000051>;
13846f26ec7SAlessio Igor Bogani			};
13946f26ec7SAlessio Igor Bogani
14046f26ec7SAlessio Igor Bogani			eti@6b {
14146f26ec7SAlessio Igor Bogani				compatible = "dallas,ds1682";
14246f26ec7SAlessio Igor Bogani				reg = <0x6b>;
14346f26ec7SAlessio Igor Bogani			};
14446f26ec7SAlessio Igor Bogani		};
14546f26ec7SAlessio Igor Bogani
14646f26ec7SAlessio Igor Bogani		enet0: ethernet@24000 {
14746f26ec7SAlessio Igor Bogani			tbi-handle = <&tbi0>;
14846f26ec7SAlessio Igor Bogani			phy-handle = <&phy0>;
14946f26ec7SAlessio Igor Bogani			phy-connection-type = "gmii";
150334479d1SAlessio Igor Bogani		};
15146f26ec7SAlessio Igor Bogani
152334479d1SAlessio Igor Bogani		mdio@24520 {
15346f26ec7SAlessio Igor Bogani			phy0: ethernet-phy@0 {
15446f26ec7SAlessio Igor Bogani				interrupt-parent = <&gef_pic>;
15546f26ec7SAlessio Igor Bogani				interrupts = <0x9 0x4>;
15646f26ec7SAlessio Igor Bogani				reg = <1>;
15746f26ec7SAlessio Igor Bogani			};
15846f26ec7SAlessio Igor Bogani			phy2: ethernet-phy@2 {
15946f26ec7SAlessio Igor Bogani				interrupt-parent = <&gef_pic>;
16046f26ec7SAlessio Igor Bogani				interrupts = <0x8 0x4>;
16146f26ec7SAlessio Igor Bogani				reg = <3>;
16246f26ec7SAlessio Igor Bogani			};
16346f26ec7SAlessio Igor Bogani			tbi0: tbi-phy@11 {
16446f26ec7SAlessio Igor Bogani				reg = <0x11>;
16546f26ec7SAlessio Igor Bogani				device_type = "tbi-phy";
16646f26ec7SAlessio Igor Bogani			};
16746f26ec7SAlessio Igor Bogani		};
16846f26ec7SAlessio Igor Bogani
16946f26ec7SAlessio Igor Bogani		enet1: ethernet@26000 {
17046f26ec7SAlessio Igor Bogani			tbi-handle = <&tbi2>;
17146f26ec7SAlessio Igor Bogani			phy-handle = <&phy2>;
17246f26ec7SAlessio Igor Bogani			phy-connection-type = "gmii";
173334479d1SAlessio Igor Bogani		};
17446f26ec7SAlessio Igor Bogani
175334479d1SAlessio Igor Bogani		mdio@26520 {
17646f26ec7SAlessio Igor Bogani			tbi2: tbi-phy@11 {
17746f26ec7SAlessio Igor Bogani				reg = <0x11>;
17846f26ec7SAlessio Igor Bogani				device_type = "tbi-phy";
17946f26ec7SAlessio Igor Bogani			};
18046f26ec7SAlessio Igor Bogani		};
181334479d1SAlessio Igor Bogani
182334479d1SAlessio Igor Bogani		enet2: ethernet@25000 {
183334479d1SAlessio Igor Bogani			status = "disabled";
18446f26ec7SAlessio Igor Bogani		};
18546f26ec7SAlessio Igor Bogani
186334479d1SAlessio Igor Bogani		mdio@25520 {
187334479d1SAlessio Igor Bogani			status = "disabled";
18846f26ec7SAlessio Igor Bogani		};
18946f26ec7SAlessio Igor Bogani
190334479d1SAlessio Igor Bogani		enet3: ethernet@27000 {
191334479d1SAlessio Igor Bogani			status = "disabled";
19246f26ec7SAlessio Igor Bogani		};
19346f26ec7SAlessio Igor Bogani
194334479d1SAlessio Igor Bogani		mdio@27520 {
195334479d1SAlessio Igor Bogani			status = "disabled";
19646f26ec7SAlessio Igor Bogani		};
19746f26ec7SAlessio Igor Bogani	};
19846f26ec7SAlessio Igor Bogani
19946f26ec7SAlessio Igor Bogani	pci0: pcie@fef08000 {
20046f26ec7SAlessio Igor Bogani		reg = <0xfef08000 0x1000>;
20146f26ec7SAlessio Igor Bogani		ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000
20246f26ec7SAlessio Igor Bogani			  0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;
20346f26ec7SAlessio Igor Bogani
20446f26ec7SAlessio Igor Bogani		pcie@0 {
20546f26ec7SAlessio Igor Bogani			ranges = <0x02000000 0x0 0x80000000
20646f26ec7SAlessio Igor Bogani				  0x02000000 0x0 0x80000000
20746f26ec7SAlessio Igor Bogani				  0x0 0x40000000
20846f26ec7SAlessio Igor Bogani
20946f26ec7SAlessio Igor Bogani				  0x01000000 0x0 0x00000000
21046f26ec7SAlessio Igor Bogani				  0x01000000 0x0 0x00000000
21146f26ec7SAlessio Igor Bogani				  0x0 0x00400000>;
21246f26ec7SAlessio Igor Bogani		};
21346f26ec7SAlessio Igor Bogani	};
21446f26ec7SAlessio Igor Bogani};
215334479d1SAlessio Igor Bogani
216334479d1SAlessio Igor Bogani/include/ "mpc8641si-post.dtsi"
217