/* Copyright (c) 2015-2017, 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.
 */

&mdss_mdp {
	dsi_lt8912_480_vid: qcom,mdss_dsi_lt8912_480p_video {
		qcom,mdss-dsi-panel-name = "lt8912 480p video mode dsi panel";
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-panel-destination = "display_1";
		qcom,mdss-dsi-color-order = "rgb_swap_rgb";
		qcom,mdss-dsi-lane-map = "lane_map_0123";
		qcom,mdss-dsi-panel-framerate = <60>;
		qcom,mdss-dsi-virtual-channel-id = <0>;
		qcom,mdss-dsi-stream = <0>;
		qcom,mdss-dsi-panel-width = <640>;
		qcom,mdss-dsi-panel-height = <480>;
		qcom,mdss-dsi-h-front-porch = <16>;
		qcom,mdss-dsi-h-back-porch = <48>;
		qcom,mdss-dsi-h-pulse-width = <96>;
		qcom,mdss-dsi-h-sync-skew = <0>;
		qcom,mdss-dsi-v-back-porch = <32>;
		qcom,mdss-dsi-v-front-porch = <15>;
		qcom,mdss-dsi-v-pulse-width = <2>;
		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 = [
			05 01 00 00 a0 00 02 11 00
			05 01 00 00 a0 00 02 29 00];
		qcom,mdss-dsi-off-command = [
			05 01 00 00 78 00 02 28 00
			05 01 00 00 78 00 02 10 00];
		qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-off-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-h-sync-pulse = <0>;
		qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
		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-panel-timings-phy-v2 = [
			1D 1A 03 05 01 03 04 a0
			1D 1A 03 05 01 03 04 a0
			1D 0A 03 04 01 03 04 a0];
		qcom,mdss-dsi-panel-timings = [
			65 12 0C 00 34 38 10 16 0F 03 04 00];
		qcom,mdss-dsi-t-clk-post = <0x02>;
		qcom,mdss-dsi-t-clk-pre = <0x2B>;
		qcom,mdss-dsi-dma-trigger = "trigger_sw";
		qcom,mdss-dsi-mdp-trigger = "none";
		qcom,mdss-dsi-reset-sequence = <1 20>, <0 2>, <1 20>;
		qcom,mdss-dsi-post-init-delay = <1>;
		qcom,mdss-dsi-force-clock-lane-hs;
	};
};
