/*
 * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * Copyright 2015 Freescale Semiconductor, Inc. All Rights Reserved.
 *
 * 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 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-tx6.dtsi"

/ {
	model = "Ka-Ro electronics TX6Q-1010 Module";
	compatible = "karo,imx6q-tx6q", "fsl,imx6q";

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
		power-supply = <&reg_3v3>;
		/*
		 * a poor man's way to create a 1:1 relationship between
		 * the PWM value and the actual duty cycle
		 */
		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
				     10 11 12 13 14 15 16 17 18 19
				     20 21 22 23 24 25 26 27 28 29
				     30 31 32 33 34 35 36 37 38 39
				     40 41 42 43 44 45 46 47 48 49
				     50 51 52 53 54 55 56 57 58 59
				     60 61 62 63 64 65 66 67 68 69
				     70 71 72 73 74 75 76 77 78 79
				     80 81 82 83 84 85 86 87 88 89
				     90 91 92 93 94 95 96 97 98 99
				    100>;
		default-brightness-level = <50>;
	};

	lcd@0 {
		compatible = "fsl,lcd";
		ipu_id = <0>;
		disp_id = <0>;
		default_ifmt = "RGB565";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_disp0_1>;
		status = "okay";
	};

};
