/*
 * Copyright 2012=2015 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 "imx6q.dtsi"
#include "imx6qdl-sabresd.dtsi"

/ {
	model = "Freescale i.MX6 Quad SABRE Smart Device Board";
	compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
};

&battery {
	offset-charger = <1900>;
	offset-discharger = <1694>;
	offset-usb-charger = <1685>;
};

&ldb {
	lvds-channel@0 {
		crtc = "ipu2-di0";
	};

	lvds-channel@1 {
		crtc = "ipu2-di1";
	};
};

&mxcfb1 {
	status = "okay";
};

&mxcfb2 {
	status = "okay";
};

&mxcfb3 {
	status = "okay";
};

&mxcfb4 {
	status = "okay";
};

&sata {
	status = "okay";
};
