/*
 * Copyright 2012 Armadeus Systems - <support@armadeus.com>
 * Copyright 2012 Laurent Cans <laurent.cans@gmail.com>
 *
 * Based on mx51-babbage.dts
 * Copyright 2011 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 *
 * 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/ "imx51.dtsi"

/ {
	model = "Armadeus Systems APF51 module";
	compatible = "armadeus,imx51-apf51", "fsl,imx51";

	memory {
		reg = <0x90000000 0x20000000>;
	};

	clocks {
		ckih1 {
			clock-frequency = <0>;
		};

		osc {
			clock-frequency = <33554432>;
		};
	};
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fec_2>;
	phy-mode = "mii";
	phy-reset-gpios = <&gpio3 0 0>;
	phy-reset-duration = <1>;
	status = "okay";
};

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3_2>;
	status = "okay";
};
