/*
 * Copyright (C) 2016 Nest Labs, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#include "onyx-proto.dts"

/ {
	model = "NestLabs Onyx Proto1.1 Board";
	compatible = "nestlabs,onyx-proto11", "fsl,imx6ul";

};


&lcdif{
	display = <&renesas>;
	renesas: display {
		native-mode = <&timing0>;
		bits-per-pixel = <32>;
		buffers = <2>;
		bus-width = <24>;
		display-timings {
			timing0: 320x320{
				clock-frequency = <8088000>;
				hactive = <320>;
				vactive = <320>;
				hback-porch = <20>;
				hfront-porch = <50>;
				vback-porch = <6>;
				vfront-porch = <8>;
				hsync-len = <10>;
				vsync-len = <2>;
				hsync-active = <1>;
				vsync-active = <1>;
				de-active = <1>;
				pixelclk-active = <1>;
			};
		};
	};
};


/delete-node/ &s6d05a1;

/*lcd driver spi */
&ecspi2 {
	fsl,spi-num-chipselects = <1>;
	/delete-property/ cs-gpios;
	r61529a1@0 {
		reg = <0>;
		spi-cpol;
		spi-cpha;
		compatible = "renesas,r61529a1";
		cs-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
		spi-max-frequency = <500000>;
		reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
	};
};

