/*
 * Copyright 2012 Sascha Hauer, Pengutronix
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/dts-v1/;
/include/ "imx25.dtsi"

/ {
	model = "Ka-Ro TX25";
	compatible = "karo,imx25-tx25", "fsl,imx25";

	memory {
		reg = <0x80000000 0x02000000 0x90000000 0x02000000>;
	};

	soc {
		aips@43f00000 {
			uart1: serial@43f90000 {
				status = "okay";
			};
		};

		spba@50000000 {
			fec: ethernet@50038000 {
				status = "okay";
				phy-mode = "rmii";
			};
		};

		emi@80000000 {
			nand@bb000000 {
				nand-on-flash-bbt;
				status = "okay";
			};
		};
	};
};
