18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * GE PPC9A Device Tree Source
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Based on: SBS CM6 Device Tree Source
88c2ecf20Sopenharmony_ci * Copyright 2007 SBS Technologies GmbH & Co. KG
98c2ecf20Sopenharmony_ci * And: mpc8641_hpcn.dts (MPC8641 HPCN Device Tree Source)
108c2ecf20Sopenharmony_ci * Copyright 2006 Freescale Semiconductor Inc.
118c2ecf20Sopenharmony_ci */
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/*
148c2ecf20Sopenharmony_ci * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
158c2ecf20Sopenharmony_ci */
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci/include/ "mpc8641si-pre.dtsi"
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci/ {
208c2ecf20Sopenharmony_ci	model = "GEF_PPC9A";
218c2ecf20Sopenharmony_ci	compatible = "gef,ppc9a";
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	memory {
248c2ecf20Sopenharmony_ci		device_type = "memory";
258c2ecf20Sopenharmony_ci		reg = <0x0 0x40000000>;	// set by uboot
268c2ecf20Sopenharmony_ci	};
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	lbc: localbus@fef05000 {
298c2ecf20Sopenharmony_ci		reg = <0xfef05000 0x1000>;
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci		ranges = <0 0 0xff000000 0x01000000	// 16MB Boot flash
328c2ecf20Sopenharmony_ci			  1 0 0xe8000000 0x08000000	// Paged Flash 0
338c2ecf20Sopenharmony_ci			  2 0 0xe0000000 0x08000000	// Paged Flash 1
348c2ecf20Sopenharmony_ci			  3 0 0xfc100000 0x00020000	// NVRAM
358c2ecf20Sopenharmony_ci			  4 0 0xfc000000 0x00008000	// FPGA
368c2ecf20Sopenharmony_ci			  5 0 0xfc008000 0x00008000	// AFIX FPGA
378c2ecf20Sopenharmony_ci			  6 0 0xfd000000 0x00800000	// IO FPGA (8-bit)
388c2ecf20Sopenharmony_ci			  7 0 0xfd800000 0x00800000>;	// IO FPGA (32-bit)
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci		/* flash@0,0 is a mirror of part of the memory in flash@1,0
418c2ecf20Sopenharmony_ci		flash@0,0 {
428c2ecf20Sopenharmony_ci			compatible = "gef,ppc9a-firmware-mirror", "cfi-flash";
438c2ecf20Sopenharmony_ci			reg = <0x0 0x0 0x1000000>;
448c2ecf20Sopenharmony_ci			bank-width = <4>;
458c2ecf20Sopenharmony_ci			device-width = <2>;
468c2ecf20Sopenharmony_ci			#address-cells = <1>;
478c2ecf20Sopenharmony_ci			#size-cells = <1>;
488c2ecf20Sopenharmony_ci			partition@0 {
498c2ecf20Sopenharmony_ci				label = "firmware";
508c2ecf20Sopenharmony_ci				reg = <0x0 0x1000000>;
518c2ecf20Sopenharmony_ci				read-only;
528c2ecf20Sopenharmony_ci			};
538c2ecf20Sopenharmony_ci		};
548c2ecf20Sopenharmony_ci		*/
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci		flash@1,0 {
578c2ecf20Sopenharmony_ci			compatible = "gef,ppc9a-paged-flash", "cfi-flash";
588c2ecf20Sopenharmony_ci			reg = <0x1 0x0 0x8000000>;
598c2ecf20Sopenharmony_ci			bank-width = <4>;
608c2ecf20Sopenharmony_ci			device-width = <2>;
618c2ecf20Sopenharmony_ci			#address-cells = <1>;
628c2ecf20Sopenharmony_ci			#size-cells = <1>;
638c2ecf20Sopenharmony_ci			partition@0 {
648c2ecf20Sopenharmony_ci				label = "user";
658c2ecf20Sopenharmony_ci				reg = <0x0 0x7800000>;
668c2ecf20Sopenharmony_ci			};
678c2ecf20Sopenharmony_ci			partition@7800000 {
688c2ecf20Sopenharmony_ci				label = "firmware";
698c2ecf20Sopenharmony_ci				reg = <0x7800000 0x800000>;
708c2ecf20Sopenharmony_ci				read-only;
718c2ecf20Sopenharmony_ci			};
728c2ecf20Sopenharmony_ci		};
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci		nvram@3,0 {
758c2ecf20Sopenharmony_ci			device_type = "nvram";
768c2ecf20Sopenharmony_ci			compatible = "simtek,stk14ca8";
778c2ecf20Sopenharmony_ci			reg = <0x3 0x0 0x20000>;
788c2ecf20Sopenharmony_ci		};
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci		fpga@4,0 {
818c2ecf20Sopenharmony_ci			compatible = "gef,ppc9a-fpga-regs";
828c2ecf20Sopenharmony_ci			reg = <0x4 0x0 0x40>;
838c2ecf20Sopenharmony_ci		};
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci		wdt@4,2000 {
868c2ecf20Sopenharmony_ci			compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
878c2ecf20Sopenharmony_ci				"gef,fpga-wdt";
888c2ecf20Sopenharmony_ci			reg = <0x4 0x2000 0x8>;
898c2ecf20Sopenharmony_ci			interrupts = <0x1a 0x4>;
908c2ecf20Sopenharmony_ci			interrupt-parent = <&gef_pic>;
918c2ecf20Sopenharmony_ci		};
928c2ecf20Sopenharmony_ci		/* Second watchdog available, driver currently supports one.
938c2ecf20Sopenharmony_ci		wdt@4,2010 {
948c2ecf20Sopenharmony_ci			compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
958c2ecf20Sopenharmony_ci				"gef,fpga-wdt";
968c2ecf20Sopenharmony_ci			reg = <0x4 0x2010 0x8>;
978c2ecf20Sopenharmony_ci			interrupts = <0x1b 0x4>;
988c2ecf20Sopenharmony_ci			interrupt-parent = <&gef_pic>;
998c2ecf20Sopenharmony_ci		};
1008c2ecf20Sopenharmony_ci		*/
1018c2ecf20Sopenharmony_ci		gef_pic: pic@4,4000 {
1028c2ecf20Sopenharmony_ci			#interrupt-cells = <1>;
1038c2ecf20Sopenharmony_ci			interrupt-controller;
1048c2ecf20Sopenharmony_ci			compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
1058c2ecf20Sopenharmony_ci			reg = <0x4 0x4000 0x20>;
1068c2ecf20Sopenharmony_ci			interrupts = <0x8 0x9 0 0>;
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci		};
1098c2ecf20Sopenharmony_ci		gef_gpio: gpio@7,14000 {
1108c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
1118c2ecf20Sopenharmony_ci			compatible = "gef,ppc9a-gpio", "gef,sbc610-gpio";
1128c2ecf20Sopenharmony_ci			reg = <0x7 0x14000 0x24>;
1138c2ecf20Sopenharmony_ci			gpio-controller;
1148c2ecf20Sopenharmony_ci		};
1158c2ecf20Sopenharmony_ci	};
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci	soc: soc@fef00000 {
1188c2ecf20Sopenharmony_ci		ranges = <0x0 0xfef00000 0x00100000>;
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci		i2c@3000 {
1218c2ecf20Sopenharmony_ci			hwmon@48 {
1228c2ecf20Sopenharmony_ci				compatible = "national,lm92";
1238c2ecf20Sopenharmony_ci				reg = <0x48>;
1248c2ecf20Sopenharmony_ci			};
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci			hwmon@4c {
1278c2ecf20Sopenharmony_ci				compatible = "adi,adt7461";
1288c2ecf20Sopenharmony_ci				reg = <0x4c>;
1298c2ecf20Sopenharmony_ci			};
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci			rtc@51 {
1328c2ecf20Sopenharmony_ci				compatible = "epson,rx8581";
1338c2ecf20Sopenharmony_ci				reg = <0x00000051>;
1348c2ecf20Sopenharmony_ci			};
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci			eti@6b {
1378c2ecf20Sopenharmony_ci				compatible = "dallas,ds1682";
1388c2ecf20Sopenharmony_ci				reg = <0x6b>;
1398c2ecf20Sopenharmony_ci			};
1408c2ecf20Sopenharmony_ci		};
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci		enet0: ethernet@24000 {
1438c2ecf20Sopenharmony_ci			tbi-handle = <&tbi0>;
1448c2ecf20Sopenharmony_ci			phy-handle = <&phy0>;
1458c2ecf20Sopenharmony_ci			phy-connection-type = "gmii";
1468c2ecf20Sopenharmony_ci		};
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci		mdio@24520 {
1498c2ecf20Sopenharmony_ci			phy0: ethernet-phy@0 {
1508c2ecf20Sopenharmony_ci				interrupt-parent = <&gef_pic>;
1518c2ecf20Sopenharmony_ci				interrupts = <0x9 0x4>;
1528c2ecf20Sopenharmony_ci				reg = <1>;
1538c2ecf20Sopenharmony_ci			};
1548c2ecf20Sopenharmony_ci			phy2: ethernet-phy@2 {
1558c2ecf20Sopenharmony_ci				interrupt-parent = <&gef_pic>;
1568c2ecf20Sopenharmony_ci				interrupts = <0x8 0x4>;
1578c2ecf20Sopenharmony_ci				reg = <3>;
1588c2ecf20Sopenharmony_ci			};
1598c2ecf20Sopenharmony_ci			tbi0: tbi-phy@11 {
1608c2ecf20Sopenharmony_ci				reg = <0x11>;
1618c2ecf20Sopenharmony_ci				device_type = "tbi-phy";
1628c2ecf20Sopenharmony_ci			};
1638c2ecf20Sopenharmony_ci		};
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci		enet1: ethernet@26000 {
1668c2ecf20Sopenharmony_ci			tbi-handle = <&tbi2>;
1678c2ecf20Sopenharmony_ci			phy-handle = <&phy2>;
1688c2ecf20Sopenharmony_ci			phy-connection-type = "gmii";
1698c2ecf20Sopenharmony_ci		};
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ci		mdio@26520 {
1728c2ecf20Sopenharmony_ci			tbi2: tbi-phy@11 {
1738c2ecf20Sopenharmony_ci				reg = <0x11>;
1748c2ecf20Sopenharmony_ci				device_type = "tbi-phy";
1758c2ecf20Sopenharmony_ci			};
1768c2ecf20Sopenharmony_ci		};
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci		enet2: ethernet@25000 {
1798c2ecf20Sopenharmony_ci			status = "disabled";
1808c2ecf20Sopenharmony_ci		};
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci		mdio@25520 {
1838c2ecf20Sopenharmony_ci			status = "disabled";
1848c2ecf20Sopenharmony_ci		};
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci		enet3: ethernet@27000 {
1878c2ecf20Sopenharmony_ci			status = "disabled";
1888c2ecf20Sopenharmony_ci		};
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci		mdio@27520 {
1918c2ecf20Sopenharmony_ci			status = "disabled";
1928c2ecf20Sopenharmony_ci		};
1938c2ecf20Sopenharmony_ci	};
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ci	pci0: pcie@fef08000 {
1968c2ecf20Sopenharmony_ci		reg = <0xfef08000 0x1000>;
1978c2ecf20Sopenharmony_ci		ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000
1988c2ecf20Sopenharmony_ci			  0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci		pcie@0 {
2018c2ecf20Sopenharmony_ci			ranges = <0x02000000 0x0 0x80000000
2028c2ecf20Sopenharmony_ci				  0x02000000 0x0 0x80000000
2038c2ecf20Sopenharmony_ci				  0x0 0x40000000
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci				  0x01000000 0x0 0x00000000
2068c2ecf20Sopenharmony_ci				  0x01000000 0x0 0x00000000
2078c2ecf20Sopenharmony_ci				  0x0 0x00400000>;
2088c2ecf20Sopenharmony_ci		};
2098c2ecf20Sopenharmony_ci	};
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ci	pci1: pcie@fef09000 {
2128c2ecf20Sopenharmony_ci		status = "disabled";
2138c2ecf20Sopenharmony_ci	};
2148c2ecf20Sopenharmony_ci};
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci/include/ "mpc8641si-post.dtsi"
217