/*
 * Copyright 2012 Philippe Reynes <tremyfr@yahoo.fr>
 * Copyright 2012 Armadeus Systems <support@armadeus.com>
 *
 * Based on code which is: 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/ "imx27.dtsi"

/ {
	model = "Armadeus Systems APF27 module";
	compatible = "armadeus,imx27-apf27", "fsl,imx27";

	memory {
		reg = <0xa0000000 0x04000000>;
	};

	clocks {
		#address-cells = <1>;
		#size-cells = <0>;

		osc26m {
			compatible = "fsl,imx-osc26m", "fixed-clock";
			clock-frequency = <0>;
		};
	};
};

&uart1 {
	status = "okay";
};

&fec {
	status = "okay";
};

&nfc {
	status = "okay";
	nand-bus-width = <16>;
	nand-ecc-mode = "hw";
	nand-on-flash-bbt;

	partition@0 {
		label = "u-boot";
		reg = <0x0 0x100000>;
	};

	partition@100000 {
		label = "env";
		reg = <0x100000 0x80000>;
	};

	partition@180000 {
		label = "env2";
		reg = <0x180000 0x80000>;
	};

	partition@200000 {
		label = "firmware";
		reg = <0x200000 0x80000>;
	};

	partition@280000 {
		label = "dtb";
		reg = <0x280000 0x80000>;
	};

	partition@300000 {
		label = "kernel";
		reg = <0x300000 0x500000>;
	};

	partition@800000 {
		label = "rootfs";
		reg = <0x800000 0xf800000>;
	};
};
