18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * MPC5121E ADS Device Tree Source
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright 2007-2008 Freescale Semiconductor Inc.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#include "mpc5121.dtsi"
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci/ {
118c2ecf20Sopenharmony_ci	model = "mpc5121ads";
128c2ecf20Sopenharmony_ci	compatible = "fsl,mpc5121ads", "fsl,mpc5121";
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	nfc@40000000 {
158c2ecf20Sopenharmony_ci		/*
168c2ecf20Sopenharmony_ci		 * ADS has two Hynix 512MB Nand flash chips in a single
178c2ecf20Sopenharmony_ci		 * stacked package.
188c2ecf20Sopenharmony_ci		 */
198c2ecf20Sopenharmony_ci		chips = <2>;
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci		nand@0 {
228c2ecf20Sopenharmony_ci			label = "nand";
238c2ecf20Sopenharmony_ci			reg = <0x00000000 0x40000000>;	/* 512MB + 512MB */
248c2ecf20Sopenharmony_ci		};
258c2ecf20Sopenharmony_ci	};
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	localbus@80000020 {
288c2ecf20Sopenharmony_ci		ranges = <0x0 0x0 0xfc000000 0x04000000
298c2ecf20Sopenharmony_ci			  0x2 0x0 0x82000000 0x00008000>;
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci		flash@0,0 {
328c2ecf20Sopenharmony_ci			compatible = "cfi-flash";
338c2ecf20Sopenharmony_ci			reg = <0 0x0 0x4000000>;
348c2ecf20Sopenharmony_ci			#address-cells = <1>;
358c2ecf20Sopenharmony_ci			#size-cells = <1>;
368c2ecf20Sopenharmony_ci			bank-width = <4>;
378c2ecf20Sopenharmony_ci			device-width = <2>;
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci			protected@0 {
408c2ecf20Sopenharmony_ci				label = "protected";
418c2ecf20Sopenharmony_ci				reg = <0x00000000 0x00040000>;  // first sector is protected
428c2ecf20Sopenharmony_ci				read-only;
438c2ecf20Sopenharmony_ci			};
448c2ecf20Sopenharmony_ci			filesystem@40000 {
458c2ecf20Sopenharmony_ci				label = "filesystem";
468c2ecf20Sopenharmony_ci				reg = <0x00040000 0x03c00000>;  // 60M for filesystem
478c2ecf20Sopenharmony_ci			};
488c2ecf20Sopenharmony_ci			kernel@3c40000 {
498c2ecf20Sopenharmony_ci				label = "kernel";
508c2ecf20Sopenharmony_ci				reg = <0x03c40000 0x00280000>;  // 2.5M for kernel
518c2ecf20Sopenharmony_ci			};
528c2ecf20Sopenharmony_ci			device-tree@3ec0000 {
538c2ecf20Sopenharmony_ci				label = "device-tree";
548c2ecf20Sopenharmony_ci				reg = <0x03ec0000 0x00040000>;  // one sector for device tree
558c2ecf20Sopenharmony_ci			};
568c2ecf20Sopenharmony_ci			u-boot@3f00000 {
578c2ecf20Sopenharmony_ci				label = "u-boot";
588c2ecf20Sopenharmony_ci				reg = <0x03f00000 0x00100000>;  // 1M for u-boot
598c2ecf20Sopenharmony_ci				read-only;
608c2ecf20Sopenharmony_ci			};
618c2ecf20Sopenharmony_ci		};
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci		board-control@2,0 {
648c2ecf20Sopenharmony_ci			compatible = "fsl,mpc5121ads-cpld";
658c2ecf20Sopenharmony_ci			reg = <0x2 0x0 0x8000>;
668c2ecf20Sopenharmony_ci		};
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci		cpld_pic: pic@2,a {
698c2ecf20Sopenharmony_ci			compatible = "fsl,mpc5121ads-cpld-pic";
708c2ecf20Sopenharmony_ci			interrupt-controller;
718c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
728c2ecf20Sopenharmony_ci			reg = <0x2 0xa 0x5>;
738c2ecf20Sopenharmony_ci			/* irq routing:
748c2ecf20Sopenharmony_ci			 * all irqs but touch screen are routed to irq0 (ipic 48)
758c2ecf20Sopenharmony_ci			 * touch screen is statically routed to irq1 (ipic 17)
768c2ecf20Sopenharmony_ci			 * so don't use it here
778c2ecf20Sopenharmony_ci			 */
788c2ecf20Sopenharmony_ci			interrupts = <48 0x8>;
798c2ecf20Sopenharmony_ci		};
808c2ecf20Sopenharmony_ci	};
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci	soc@80000000 {
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci		i2c@1700 {
858c2ecf20Sopenharmony_ci			fsl,preserve-clocking;
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci			hwmon@4a {
888c2ecf20Sopenharmony_ci				compatible = "adi,ad7414";
898c2ecf20Sopenharmony_ci				reg = <0x4a>;
908c2ecf20Sopenharmony_ci			};
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci			eeprom@50 {
938c2ecf20Sopenharmony_ci				compatible = "atmel,24c32";
948c2ecf20Sopenharmony_ci				reg = <0x50>;
958c2ecf20Sopenharmony_ci			};
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci			rtc@68 {
988c2ecf20Sopenharmony_ci				compatible = "st,m41t62";
998c2ecf20Sopenharmony_ci				reg = <0x68>;
1008c2ecf20Sopenharmony_ci			};
1018c2ecf20Sopenharmony_ci		};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci		eth0: ethernet@2800 {
1048c2ecf20Sopenharmony_ci			phy-handle = <&phy0>;
1058c2ecf20Sopenharmony_ci		};
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci		can@2300 {
1088c2ecf20Sopenharmony_ci			status = "disabled";
1098c2ecf20Sopenharmony_ci		};
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci		can@2380 {
1128c2ecf20Sopenharmony_ci			status = "disabled";
1138c2ecf20Sopenharmony_ci		};
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci		viu@2400 {
1168c2ecf20Sopenharmony_ci			status = "disabled";
1178c2ecf20Sopenharmony_ci		};
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci		mdio@2800 {
1208c2ecf20Sopenharmony_ci			phy0: ethernet-phy@0 {
1218c2ecf20Sopenharmony_ci				reg = <1>;
1228c2ecf20Sopenharmony_ci			};
1238c2ecf20Sopenharmony_ci		};
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci		/* mpc5121ads only uses USB0 */
1268c2ecf20Sopenharmony_ci		usb@3000 {
1278c2ecf20Sopenharmony_ci			status = "disabled";
1288c2ecf20Sopenharmony_ci		};
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ci		/* USB0 using internal UTMI PHY */
1318c2ecf20Sopenharmony_ci		usb@4000 {
1328c2ecf20Sopenharmony_ci			dr_mode = "host";
1338c2ecf20Sopenharmony_ci			fsl,invert-drvvbus;
1348c2ecf20Sopenharmony_ci			fsl,invert-pwr-fault;
1358c2ecf20Sopenharmony_ci		};
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci		/* PSC3 serial port A aka ttyPSC0 */
1388c2ecf20Sopenharmony_ci		psc@11300 {
1398c2ecf20Sopenharmony_ci			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
1408c2ecf20Sopenharmony_ci		};
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci		/* PSC4 serial port B aka ttyPSC1 */
1438c2ecf20Sopenharmony_ci		psc@11400 {
1448c2ecf20Sopenharmony_ci			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
1458c2ecf20Sopenharmony_ci		};
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci		/* PSC5 in ac97 mode */
1488c2ecf20Sopenharmony_ci		ac97: psc@11500 {
1498c2ecf20Sopenharmony_ci			compatible = "fsl,mpc5121-psc-ac97", "fsl,mpc5121-psc";
1508c2ecf20Sopenharmony_ci			fsl,mode = "ac97-slave";
1518c2ecf20Sopenharmony_ci			fsl,rx-fifo-size = <384>;
1528c2ecf20Sopenharmony_ci			fsl,tx-fifo-size = <384>;
1538c2ecf20Sopenharmony_ci		};
1548c2ecf20Sopenharmony_ci	};
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci	pci: pci@80008500 {
1578c2ecf20Sopenharmony_ci		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
1588c2ecf20Sopenharmony_ci		interrupt-map = <
1598c2ecf20Sopenharmony_ci				/* IDSEL 0x15 - Slot 1 PCI */
1608c2ecf20Sopenharmony_ci				 0xa800 0x0 0x0 0x1 &cpld_pic 0x0 0x8
1618c2ecf20Sopenharmony_ci				 0xa800 0x0 0x0 0x2 &cpld_pic 0x1 0x8
1628c2ecf20Sopenharmony_ci				 0xa800 0x0 0x0 0x3 &cpld_pic 0x2 0x8
1638c2ecf20Sopenharmony_ci				 0xa800 0x0 0x0 0x4 &cpld_pic 0x3 0x8
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci				/* IDSEL 0x16 - Slot 2 MiniPCI */
1668c2ecf20Sopenharmony_ci				 0xb000 0x0 0x0 0x1 &cpld_pic 0x4 0x8
1678c2ecf20Sopenharmony_ci				 0xb000 0x0 0x0 0x2 &cpld_pic 0x5 0x8
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci				/* IDSEL 0x17 - Slot 3 MiniPCI */
1708c2ecf20Sopenharmony_ci				 0xb800 0x0 0x0 0x1 &cpld_pic 0x6 0x8
1718c2ecf20Sopenharmony_ci				 0xb800 0x0 0x0 0x2 &cpld_pic 0x7 0x8
1728c2ecf20Sopenharmony_ci				>;
1738c2ecf20Sopenharmony_ci	};
1748c2ecf20Sopenharmony_ci};
175