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

/*---------------------------------------------------------------------------*/
/* Panel configuration                                                       */
/*---------------------------------------------------------------------------*/

static struct panel_config djn_hx83112b_1080p_cmd_panel_data = {
	"qcom,mdss_dsi_djn_hx83112b_1080p_cmd", "dsi:0:", "qcom,mdss-dsi-panel",
  11, 1, "DISPLAY_1", 0, 1, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, NULL
};

/*---------------------------------------------------------------------------*/
/* Panel resolution                                                          */
/*---------------------------------------------------------------------------*/
static struct panel_resolution djn_hx83112b_1080p_cmd_panel_res = {
	1080, 2160, 40, 12, 4, 0, 32, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

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

/*---------------------------------------------------------------------------*/
/* Panel on/off command information                                          */
/*---------------------------------------------------------------------------*/

//[Arima][8901][Jialong]LCM initial code from IC firmware Start
static char djn_hx83112b_1080p_cmd_on_command0[]= { 
0x04, 0x00, 0x39, 0xC0,
0xB9, 0x83, 0x11, 0x2B};
static char djn_hx83112b_1080p_cmd_on_command1[]= { 
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x01, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command2[]= {
0x03, 0x00, 0x39, 0xC0,
0xC2, 0x08, 0x70, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command3[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x03, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command4[]= {
0x05, 0x00, 0x39, 0xC0,
0xB2, 0x04, 0x38, 0x08, 
0x70, 0xFF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command5[]= { 
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command6[]= { 
0x0B, 0x00, 0x39, 0xC0,
0xB1, 0xF8, 0x27, 0x27, 
0x00, 0x00, 0x0B, 0x0E, 
0x0B, 0x0E, 0x33, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command7[]= {
0x03, 0x00, 0x39, 0xC0,
0xD2, 0x2D, 0x2D, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command8[]= {
0x0C, 0x00, 0x39, 0xC0,
0xB2, 0x80, 0x02, 0x18, 
0x80, 0x70, 0x00, 0x08, 
0x1C, 0x08, 0x11, 0x05};
static char djn_hx83112b_1080p_cmd_on_command9[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0xD1, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command10[]= {
0x03, 0x00, 0x39, 0xC0,
0xB2, 0x00, 0x08, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command11[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command12[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x02, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command13[]= {
0x03, 0x00, 0x39, 0xC0,
0xB2, 0xB5, 0x0A, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command14[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command15[]= {
0x09, 0x00, 0x39, 0xC0,
0xDD, 0x00, 0x00, 0x08, 
0x1C, 0x08, 0x34, 0x34, 
0x88, 0xFF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command16[]= {
0x19, 0x00, 0x39, 0xC0,
0xB4, 0x65, 0x6B, 0x00, 
0x00, 0xD0, 0xD4, 0x36, 
0xCF, 0x06, 0xCE, 0x00, 
0xCE, 0x00, 0x00, 0x00, 
0x07, 0x00, 0x2A, 0x07, 
0x01, 0x07, 0x00, 0x00, 
0x2A, 0xFF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command17[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x03, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command18[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0xC3, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command19[]= {
0x04, 0x00, 0x39, 0xC0,
0xB4, 0x01, 0x67, 0x2A};
static char djn_hx83112b_1080p_cmd_on_command20[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command21[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command22[]= {
0x02, 0x00, 0x39, 0xC0,
0xC1, 0x01, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command23[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x01, 0xFF, 0xFF };
static char djn_hx83112b_1080p_cmd_on_command24[]= {
0x3A, 0x00, 0x39, 0xC0,
0xC1, 0xFF, 0xFB, 0xF9, 
0xF6, 0xF4, 0xF1, 0xEF, 
0xEA, 0xE7, 0xE5, 0xE2, 
0xDF, 0xDD, 0xDA, 0xD8, 
0xD5, 0xD2, 0xCF, 0xCC, 
0xC5, 0xBE, 0xB7, 0xB0, 
0xA8, 0xA0, 0x98, 0x8E, 
0x85, 0x7B, 0x72, 0x69, 
0x5E, 0x53, 0x48, 0x3E, 
0x35, 0x2B, 0x22, 0x17, 
0x0D, 0x09, 0x07, 0x05, 
0x01, 0x00, 0x26, 0xF0, 
0x86, 0x25, 0x6E, 0xB6, 
0xDD, 0xF3, 0xD8, 0xCC, 
0x9B, 0x00, 0xFF, 0xFF};		
static char djn_hx83112b_1080p_cmd_on_command25[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x02, 0xFF, 0xFF };
static char djn_hx83112b_1080p_cmd_on_command26[]= {
0x3A, 0x00, 0x39, 0xC0,
0xC1, 0xFF, 0xFB, 0xF9, 
0xF6, 0xF4, 0xF1, 0xEF, 
0xEA, 0xE7, 0xE5, 0xE2, 
0xDF, 0xDD, 0xDA, 0xD8, 
0xD5, 0xD2, 0xCF, 0xCC, 
0xC5, 0xBE, 0xB7, 0xB0, 
0xA8, 0xA0, 0x98, 0x8E, 
0x85, 0x7B, 0x72, 0x69, 
0x5E, 0x53, 0x48, 0x3E, 
0x35, 0x2B, 0x22, 0x17, 
0x0D, 0x09, 0x07, 0x05, 
0x01, 0x00, 0x26, 0xF0, 
0x86, 0x25, 0x6E, 0xB6, 
0xDD, 0xF3, 0xD8, 0xCC, 
0x9B, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command27[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x03, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command28[]= {
0x3A, 0x00, 0x39, 0xC0,
0xC1, 0xFF, 0xFB, 0xF9, 
0xF6, 0xF4, 0xF1, 0xEF, 
0xEA, 0xE7, 0xE5, 0xE2, 
0xDF, 0xDD, 0xDA, 0xD8, 
0xD5, 0xD2, 0xCF, 0xCC, 
0xC5, 0xBE, 0xB7, 0xB0, 
0xA8, 0xA0, 0x98, 0x8E, 
0x85, 0x7B, 0x72, 0x69, 
0x5E, 0x53, 0x48, 0x3E, 
0x35, 0x2B, 0x22, 0x17, 
0x0D, 0x09, 0x07, 0x05, 
0x01, 0x00, 0x26, 0xF0, 
0x86, 0x25, 0x6E, 0xB6, 
0xDD, 0xF3, 0xD8, 0xCC, 
0x9B, 0x00, 0xFF, 0xFF};	
static char djn_hx83112b_1080p_cmd_on_command29[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command30[]= {
0x02, 0x00, 0x39, 0xC0,
0xC2, 0xC8, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command31[]= {
0x02, 0x00, 0x39, 0xC0,
0xCC, 0x08, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command32[]= {
0x26, 0x00, 0x39, 0xC0,
0xD3, 0x81, 0x00, 0x00, 
0x00, 0x00, 0x01, 0x00, 
0x04, 0x00, 0x01, 0x13, 
0x40, 0x04, 0x09, 0x09, 
0x0B, 0x0B, 0x32, 0x10, 
0x08, 0x00, 0x08, 0x32, 
0x10, 0x08, 0x00, 0x08, 
0x32, 0x10, 0x08, 0x00, 
0x08, 0x00, 0x00, 0x0A, 
0x08, 0x7B, 0xFF, 0xFF};			
static char djn_hx83112b_1080p_cmd_on_command33[]= {
0x02, 0x00, 0x39, 0xC0,	
0xE9, 0xC5, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command34[]= {
0x02, 0x00, 0x39, 0xC0,
0xC6, 0xF7, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command35[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command36[]= {
0x02, 0x00, 0x39, 0xC0,	
0xE9, 0xD4, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command37[]= {
0x02, 0x00, 0x39, 0xC0,	
0xC6, 0x6E, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command38[]= {
0x02, 0x00, 0x39, 0xC0, 
0xE9, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command39[]= {
0x02, 0x00, 0x39, 0xC0,	
0xE9, 0xEF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command40[]= {
0x02, 0x00, 0x39, 0xC0,	
0xD3, 0x0C, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command41[]= {
0x02, 0x00, 0x39, 0xC0,	
0xE9, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command42[]= {
0x02, 0x00, 0x39, 0xC0,	
0xBD, 0x01, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command43[]= {
0x02, 0x00, 0x39, 0xC0,	
0xE9, 0xC8, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command44[]= {
0x02, 0x00, 0x39, 0xC0,	
0xD3, 0xA1, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command45[]= {
0x02, 0x00, 0x39, 0xC0,	
0xE9, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command46[]= {
0x02, 0x00, 0x39, 0xC0,	
0xBD, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command47[]= {
0x39, 0x00, 0x39, 0xC0,
0xD5, 0x18, 0x18, 0x19, 
0x18, 0x18, 0x20, 0x18, 
0x18, 0x18, 0x10, 0x10, 
0x18, 0x18, 0x00, 0x00, 
0x18, 0x18, 0x01, 0x01, 
0x18, 0x18, 0x28, 0x28, 
0x18, 0x18, 0x18, 0x18, 
0x18, 0x2F, 0x2F, 0x30, 
0x30, 0x31, 0x31, 0x35, 
0x35, 0x36, 0x36, 0x37, 
0x37, 0x18, 0x18, 0x18, 
0x18, 0x18, 0x18, 0x18, 
0x18, 0xFC, 0xFC, 0x00, 
0x00, 0xFC, 0xFC, 0x00, 
0x00, 0xFF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command48[]= {
0x31, 0x00, 0x39, 0xC0,
0xD6, 0x18, 0x18, 0x19, 
0x18, 0x18, 0x20, 0x19, 
0x18, 0x18, 0x10, 0x10, 
0x18, 0x18, 0x00, 0x00, 
0x18, 0x18, 0x01, 0x01, 
0x18, 0x18, 0x28, 0x28, 
0x18, 0x18, 0x18, 0x18, 
0x18, 0x2F, 0x2F, 0x30, 
0x30, 0x31, 0x31, 0x35, 
0x35, 0x36, 0x36, 0x37, 
0x37, 0x18, 0x18, 0x18, 
0x18, 0x18, 0x18, 0x18, 
0x18, 0xFF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command49[]= {
0x19, 0x00, 0x39, 0xC0,
0xD8, 0xAA, 0xAA, 0xAA, 
0xAF, 0xEA, 0xAA, 0xAA, 
0xAA, 0xAA, 0xAF, 0xEA, 
0xAA, 0xAA, 0xAA, 0xAB, 
0xAF, 0xEF, 0xAA, 0xAA, 
0xAA, 0xAA, 0xAF, 0xEA, 
0xAA, 0xFF, 0xFF, 0xFF};

	

static char djn_hx83112b_1080p_cmd_on_command50[]= { 
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x01, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command51[]= {
0x0D, 0x00, 0x39, 0xC0,
0xD8, 0xAA, 0xAA, 0xAB, 
0xAF, 0xEA, 0xAA, 0xAA, 
0xAA, 0xAE, 0xAF, 0xEA, 
0xAA, 0xFF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command52[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x02, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command53[]= {
0x0D, 0x00, 0x39, 0xC0,
0xD8, 0xAA, 0xAA, 0xAA, 
0xAF, 0xEA, 0xAA, 0xAA, 
0xAA, 0xAA, 0xAF, 0xEA, 
0xAA, 0xFF, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command54[]= { 
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x03, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command55[]= {
0x19, 0x00, 0x39, 0xC0,
0xD8, 0xBA, 0xAA, 0xAA, 
0xAF, 0xEA, 0xAA, 0xAA, 
0xAA, 0xAA, 0xAF, 0xEA, 
0xAA, 0xBA, 0xAA, 0xAA, 
0xAF, 0xEA, 0xAA, 0xAA, 
0xAA, 0xAA, 0xAF, 0xEA, 
0xAA, 0xFF, 0xFF, 0xFF};



static char djn_hx83112b_1080p_cmd_on_command56[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command57[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0xE4, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command58[]= {
0x03, 0x00, 0x39, 0xC0,
0xE7, 0x17, 0x69, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command59[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0x00, 0xFF, 0xFF};

static char djn_hx83112b_1080p_cmd_on_command60[]= {
0x1A, 0x00, 0x39, 0xC0,
0xE7, 0x09, 0x09, 0x00, 
0x07, 0xE8, 0x00, 0x26, 
0x00, 0x07, 0x00, 0x00, 
0xE8, 0x32, 0x00, 0xE9, 
0x0A, 0x0A, 0x00, 0x00, 
0x00, 0x01, 0x01, 0x00, 
0x12, 0x04, 0xFF, 0xFF};
			
static char djn_hx83112b_1080p_cmd_on_command61[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x01, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command62[]= {
0x0A, 0x00, 0x39, 0xC0,
0xE7, 0x02, 0x00, 0x01, 
0x20, 0x01, 0x18, 0x08, 
0xA8, 0x09, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command63[]= {
0x02, 0x00, 0x39, 0xC0,	
0xBD, 0x02, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command64[]= {
0x04, 0x00, 0x39, 0xC0,
0xE7, 0x20, 0x20, 0x00};
static char djn_hx83112b_1080p_cmd_on_command65[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x03, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command66[]= {
0x07, 0x00, 0x39, 0xC0,
0xE7, 0x00, 0xDC, 0x11, 
0x70, 0x00, 0x20, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command67[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0xC9, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command68[]= {
0x07, 0x00, 0x39, 0xC0,
0xE7, 0x2A, 0xCE, 0x02, 
0x70, 0x01, 0x04, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command69[]= {
0x02, 0x00, 0x39, 0xC0,
0xE9, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command70[]= {
0x02, 0x00, 0x39, 0xC0,
0xBD, 0x00, 0xFF, 0xFF};
static char djn_hx83112b_1080p_cmd_on_command71[]= {
0x02, 0x00, 0x39, 0xC0,
0xD1, 0x27, 0xFF, 0xFF};

//open display
static char djn_hx83112b_1080p_cmd_on_command72[]= { 
0x11, 0x00, 0x05, 0x80 };
static char djn_hx83112b_1080p_cmd_on_command73[]= { 
0x29, 0x00, 0x05, 0x80 };

//open back light
static char djn_hx83112b_1080p_cmd_on_command74[]= {
0x03, 0x00, 0x39, 0xC0,
0x51, 0x0F, 0xFF, 0xFF};
//set back light level is 4095
static char djn_hx83112b_1080p_cmd_on_command75[]= {
0x02, 0x00, 0x39, 0xC0,
0x53, 0x24, 0xFF, 0xFF};


static struct mipi_dsi_cmd djn_hx83112b_1080p_cmd_on_command[] = {
	{0x08, djn_hx83112b_1080p_cmd_on_command0, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command1, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command2, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command3, 0x00},	
	{0x0C, djn_hx83112b_1080p_cmd_on_command4, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command5, 0x00},
	{0x10, djn_hx83112b_1080p_cmd_on_command6, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command7, 0x00},
	{0x10, djn_hx83112b_1080p_cmd_on_command8, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command9, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command10, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command11, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command12, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command13, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command14, 0x00},
	{0x10, djn_hx83112b_1080p_cmd_on_command15, 0x00},
	{0x20, djn_hx83112b_1080p_cmd_on_command16, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command17, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command18, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command19, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command20, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command21, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command22, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command23, 0x00},
	{0x40, djn_hx83112b_1080p_cmd_on_command24, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command25, 0x00},
	{0x40, djn_hx83112b_1080p_cmd_on_command26, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command27, 0x00},
	{0x40, djn_hx83112b_1080p_cmd_on_command28, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command29, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command30, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command31, 0x00},
	{0x2C, djn_hx83112b_1080p_cmd_on_command32, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command33, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command34, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command35, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command36, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command37, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command38, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command39, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command40, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command41, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command42, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command43, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command44, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command45, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command46, 0x00},
	{0x40, djn_hx83112b_1080p_cmd_on_command47, 0x00},
	{0x38, djn_hx83112b_1080p_cmd_on_command48, 0x00},
	{0x20, djn_hx83112b_1080p_cmd_on_command49, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command50, 0x00},
	{0x14, djn_hx83112b_1080p_cmd_on_command51, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command52, 0x00},
	{0x14, djn_hx83112b_1080p_cmd_on_command53, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command54, 0x00},
	{0x20, djn_hx83112b_1080p_cmd_on_command55, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command56, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command57, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command58, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command59, 0x00},
	{0x20, djn_hx83112b_1080p_cmd_on_command60, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command61, 0x00},
	{0x10, djn_hx83112b_1080p_cmd_on_command62, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command63, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command64, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command65, 0x00},
	{0x0C, djn_hx83112b_1080p_cmd_on_command66, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command67, 0x00},
	{0x0C, djn_hx83112b_1080p_cmd_on_command68, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command69, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command70, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command71, 0x00},
	{0x04, djn_hx83112b_1080p_cmd_on_command72, 0x78},
	{0x04, djn_hx83112b_1080p_cmd_on_command73, 0x14},
	{0x08, djn_hx83112b_1080p_cmd_on_command74, 0x00},
	{0x08, djn_hx83112b_1080p_cmd_on_command75, 0x00},

};

#define DJN_HX83112B_1080P_CMD_ON_COMMAND 76//4

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

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

static struct mipi_dsi_cmd djn_hx83112b_1080p_cmd_off_command[] = {
	{0x4, djn_hx83112b_1080p_cmd_off_cmd0, 0x14},
	{0x4, djn_hx83112b_1080p_cmd_off_cmd1, 0x78}
};

#define DJN_HX83112B_1080P_CMD_OFF_COMMAND 2


static struct command_state djn_hx83112b_1080p_cmd_state = {
	0, 1
};


/*---------------------------------------------------------------------------*/
/* Command mode panel information                                            */
/*---------------------------------------------------------------------------*/
static struct commandpanel_info djn_hx83112b_1080p_cmd_command_panel = {
    1, 1, 1, 0, 0, 0x2c, 0, 0, 0, 1, 0, 0

};

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

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

/*---------------------------------------------------------------------------*/
/* Panel timing                                                              */
/*---------------------------------------------------------------------------*/
static const uint32_t djn_hx83112b_1080p_cmd_timings[] = {
	0xe6, 0x38, 0x26, 0x00, 0x68, 0x6e, 0x2a, 0x3c, 0x44, 0x03, 0x04, 0x00
};

static struct panel_timing djn_hx83112b_1080p_cmd_timing_info = {
	0, 4, 0x1e, 0x38
};
static const uint32_t djn_hx83112b_1080p_14nm_cmd_timings[] = {
	0x24, 0x1f, 0x8, 0x9, 0x5, 0x3, 0x4, 0xa0,
	0x24, 0x1f, 0x8, 0x9, 0x5, 0x3, 0x4, 0xa0,
	0x24, 0x1f, 0x8, 0x9, 0x5, 0x3, 0x4, 0xa0,
	0x24, 0x1f, 0x8, 0x9, 0x5, 0x3, 0x4, 0xa0,
	0x24, 0x1f, 0x8, 0x9, 0x5, 0x3, 0x4, 0xa0,
};

static const uint32_t djn_hx83112b_1080p_cmd_12nm_timings[] = {
	0x17, 0x0A, 0x0F, 0x06, 0x02, 0x08, 0x06, 0x0E
};

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

/*---------------------------------------------------------------------------*/
/* Backlight setting                                                         */
/*---------------------------------------------------------------------------*/
static struct backlight djn_hx83112b_1080p_cmd_backlight = {
	1, 1, 255, 100, 3, "PMIC_8953"
};

#define DJN_HX83112B_1080P_CMD_SIGNATURE 0xFFFF

#endif /*_PANEL_DJN_HX83112B_1080P_CMD_H_*/
