/* Copyright (c) 2015, 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * 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.
 */

/*---------------------------------------------------------------------------
 * This file is autogenerated file using gcdb parser. Please do not edit it.
 * Update input XML file to add a new entry or update variable in this file
 * VERSION = "1.0"
 *---------------------------------------------------------------------------
 */

&mdss_mdp {
	dsi_r69006_1080p_video: qcom,mdss_dsi_r69006_1080p_video {
		qcom,mdss-dsi-panel-name = "r69006 1080p video mode dsi panel";
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-panel-framerate = <60>;
		qcom,mdss-dsi-virtual-channel-id = <0>;
		qcom,mdss-dsi-stream = <0>;
		qcom,mdss-dsi-panel-width = <1080>;
		qcom,mdss-dsi-panel-height = <1920>;
		qcom,mdss-dsi-h-front-porch = <100>;
		qcom,mdss-dsi-h-back-porch = <82>;
		qcom,mdss-dsi-h-pulse-width = <20>;
		qcom,mdss-dsi-h-sync-skew = <0>;
		qcom,mdss-dsi-v-back-porch = <9>;
		qcom,mdss-dsi-v-front-porch = <3>;
		qcom,mdss-dsi-v-pulse-width = <15>;
		qcom,mdss-dsi-h-left-border = <0>;
		qcom,mdss-dsi-h-right-border = <0>;
		qcom,mdss-dsi-v-top-border = <0>;
		qcom,mdss-dsi-v-bottom-border = <0>;
		qcom,mdss-dsi-bpp = <24>;
		qcom,mdss-dsi-underflow-color = <0xff>;
		qcom,mdss-dsi-border-color = <0>;
		qcom,mdss-dsi-on-command = [23 01 00 00 00 00 02 B0 00
			29 01 00 00 00 00 06
				B3 05 10 00 00 00
			29 01 00 00 00 00 03 B4 0c 00
			29 01 00 00 00 00 04 B6 3b c3 00
			23 01 00 00 00 00 02 C0 00
			15 01 00 00 00 00 02 36 98
			23 01 00 00 00 00 02 CC 04
			29 01 00 00 00 00 20
				C1 84 00 10 EF 8B
				F1 FF FF DF 9C C5
				9A 73 8D AD 63 FE
				FF FF CB F8 01 00
				AA 40 00 C2 01 08
				00 01
			29 01 00 00 00 00 0A
				CB 0D FE 1F 2C 00
				00 00 00 00
			29 01 00 00 00 00 0B
				C2 01 F7 80 04 63
				00 60 00 01 30
			29 01 00 00 00 00 07
				C3 55 01 00 01 00
				00
			29 01 00 00 00 00 12
				C4 70 00 00 00 00
				00 00 00 00 02 01
				00 05 01 00 00 00
			29 01 00 00 00 00 0F
				C6 59 07 4a 07 4a
				01 0E 01 02 01 02
				09 15 07
			29 01 00 00 00 00 1F
				C7 00 30 32 34 42
				4E 56 62 44 4A 54
				62 6B 73 7F 08 30
				32 34 42 4E 56 62
				44 4A 54 62 6B 73
				7F
			29 01 00 00 00 00 14
				C8 00 00 00 00 00
				FC 00 00 00 00 00
				FC 00 00 00 00 00
				FC 00
			29 01 00 00 00 00 09
				C9 1F 68 1F 68 4C
				4C C4 11
			29 01 00 00 00 00 11
				D0 33 01 91 0B D9
				19 19 00 00 00 19
				99 00 00 00 00
			29 01 00 00 00 00 1D
				D3 1B 3B BB AD A5
				33 33 33 00 80 AD
				A8 6f 6f 33 33 33
				F7 F2 1F 7D 7C FF
				0F 99 00 FF FF
			29 01 00 00 00 00 04
				D4 57 33 03
			29 01 00 00 00 00 0C
				D5 66 00 00 01 27
				01 27 00 6D 00 6D
			23 01 00 00 00 00 02 D6 81
			05 01 00 00 78 00 02 11 00
			05 01 00 00 78 00 02 29 00];
		qcom,mdss-dsi-off-command = [05 01 00 00 78 00 02 28 00
			05 01 00 00 96 00 02 10 00];
		qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
		qcom,mdss-dsi-h-sync-pulse = <1>;
		qcom,mdss-dsi-traffic-mode = "burst_mode";
		qcom,mdss-dsi-bllp-eof-power-mode;
		qcom,mdss-dsi-bllp-power-mode;
		qcom,mdss-dsi-lane-0-state;
		qcom,mdss-dsi-lane-1-state;
		qcom,mdss-dsi-lane-2-state;
		qcom,mdss-dsi-lane-3-state;
		qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33
			22 27 1e 03 04 00];
		qcom,mdss-dsi-t-clk-post = <0x20>;
		qcom,mdss-dsi-t-clk-pre = <0x2c>;
		qcom,mdss-dsi-bl-min-level = <1>;
		qcom,mdss-dsi-bl-max-level = <4095>;
		qcom,mdss-dsi-dma-trigger = "trigger_sw";
		qcom,mdss-dsi-mdp-trigger = "none";
		qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
		qcom,mdss-dsi-reset-sequence = <1 20>, <0 2>, <1 20>;
		qcom,mdss-dsi-panel-status-command = [06 01 00 01 05 00 01 0A];
		qcom,mdss-dsi-panel-status-command-mode = "dsi_lp_mode";
		qcom,mdss-dsi-panel-status-check-mode = "reg_read";
		qcom,mdss-dsi-panel-status-read-length = <1>;
		qcom,mdss-dsi-panel-status-value = <0x1C>;
		qcom,mdss-dsi-panel-max-error-count = <3>;
	};
};
