/*
 * Copyright 2012 Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
 *
 * 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/ "imx31.dtsi"

/ {
	model = "Buglabs i.MX31 Bug 1.x";
	compatible = "fsl,imx31-bug", "fsl,imx31";

	memory {
		reg = <0x80000000 0x8000000>; /* 128M */
	};

	soc {
		aips@43f00000 { /* AIPS1 */
			uart5: serial@43fb4000 {
				fsl,uart-has-rtscts;
				status = "okay";
			};
		};
	};
};
