/*
 * Copyright 2013 Eukréa Electromatique <denis@eukrea.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include "imx25-eukrea-mbimxsd25-baseboard.dts"

/ {
	model = "Eukrea MBIMXSD25 with the DVI-SVGA Display";
	compatible = "eukrea,mbimxsd25-baseboard-dvi-svga", "eukrea,mbimxsd25-baseboard", "eukrea,cpuimx25", "fsl,imx25";

	dvi_svga: display {
		model = "DVI-SVGA";
		bits-per-pixel = <16>;
		fsl,pcr = <0xfa208b80>;
		bus-width = <18>;
		native-mode = <&dvi_svga_timings>;
		display-timings {
			dvi_svga_timings: 800x600 {
				clock-frequency = <40000000>;
				hactive = <800>;
				vactive = <600>;
				hback-porch = <75>;
				hfront-porch = <75>;
				vback-porch = <7>;
				vfront-porch = <75>;
				hsync-len = <7>;
				vsync-len = <7>;
			};
		};
	};
};

&lcdc {
	display = <&dvi_svga>;
	status = "okay";
};
