/* Copyright (c) 2013-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_HX8379A_WVGA_VIDEO_H_
#define _PANEL_HX8379A_WVGA_VIDEO_H_
/*---------------------------------------------------------------------------*/
/* HEADER files                                                              */
/*---------------------------------------------------------------------------*/
#include "panel.h"

/*---------------------------------------------------------------------------*/
/* Panel configuration                                                       */
/*---------------------------------------------------------------------------*/
static struct panel_config hx8379a_wvga_video_panel_data = {
	"qcom,mdss_dsi_hx8379a_wvga_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 hx8379a_wvga_video_panel_res = {
	480, 800, 100, 94, 40, 0, 6, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

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

/*---------------------------------------------------------------------------*/
/* Panel on/off command information                                          */
/*---------------------------------------------------------------------------*/
static char hx8379a_wvga_video_on_cmd0[] = {
	0x04, 0x00, 0x39, 0xC0,
	0xB9, 0xFF, 0x83, 0x79,
};

static char hx8379a_wvga_video_on_cmd1[] = {
	0x03, 0x00, 0x39, 0xC0,
	0xBA, 0x51, 0x93, 0xFF,
};

static char hx8379a_wvga_video_on_cmd2[] = {
	0x14, 0x00, 0x39, 0xC0,
	0xB1, 0x00, 0x50, 0x44,
	0xEA, 0x8D, 0x08, 0x11,
	0x11, 0x11, 0x27, 0x2F,
	0x9A, 0x1A, 0x42, 0x0B,
	0x6E, 0xF1, 0x00, 0xE6,
};

static char hx8379a_wvga_video_on_cmd3[] = {
	0x0E, 0x00, 0x39, 0xC0,
	0xB2, 0x00, 0x00, 0x3C,
	0x08, 0x04, 0x19, 0x22,
	0x00, 0xFF, 0x08, 0x04,
	0x19, 0x20, 0xFF, 0xFF,
};

static char hx8379a_wvga_video_on_cmd4[] = {
	0x20, 0x00, 0x39, 0xC0,
	0xB4, 0x80, 0x08, 0x00,
	0x32, 0x10, 0x03, 0x32,
	0x13, 0x70, 0x32, 0x10,
	0x08, 0x37, 0x01, 0x28,
	0x07, 0x37, 0x08, 0x35,
	0x08, 0x3D, 0x44, 0x08,
	0x00, 0x40, 0x08, 0x28,
	0x08, 0x30, 0x30, 0x04,
};

static char hx8379a_wvga_video_on_cmd5[] = {
	0x30, 0x00, 0x39, 0xC0,
	0xD5, 0x00, 0x00, 0x0A,
	0x00, 0x01, 0x05, 0x00,
	0x03, 0x00, 0x88, 0x88,
	0x88, 0x88, 0x23, 0x01,
	0x67, 0x45, 0x02, 0x13,
	0x88, 0x88, 0x88, 0x88,
	0x88, 0x88, 0x88, 0x88,
	0x88, 0x88, 0x54, 0x76,
	0x10, 0x32, 0x31, 0x20,
	0x88, 0x88, 0x88, 0x88,
	0x88, 0x88, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
};

static char hx8379a_wvga_video_on_cmd6[] = {
	0x24, 0x00, 0x39, 0xC0,
	0xE0, 0x79, 0x05, 0x0F,
	0x14, 0x23, 0x24, 0x3F,
	0x30, 0x46, 0x06, 0x10,
	0x13, 0x16, 0x17, 0x16,
	0x16, 0x13, 0x18, 0x05,
	0x0F, 0x14, 0x23, 0x24,
	0x3F, 0x30, 0x46, 0x06,
	0x10, 0x13, 0x16, 0x17,
	0x16, 0x16, 0x13, 0x18,
};

static char hx8379a_wvga_video_on_cmd7[] = {
	0x80, 0x00, 0x39, 0xC0,
	0xC1, 0x01, 0x00, 0x07,
	0x10, 0x17, 0x1D, 0x2A,
	0x33, 0x3A, 0x43, 0x4A,
	0x52, 0x5B, 0x64, 0x6D,
	0x78, 0x7F, 0x88, 0x90,
	0x98, 0xA0, 0xA9, 0xB2,
	0xB9, 0xC1, 0xC9, 0xD1,
	0xD7, 0xDF, 0xE6, 0xED,
	0xF4, 0xFA, 0xFD, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x08, 0x10, 0x18,
	0x20, 0x28, 0x30, 0x38,
	0x40, 0x47, 0x4F, 0x58,
	0x60, 0x68, 0x70, 0x78,
	0x80, 0x88, 0x90, 0x98,
	0xA0, 0xA9, 0xB1, 0xB9,
	0xC1, 0xC9, 0xD1, 0xD8,
	0xE0, 0xE8, 0xF0, 0xF9,
	0xFE, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x08,
	0x10, 0x18, 0x1E, 0x26,
	0x2E, 0x34, 0x3A, 0x41,
	0x49, 0x4F, 0x58, 0x5E,
	0x67, 0x6F, 0x77, 0x80,
	0x88, 0x8F, 0x97, 0x9F,
	0xA7, 0xAF, 0xB8, 0xBF,
	0xC7, 0xD1, 0xD8, 0xE3,
	0xEA, 0xF6, 0xFF, 0x00,
	0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00,
};

static char hx8379a_wvga_video_on_cmd8[] = {
	0xcc, 0x02, 0x23, 0x80
};

static char hx8379a_wvga_video_on_cmd9[] = {
	0x05, 0x00, 0x39, 0xC0,
	0xB6, 0x00, 0x9C, 0x00,
	0x9C, 0xFF, 0xFF, 0xFF,
};

static char hx8379a_wvga_video_on_cmd10[] = {
	0x11, 0x00, 0x05, 0x80
};

static char hx8379a_wvga_video_on_cmd11[] = {
	0x29, 0x00, 0x05, 0x80
};

static struct mipi_dsi_cmd hx8379a_wvga_video_on_command[] = {
	{0x8, hx8379a_wvga_video_on_cmd0, 0x00},
	{0x8, hx8379a_wvga_video_on_cmd1, 0x00},
	{0x18, hx8379a_wvga_video_on_cmd2, 0x00},
	{0x14, hx8379a_wvga_video_on_cmd3, 0x00},
	{0x24, hx8379a_wvga_video_on_cmd4, 0x00},
	{0x34, hx8379a_wvga_video_on_cmd5, 0x00},
	{0x28, hx8379a_wvga_video_on_cmd6, 0x00},
	{0x84, hx8379a_wvga_video_on_cmd7, 0x00},
	{0x4, hx8379a_wvga_video_on_cmd8, 0x00},
	{0xc, hx8379a_wvga_video_on_cmd9, 0x00},
	{0x4, hx8379a_wvga_video_on_cmd10, 0x96},
	{0x4, hx8379a_wvga_video_on_cmd11, 0x78}
};

#define HX8379A_WVGA_VIDEO_ON_COMMAND 12


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

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

static struct mipi_dsi_cmd hx8379a_wvga_video_off_command[] = {
	{0x4, hx8379a_wvga_videooff_cmd0, 0x32},
	{0x4, hx8379a_wvga_videooff_cmd1, 0x78}
};

#define HX8379A_WVGA_VIDEO_OFF_COMMAND 2


static struct command_state hx8379a_wvga_video_state = {
	0, 0
};

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

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

/*---------------------------------------------------------------------------*/
/* Lane configuration                                                        */
/*---------------------------------------------------------------------------*/
static struct lane_configuration hx8379a_wvga_video_lane_config = {
	2, 1, 1, 1, 0, 0, 0
};

/*---------------------------------------------------------------------------*/
/* Panel timing                                                              */
/*---------------------------------------------------------------------------*/
static const uint32_t hx8379a_wvga_video_timings[] = {
	0x78, 0x1B, 0x11, 0x00, 0x3E, 0x43, 0x16, 0x1E, 0x1D, 0x03, 0x04, 0x00
};

static struct panel_timing hx8379a_wvga_video_timing_info = {
	0, 4, 0x04, 0x1b
};

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

/*---------------------------------------------------------------------------*/
/* Backlight setting                                                         */
/*---------------------------------------------------------------------------*/
static struct backlight hx8379a_wvga_video_backlight = {
	0, 1, 255, 0, 1, 0
};

#endif /*_PANEL_HX8379A_WVGA_VIDEO_H_*/
