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