/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *  * Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *  * Neither the name of The Linux Foundation nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

/*---------------------------------------------------------------------------
 * 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"
 *---------------------------------------------------------------------------*/

#ifndef _PANEL_R63417_1080P_VIDEO_H_
#define _PANEL_R63417_1080P_VIDEO_H_
/*---------------------------------------------------------------------------*/
/* HEADER files                                                              */
/*---------------------------------------------------------------------------*/
#include "panel.h"

/*---------------------------------------------------------------------------*/
/* Panel configuration                                                       */
/*---------------------------------------------------------------------------*/
static struct panel_config r63417_1080p_video_panel_data = {
	"qcom,mdss_dsi_r63417_1080p_video", "dsi:0:", "qcom,mdss-dsi-panel",
	10, 0, "DISPLAY_1", 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

/*---------------------------------------------------------------------------*/
/* Panel resolution                                                          */
/*---------------------------------------------------------------------------*/
static struct panel_resolution r63417_1080p_video_panel_res = {
	1080, 1920, 100, 12, 60, 0, 25, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

/*---------------------------------------------------------------------------*/
/* Panel color information                                                   */
/*---------------------------------------------------------------------------*/
static struct color_info r63417_1080p_video_color = {
	24, 0, 0xff, 0, 0, 0
};

/*---------------------------------------------------------------------------*/
/* Panel on/off command information                                          */
/*---------------------------------------------------------------------------*/
static char r63417_1080p_video_on_cmd0[] = {
	0x02, 0x00, 0x39, 0xC0,
	0x11, 0x00, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd1[] = {
	0x02, 0x00, 0x29, 0xC0,
	0xB0, 0x04, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd2[] = {
	0x07, 0x00, 0x29, 0xC0,
	0xB3, 0x14, 0x00, 0x00,
	0x00, 0x00, 0x00, 0xFF,
};

static char r63417_1080p_video_on_cmd3[] = {
	0x03, 0x00, 0x29, 0xC0,
	0xB6, 0x3A, 0xC3, 0xFF,
};

static char r63417_1080p_video_on_cmd4[] = {
	0x02, 0x00, 0x29, 0xC0,
	0xC0, 0x00, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd5[] = {
	0x23, 0x00, 0x29, 0xC0,
	0xC1, 0xC4, 0x60, 0x10,
	0xEB, 0xFF, 0x6F, 0xCE,
	0xFF, 0xFF, 0x17, 0x12,
	0x58, 0x73, 0xAE, 0x31,
	0x20, 0xC6, 0xFF, 0xFF,
	0x1F, 0xF3, 0xFF, 0x5F,
	0x10, 0x10, 0x10, 0x10,
	0x00, 0x62, 0x01, 0x22,
	0x22, 0x00, 0x01, 0xFF,
};

static char r63417_1080p_video_on_cmd6[] = {
	0x08, 0x00, 0x29, 0xC0,
	0xC2, 0x31, 0xF7, 0x80,
	0x08, 0x08, 0x00, 0x00,
};

static char r63417_1080p_video_on_cmd7[] = {
	0x17, 0x00, 0x29, 0xC0,
	0xC4, 0x70, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x06, 0x05,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x06, 0x05, 0xFF,
};

static char r63417_1080p_video_on_cmd8[] = {
	0x29, 0x00, 0x29, 0xC0,
	0xC6, 0xC8, 0x01, 0x69,
	0x01, 0x69, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x0B, 0x17,
	0x09, 0xC8, 0x08, 0x67,
	0x08, 0x67, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x16, 0x18,
	0x08, 0xFF, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd9[] = {
	0x0A, 0x00, 0x29, 0xC0,
	0xCB, 0x31, 0xFC, 0x3F,
	0x8C, 0x00, 0x00, 0x00,
	0x00, 0xC0, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd10[] = {
	0x02, 0x00, 0x29, 0xC0,
	0xCC, 0x0B, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd11[] = {
	0x0B, 0x00, 0x29, 0xC0,
	0xD0, 0x22, 0x82, 0xBB,
	0x19, 0x99, 0x4C, 0x19,
	0x19, 0x0C, 0x00, 0xFF,
};

static char r63417_1080p_video_on_cmd12[] = {
	0x1a, 0x00, 0x29, 0xC0,
	0xD3, 0x1B, 0x33, 0xBB,
	0xBB, 0xB3, 0x33, 0x33,
	0x33, 0x01, 0x01, 0x00,
	0xA0, 0xD8, 0xA0, 0x0D,
	0x55, 0x55, 0x33, 0x3B,
	0x37, 0x72, 0x07, 0x3D,
	0xBF, 0x44, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd13[] = {
	0x08, 0x00, 0x29, 0xC0,
	0xD5, 0x06, 0x00, 0x00,
	0x01, 0x67, 0x01, 0x67,
};

static char r63417_1080p_video_on_cmd14[] = {
	0x1f, 0x00, 0x29, 0xC0,
	0xC7, 0x0C, 0x1B, 0x22,
	0x2B, 0x37, 0x43, 0x4C,
	0x5B, 0x3F, 0x47, 0x52,
	0x5F, 0x67, 0x6B, 0x6E,
	0x0C, 0x1B, 0x22, 0x2B,
	0x37, 0x43, 0x4C, 0x5B,
	0x3F, 0x47, 0x52, 0x5F,
	0x67, 0x6B, 0x6E, 0xFF,
};

static char r63417_1080p_video_on_cmd15[] = {
	0x14, 0x00, 0x29, 0xC0,
	0xC8, 0x01, 0x00, 0x00,
	0x03, 0xFB, 0xFB, 0xEF,
	0x00, 0x00, 0x03, 0xFB,
	0xFB, 0xEF, 0x00, 0x00,
	0x03, 0xFB, 0xFB, 0xEF,
};

static char r63417_1080p_video_on_cmd16[] = {
	0x02, 0x00, 0x39, 0xC0,
	0x51, 0xFF, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd17[] = {
	0x02, 0x00, 0x39, 0xC0,
	0x53, 0x2C, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd18[] = {
	0x02, 0x00, 0x39, 0xC0,
	0x55, 0x03, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd19[] = {
	0x02, 0x00, 0x39, 0xC0,
	0x35, 0x00, 0xFF, 0xFF,
};

static char r63417_1080p_video_on_cmd20[] = {
	0x02, 0x00, 0x39, 0xC0,
	0x29, 0x00, 0xFF, 0xFF,
};

static struct mipi_dsi_cmd r63417_1080p_video_on_command[] = {
	{0x8, r63417_1080p_video_on_cmd0, 0x78},
	{0x8, r63417_1080p_video_on_cmd1, 0x00},
	{0xc, r63417_1080p_video_on_cmd2, 0x00},
	{0x8, r63417_1080p_video_on_cmd3, 0x00},
	{0x8, r63417_1080p_video_on_cmd4, 0x00},
	{0x28, r63417_1080p_video_on_cmd5, 0x00},
	{0xc, r63417_1080p_video_on_cmd6, 0x00},
	{0x1c, r63417_1080p_video_on_cmd7, 0x00},
	{0x30, r63417_1080p_video_on_cmd8, 0x00},
	{0x10, r63417_1080p_video_on_cmd9, 0x00},
	{0x8, r63417_1080p_video_on_cmd10, 0x00},
	{0x10, r63417_1080p_video_on_cmd11, 0x00},
	{0x20, r63417_1080p_video_on_cmd12, 0x00},
	{0xc, r63417_1080p_video_on_cmd13, 0x00},
	{0x24, r63417_1080p_video_on_cmd14, 0x00},
	{0x18, r63417_1080p_video_on_cmd15, 0x00},
	{0x8, r63417_1080p_video_on_cmd16, 0x00},
	{0x8, r63417_1080p_video_on_cmd17, 0x00},
	{0x8, r63417_1080p_video_on_cmd18, 0x00},
	{0x8, r63417_1080p_video_on_cmd19, 0x00},
	{0x8, r63417_1080p_video_on_cmd20, 0x64}
};

#define R63417_1080P_VIDEO_ON_COMMAND 21


static char r63417_1080p_videooff_cmd0[] = {
	0x28, 0x00, 0x05, 0x80
};

static char r63417_1080p_videooff_cmd1[] = {
	0x10, 0x00, 0x05, 0x80
};

static struct mipi_dsi_cmd r63417_1080p_video_off_command[] = {
	{0x4, r63417_1080p_videooff_cmd0, 0x32},
	{0x4, r63417_1080p_videooff_cmd1, 0x78}
};

#define R63417_1080P_VIDEO_OFF_COMMAND 2


static struct command_state r63417_1080p_video_state = {
	0, 1
};

/*---------------------------------------------------------------------------*/
/* Command mode panel information                                            */
/*---------------------------------------------------------------------------*/
static struct commandpanel_info r63417_1080p_video_command_panel = {
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

/*---------------------------------------------------------------------------*/
/* Video mode panel information                                              */
/*---------------------------------------------------------------------------*/
static struct videopanel_info r63417_1080p_video_video_panel = {
	1, 0, 0, 0, 1, 1, 2, 0, 0x9
};

/*---------------------------------------------------------------------------*/
/* Lane configuration                                                        */
/*---------------------------------------------------------------------------*/
static struct lane_configuration r63417_1080p_video_lane_config = {
	4, 0, 1, 1, 1, 1
};

/*---------------------------------------------------------------------------*/
/* Panel timing                                                              */
/*---------------------------------------------------------------------------*/
static const uint32_t r63417_1080p_video_timings[] = {
	0xAE, 0x44, 0x37, 0x00, 0x5D, 0x55, 0x39, 0x46, 0x5B, 0x03, 0x04, 0x00
};

static struct panel_timing r63417_1080p_video_timing_info = {
	0, 4, 0x1e, 0x34
};

/*---------------------------------------------------------------------------*/
/* Panel reset sequence                                                      */
/*---------------------------------------------------------------------------*/
static struct panel_reset_sequence r63417_1080p_video_reset_seq = {
	{1, 0, 1, }, {20, 2, 20, }, 2
};

/*---------------------------------------------------------------------------*/
/* Backlight setting                                                         */
/*---------------------------------------------------------------------------*/
static struct backlight r63417_1080p_video_backlight = {
	1, 1, 255, 0, 2, "bl_ctrl_dcs"
};

#endif /*_PANEL_R63417_1080P_VIDEO_H_*/
