/*
 * Copyright 2012 Armadeus Systems - <support@armadeus.com>
 *
 * 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/ "imx28.dtsi"

/ {
	model = "Armadeus Systems APF28 module";
	compatible = "armadeus,imx28-apf28", "fsl,imx28";

	memory {
		reg = <0x40000000 0x08000000>;
	};

	apb@80000000 {
		apbh@80000000 {
			gpmi-nand@8000c000 {
				pinctrl-names = "default";
				pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
				status = "okay";

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

				partition@300000 {
					label = "env";
					reg = <0x300000 0x80000>;
				};

				partition@380000 {
					label = "env2";
					reg = <0x380000 0x80000>;
				};

				partition@400000 {
					label = "dtb";
					reg = <0x400000 0x80000>;
				};

				partition@480000 {
					label = "splash";
					reg = <0x480000 0x80000>;
				};

				partition@500000 {
					label = "kernel";
					reg = <0x500000 0x800000>;
				};

				partition@d00000 {
					label = "rootfs";
					reg = <0xd00000 0xf300000>;
				};
			};
		};

		apbx@80040000 {
			duart: serial@80074000 {
				pinctrl-names = "default";
				pinctrl-0 = <&duart_pins_a>;
				status = "okay";
			};
		};
	};

	ahb@80080000 {
		mac0: ethernet@800f0000 {
			phy-mode = "rmii";
			pinctrl-names = "default";
			pinctrl-0 = <&mac0_pins_a>;
			phy-reset-gpios = <&gpio4 13 0>;
			status = "okay";
		};
	};
};
