/*
 * arch/arm/mach-tegra/board-evitareul-panel.c
 *
 * Copyright (c) 2011-2012, NVIDIA Corporation.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/regulator/consumer.h>
#include <linux/resource.h>
#include <asm/mach-types.h>
#include <linux/platform_device.h>
#include <linux/earlysuspend.h>
#include <linux/tegra_pwm_bl.h>
#include <asm/atomic.h>
#include <linux/nvhost.h>
#include <linux/nvmap.h>
#include <mach/irqs.h>
#include <mach/iomap.h>
#include <mach/dc.h>
#include <mach/fb.h>
#include <mach/hardware.h>
#include <mach/panel_id.h>
#include <mach/board_htc.h>
#include "board.h"
#include "board-evitareul.h"
#include "devices.h"
#include "gpio-names.h"
#include "tegra3_host1x_devices.h"

#include <linux/disp_debug.h>
#include <linux/debugfs.h>

#define POWER_WAKEUP_ENR 7

#define DC_CTRL_MODE	TEGRA_DC_OUT_ONE_SHOT_MODE
/* Select panel to be used. */
#define AVDD_LCD PMU_TCA6416_GPIO_PORT17
#define DSI_PANEL_RESET 1

#define evitareul_lvds_shutdown	TEGRA_GPIO_PL2
#define evitareul_hdmi_hpd		TEGRA_GPIO_PN7

#define evitareul_dsi_panel_reset	TEGRA_GPIO_PW0

#define evitareul_lcd_2d_3d		TEGRA_GPIO_PH1
#define EVITAREUL_STEREO_3D		0
#define EVITAREUL_STEREO_2D		1

#define evitareul_lcd_swp_pl		TEGRA_GPIO_PH2
#define EVITAREUL_STEREO_LANDSCAPE	0
#define EVITAREUL_STEREO_PORTRAIT	1

#ifdef CONFIG_TEGRA_DC
static struct regulator *evitareul_dsi_reg = NULL;
static bool dsi_regulator_status = 0;
static struct regulator *evitareul_lcd_reg = NULL;
static struct regulator *v_lcm_3v = NULL;
static struct regulator *v_lcmio_1v8 = NULL;

static struct regulator *evitareul_hdmi_reg = NULL;
static struct regulator *evitareul_hdmi_pll = NULL;
static struct regulator *evitareul_hdmi_vddio = NULL;
#endif

#define LCM_ID0 	TEGRA_GPIO_PM0
#define LCM_ID1 	TEGRA_GPIO_PM1
#define LCM_TE		TEGRA_GPIO_PJ1
#define LCM_PWM 	TEGRA_GPIO_PW1
#define LCM_RST 	TEGRA_GPIO_PN6

#define MHL_INT         TEGRA_GPIO_PC7
#define MHL_USB_SEL     TEGRA_GPIO_PE0
#define MHL_1V2_EN      TEGRA_GPIO_PE4
#define MHL_RST         TEGRA_GPIO_PE6
#define MHL_HPD         TEGRA_GPIO_PN7
#define MHL_DDC_CLK     TEGRA_GPIO_PV4
#define MHL_DDC_DATA    TEGRA_GPIO_PV5
#define MHL_3V3_EN      TEGRA_GPIO_PY2

extern const int  gpio_to_pingroup[TEGRA_MAX_GPIO];

static struct workqueue_struct *bkl_wq;
static struct work_struct bkl_work;
static struct timer_list bkl_timer;

static int is_power_on = 0;

static struct gpio panel_init_gpios[] = {
    {LCM_TE,        GPIOF_IN,               "lcm_te"},
    {LCM_PWM,       GPIOF_OUT_INIT_LOW,     "pm0"},
    {LCM_RST,       GPIOF_OUT_INIT_HIGH,    "lcm reset"},
    {MHL_INT,       GPIOF_IN,               "mhl_int"},
    {MHL_1V2_EN,    GPIOF_OUT_INIT_HIGH,    "mhl_1v2_en"},
    {MHL_RST,       GPIOF_OUT_INIT_HIGH,    "mhl_rst"},
    {MHL_HPD,       GPIOF_IN,               "mhl_hpd"},
    {MHL_3V3_EN,    GPIOF_OUT_INIT_HIGH,    "mhl_3v3_en"},
};

static tegra_dc_bl_output evitareul_bl_output_measured_a02 = {
	1, 5, 9, 10, 11, 12, 12, 13,
	13, 14, 14, 15, 15, 16, 16, 17,
	17, 18, 18, 19, 19, 20, 21, 21,
	22, 22, 23, 24, 24, 25, 26, 26,
	27, 27, 28, 29, 29, 31, 31, 32,
	32, 33, 34, 35, 36, 36, 37, 38,
	39, 39, 40, 41, 41, 42, 43, 43,
	44, 45, 45, 46, 47, 47, 48, 49,
	49, 50, 51, 51, 52, 53, 53, 54,
	55, 56, 56, 57, 58, 59, 60, 61,
	61, 62, 63, 64, 65, 65, 66, 67,
	67, 68, 69, 69, 70, 71, 71, 72,
	73, 73, 74, 74, 75, 76, 76, 77,
	77, 78, 79, 79, 80, 81, 82, 83,
	83, 84, 85, 85, 86, 86, 88, 89,
	90, 91, 91, 92, 93, 93, 94, 95,
	95, 96, 97, 97, 98, 99, 99, 100,
	101, 101, 102, 103, 103, 104, 105, 105,
	107, 107, 108, 109, 110, 111, 111, 112,
	113, 113, 114, 115, 115, 116, 117, 117,
	118, 119, 119, 120, 121, 122, 123, 124,
	124, 125, 126, 126, 127, 128, 129, 129,
	130, 131, 131, 132, 133, 133, 134, 135,
	135, 136, 137, 137, 138, 139, 139, 140,
	142, 142, 143, 144, 145, 146, 147, 147,
	148, 149, 149, 150, 151, 152, 153, 153,
	153, 154, 155, 156, 157, 158, 158, 159,
	160, 161, 162, 163, 163, 164, 165, 165,
	166, 166, 167, 168, 169, 169, 170, 170,
	171, 172, 173, 173, 174, 175, 175, 176,
	176, 178, 178, 179, 180, 181, 182, 182,
	183, 184, 185, 186, 186, 187, 188, 188
};

static tegra_dc_bl_output evitareul_bl_output_measured_a03 = {
	0, 1, 2, 3, 4, 5, 6, 7,
	8, 9, 10, 12, 13, 14, 15, 16,
	17, 19, 20, 21, 22, 22, 23, 24,
	25, 26, 27, 28, 29, 29, 30, 32,
	33, 34, 35, 36, 38, 39, 40, 42,
	43, 44, 46, 47, 49, 50, 51, 52,
	53, 54, 55, 56, 57, 58, 59, 60,
	61, 63, 64, 66, 67, 69, 70, 71,
	72, 73, 74, 75, 76, 77, 78, 79,
	80, 81, 82, 83, 84, 84, 85, 86,
	87, 88, 89, 90, 91, 92, 93, 94,
	95, 96, 97, 98, 99, 100, 101, 102,
	103, 104, 105, 106, 107, 108, 109, 110,
	110, 111, 112, 113, 113, 114, 115, 116,
	116, 117, 118, 118, 119, 120, 121, 122,
	123, 124, 125, 126, 127, 128, 129, 130,
	130, 131, 132, 133, 134, 135, 136, 137,
	138, 139, 140, 141, 142, 143, 144, 145,
	146, 147, 148, 149, 150, 151, 152, 153,
	154, 155, 156, 157, 158, 159, 160, 160,
	161, 162, 163, 163, 164, 165, 165, 166,
	167, 168, 168, 169, 170, 171, 172, 173,
	174, 175, 176, 176, 177, 178, 179, 180,
	181, 182, 183, 184, 185, 186, 187, 188,
	189, 190, 191, 191, 192, 193, 194, 194,
	195, 196, 197, 197, 198, 199, 199, 200,
	202, 203, 205, 206, 208, 209, 211, 212,
	213, 215, 216, 218, 219, 220, 221, 222,
	223, 224, 225, 226, 227, 228, 229, 230,
	231, 232, 233, 234, 235, 236, 237, 238,
	239, 240, 241, 243, 244, 245, 247, 248,
	250, 251, 251, 252, 253, 254, 254, 255,
};

static atomic_t sd_brightness = ATOMIC_INIT(255);

/*global varible for work around*/
static bool g_display_on = true;

static p_tegra_dc_bl_output bl_output;

static bool kernel_1st_panel_init = true;

#define BACKLIGHT_MAX 255

#define ORIG_PWM_MAX 255
#define ORIG_PWM_DEF 142
#define ORIG_PWM_MIN 30

#define MAP_PWM_MAX     255
#define MAP_PWM_DEF     78
#define MAP_PWM_MIN     7

#define MAP_PWM_LOW_DEF         79
#define MAP_PWM_HIGH_DEF        102

static int max_pwm = MAP_PWM_MAX;
static int def_pwm = MAP_PWM_DEF;
static int min_pwm = MAP_PWM_MIN;

static unsigned char shrink_pwm(int val)
{
	unsigned char shrink_br;

	/* define line segments for Endeavor */
	if (val <= ORIG_PWM_MIN)
		shrink_br = min_pwm;
	else if (val > ORIG_PWM_MIN && val <= ORIG_PWM_DEF)
		shrink_br = min_pwm +
			(val-ORIG_PWM_MIN)*(def_pwm-min_pwm)/(ORIG_PWM_DEF-ORIG_PWM_MIN);
	else
	shrink_br = def_pwm +
	(val-ORIG_PWM_DEF)*(max_pwm-def_pwm)/(ORIG_PWM_MAX-ORIG_PWM_DEF);

	//pr_info("brightness orig = %d, transformed=%d\n", val, shrink_br);

	return shrink_br;
}

static int evitareul_backlight_notify(struct device *unused, int brightness)
{
	int cur_sd_brightness = atomic_read(&sd_brightness);

	if (brightness > 0)
		brightness = shrink_pwm(brightness);

	return brightness;
}

static int evitareul_disp1_check_fb(struct device *dev, struct fb_info *info);

/*
 * In case which_pwm is TEGRA_PWM_PM0,
 * gpio_conf_to_sfio should be TEGRA_GPIO_PW0: set LCD_CS1_N pin to SFIO
 * In case which_pwm is TEGRA_PWM_PM1,
 * gpio_conf_to_sfio should be TEGRA_GPIO_PW1: set LCD_M1 pin to SFIO
 */
static struct platform_tegra_pwm_backlight_data evitareul_disp1_backlight_data = {
	.which_dc		= 0,
	.which_pwm		= TEGRA_PWM_PM1,
	.gpio_conf_to_sfio	= TEGRA_GPIO_PW1,
	.switch_to_sfio		= &tegra_gpio_disable,
	.max_brightness		= 255,
	.dft_brightness		= 142,
	.notify		= evitareul_backlight_notify,
	.period			= 0xFF,
	.clk_div		= 20,
	.clk_select		= 0,
	.backlight_mode = MIPI_BACKLIGHT,	//Set MIPI_BACKLIGHT as default
	/* Only toggle backlight on fb blank notifications for disp1 */
	.check_fb	= evitareul_disp1_check_fb,
	.backlight_status	= BACKLIGHT_ENABLE,
	.cam_launch_bkl_value = 181,
	.dimming_off_cmd = NULL,
	.n_dimming_off_cmd = NULL,
};

static struct platform_device evitareul_disp1_backlight_device = {
	.name	= "tegra-pwm-bl",
	.id	= -1,
	.dev	= {
		.platform_data = &evitareul_disp1_backlight_data,
	},
};

#ifdef CONFIG_TEGRA_DC
static int evitareul_hdmi_vddio_enable(void)
{
	return 0;
}

static int evitareul_hdmi_vddio_disable(void)
{
	return 0;
}

static int evitareul_hdmi_enable(void)
{
	REGULATOR_GET(evitareul_hdmi_reg, "avdd_hdmi");
	regulator_enable(evitareul_hdmi_reg);

	REGULATOR_GET(evitareul_hdmi_pll, "avdd_hdmi_pll");
	regulator_enable(evitareul_hdmi_pll);

failed:
	return 0;
}

static int evitareul_hdmi_disable(void)
{

	regulator_disable(evitareul_hdmi_reg);
	regulator_put(evitareul_hdmi_reg);
	evitareul_hdmi_reg = NULL;

	regulator_disable(evitareul_hdmi_pll);
	regulator_put(evitareul_hdmi_pll);
	evitareul_hdmi_pll = NULL;

	return 0;
}
static struct resource evitareul_disp1_resources[] = {
	{
		.name	= "irq",
		.start	= INT_DISPLAY_GENERAL,
		.end	= INT_DISPLAY_GENERAL,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.name	= "regs",
		.start	= TEGRA_DISPLAY_BASE,
		.end	= TEGRA_DISPLAY_BASE + TEGRA_DISPLAY_SIZE-1,
		.flags	= IORESOURCE_MEM,
	},
	{
		.name	= "fbmem",
		.start	= 0,	/* Filled in by evitareul_panel_init() */
		.end	= 0,	/* Filled in by evitareul_panel_init() */
		.flags	= IORESOURCE_MEM,
	},
	{
		.name	= "dsi_regs",
		.start	= TEGRA_DSI_BASE,
		.end	= TEGRA_DSI_BASE + TEGRA_DSI_SIZE - 1,
		.flags	= IORESOURCE_MEM,
	},
};

static struct resource evitareul_disp2_resources[] = {
	{
		.name	= "irq",
		.start	= INT_DISPLAY_B_GENERAL,
		.end	= INT_DISPLAY_B_GENERAL,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.name	= "regs",
		.start	= TEGRA_DISPLAY2_BASE,
		.end	= TEGRA_DISPLAY2_BASE + TEGRA_DISPLAY2_SIZE - 1,
		.flags	= IORESOURCE_MEM,
	},
#if 0
	{
		.name	= "fbmem",
		.flags	= IORESOURCE_MEM,
		.start	= 0,
		.end	= 0,
	},
#endif
	{
		.name	= "hdmi_regs",
		.start	= TEGRA_HDMI_BASE,
		.end	= TEGRA_HDMI_BASE + TEGRA_HDMI_SIZE - 1,
		.flags	= IORESOURCE_MEM,
	},
};

static struct tegra_dc_sd_settings evitareul_sd_settings = {
	.enable = 0, /* Normal mode operation */
	.bl_device = &evitareul_disp1_backlight_device,
};

static struct tegra_fb_data evitareul_hdmi_fb_data = {
	.win		= 0,
	.xres		= 1280,
	.yres		= 720,
	.bits_per_pixel	= 32,
	.flags		= TEGRA_FB_FLIP_ON_PROBE,
};

static struct tegra_dc_out evitareul_disp2_out = {
	.type		= TEGRA_DC_OUT_HDMI,
	.flags		= TEGRA_DC_OUT_HOTPLUG_HIGH,
	.parent_clk	= "pll_d2_out0",

	.dcc_bus	= 3,
	.hotplug_gpio	= evitareul_hdmi_hpd,

	.max_pixclock	= KHZ2PICOS(148500),

	.align		= TEGRA_DC_ALIGN_MSB,
	.order		= TEGRA_DC_ORDER_RED_BLUE,

	.enable		= evitareul_hdmi_enable,
	.disable	= evitareul_hdmi_disable,
	.postsuspend	= evitareul_hdmi_vddio_disable,
	.hotplug_init	= evitareul_hdmi_vddio_enable,
};

static struct tegra_dc_platform_data evitareul_disp2_pdata = {
	.flags		= TEGRA_DC_FLAG_ENABLED,
	.default_out	= &evitareul_disp2_out,
	.fb		= &evitareul_hdmi_fb_data,
	.emc_clk_rate	= 300000000,
};

static int evitareul_dsi_panel_enable(void)
{
	/*TODO the power-on sequence move to bridge_reset*/
	return 0;
}

static int bridge_reset(void)
{
	int err = 0;

	DISP_INFO_IN();

	if (is_power_on) {
		DISP_INFO_LN("is_power_on:%d\n", is_power_on);
		return 0;
	}

	/*TODO delay for DSI hardware stable*/
	hr_msleep(10);

	/*change LCM_TE to SFIO(NP) & LCM_PWM to SFIO
	 *set LCM_ID0 and ID1 to I(NP)*/
	//tegra_gpio_disable(LCM_PWM);
	gpio_direction_input(LCM_ID0);
	gpio_direction_input(LCM_ID1);
	tegra_pinmux_set_pullupdown(gpio_to_pingroup[LCM_ID0],  TEGRA_PUPD_NORMAL);
	tegra_pinmux_set_pullupdown(gpio_to_pingroup[LCM_ID1],  TEGRA_PUPD_NORMAL);
	tegra_pinmux_set_pullupdown(gpio_to_pingroup[LCM_TE],  TEGRA_PUPD_NORMAL);
	tegra_gpio_disable(LCM_TE);

	/*TODO: workaround to prevent panel off during dc_probe, remove it later*/
	if(g_display_on)
	{
		REGULATOR_GET(evitareul_dsi_reg, "avdd_dsi_csi");
		regulator_enable(evitareul_dsi_reg);

		REGULATOR_GET(v_lcm_3v, "v_lcm_3v");
		REGULATOR_GET(v_lcmio_1v8, "v_lcmio_1v8");

		regulator_enable(v_lcmio_1v8);
		regulator_enable(v_lcm_3v);

		DISP_INFO_LN("Workaround for first panel init sequence\n");
		goto success;
		return 0;
	}

	REGULATOR_GET(evitareul_dsi_reg, "avdd_dsi_csi");
	regulator_enable(evitareul_dsi_reg);

	REGULATOR_GET(v_lcm_3v, "v_lcm_3v");
	REGULATOR_GET(v_lcmio_1v8, "v_lcmio_1v8");

	/*LCD_RST pull low*/
	gpio_set_value(LCM_RST, 0);
	hr_msleep(5);
	/*Turn on LCMIO_1V8_EN*/
	regulator_enable(v_lcmio_1v8);
	hr_msleep(1);
	/*Turn on LCMIO_3V3_EN*/
	regulator_enable(v_lcm_3v);
	hr_msleep(20);

	gpio_set_value(LCM_RST, 1);
	hr_msleep(13);
failed:
success:
	is_power_on = 1;
	DISP_INFO_LN("is_power_on:%d\n", is_power_on);
	DISP_INFO_OUT();

	return err;
}

static int ic_reset(void)
{
	int err = 0;

	DISP_INFO_IN();

	if(g_display_on) {
		g_display_on = false;
		DISP_INFO_LN("Workaround for first panel init sequence\n");
		goto success;
		return 0;
	}
	hr_msleep(2);
	gpio_set_value(LCM_RST, 0);
	hr_msleep(1);
	gpio_set_value(LCM_RST, 1);
	hr_msleep(25);

success:
	DISP_INFO_OUT();
	return err;
}

static int evitareul_dsi_panel_disable(void)
{
	int err = 0;

	if (!is_power_on) {
		DISP_INFO_LN("is_power_on:%d\n", is_power_on);
		return 0;
	}

	DISP_INFO_IN();
	gpio_set_value(LCM_RST, 0);
	hr_msleep(12);

	REGULATOR_GET(v_lcm_3v, "v_lcm_3v");
	regulator_disable(v_lcm_3v);
	hr_msleep(5);

	REGULATOR_GET(v_lcmio_1v8, "v_lcmio_1v8");
	regulator_disable(v_lcmio_1v8);


	REGULATOR_GET(evitareul_dsi_reg, "avdd_dsi_csi");
	regulator_disable(evitareul_dsi_reg);

	/*change LCM_TE to GPIO I(PD) & LCM_PWM to GPIO
	 *set LCM_ID0 and ID1 to O(L)*/
	//tegra_gpio_enable(LCM_PWM);
	gpio_direction_output(LCM_ID0, 0);
	gpio_direction_output(LCM_ID1, 0);
	tegra_gpio_enable(LCM_TE);
	tegra_pinmux_set_pullupdown(gpio_to_pingroup[LCM_TE],  TEGRA_PUPD_PULL_DOWN);

	is_power_on = 0;
	DISP_INFO_LN("is_power_on:%d\n", is_power_on);
failed:

	DISP_INFO_OUT();

	return err;
}
#endif

static void evitareul_stereo_set_mode(int mode)
{
	switch (mode) {
	case TEGRA_DC_STEREO_MODE_2D:
		/*gpio_set_value(TEGRA_GPIO_PH1, EVITAREUL_STEREO_2D);*/
		break;
	case TEGRA_DC_STEREO_MODE_3D:
		/*gpio_set_value(TEGRA_GPIO_PH1, EVITAREUL_STEREO_3D);*/
		break;
	}
}

static void evitareul_stereo_set_orientation(int mode)
{
	switch (mode) {
	case TEGRA_DC_STEREO_LANDSCAPE:
		/*gpio_set_value(TEGRA_GPIO_PH2, EVITAREUL_STEREO_LANDSCAPE);*/
		break;
	case TEGRA_DC_STEREO_PORTRAIT:
		/*gpio_set_value(TEGRA_GPIO_PH2, EVITAREUL_STEREO_PORTRAIT);*/
		break;
	}
}

#ifdef CONFIG_TEGRA_DC
static int evitareul_dsi_panel_postsuspend(void)
{
	int err = 0;

	return err;
}
#endif

/*  --- CABC command for switching still/moving mode  ---*/
static u8 hx_moving_mode[] = { 0xCA, 0x2D, 0x27, 0x26, 0x25, 0x25, 0x25, 0x21, 0x20, 0x20};
static u8 hx_still_mode[]  = { 0xCA, 0x40, 0x3C, 0x38, 0x34, 0x33, 0x32, 0x2D, 0x24, 0x20};
static struct tegra_dsi_cmd hx_moving_mode_cmd[]= {
	DSI_CMD_LONG(0x39, hx_moving_mode),
};
static struct tegra_dsi_cmd hx_still_mode_cmd[]= {
	DSI_CMD_LONG(0x39, hx_still_mode),
};

static struct tegra_dsi_cmd nt_moving_mode_cmd[] = {
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x05, 0x2D),
	DSI_CMD_SHORT(0x15, 0x21, 0xFF),
	DSI_CMD_SHORT(0x15, 0x22, 0xF7),
	DSI_CMD_SHORT(0x15, 0x23, 0xEF),
	DSI_CMD_SHORT(0x15, 0x24, 0xE7),
	DSI_CMD_SHORT(0x15, 0x25, 0xDF),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_DLY_MS(20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x26, 0xD7),
	DSI_CMD_SHORT(0x15, 0x27, 0xCF),
	DSI_CMD_SHORT(0x15, 0x28, 0xC7),
	DSI_CMD_SHORT(0x15, 0x29, 0xBF),
	DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
};

static struct tegra_dsi_cmd nt_still_mode_cmd[] = {
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x05, 0x2D),
	DSI_CMD_SHORT(0x15, 0x21, 0xFF),
	DSI_CMD_SHORT(0x15, 0x22, 0xF1),
	DSI_CMD_SHORT(0x15, 0x23, 0xE0),
	DSI_CMD_SHORT(0x15, 0x24, 0xCE),
	DSI_CMD_SHORT(0x15, 0x25, 0xBE),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_DLY_MS(20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x26, 0xAD),
	DSI_CMD_SHORT(0x15, 0x27, 0x9C),
	DSI_CMD_SHORT(0x15, 0x28, 0x8A),
	DSI_CMD_SHORT(0x15, 0x29, 0x78),
	DSI_CMD_SHORT(0x15, 0x2A, 0x66),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
};
/*  --- -------------------------------------------  ---*/

/* ----------  CABC cmd for dimming on/off  ------------ */
static struct tegra_dsi_cmd dimming_on_cmd[] = {
	DSI_CMD_SHORT(0x15, 0x53, 0x2C),
};

static u8 dimming_off_cmd[] = {0x53,0x24,0x51,0x00};

/* ----------------------------------------------------- */

/*initial command for sharp panel*/
static u8 init_cmd[] = {0xB9,0xFF,0x83,0x92};
static u8 eq_cmd[] = {0xD5,0x00,0x00,0x02};
static u8 ptbf_cmd[] = {0xBF,0x05,0x60,0x02};
static u8 pwm_freq_hx[] = {0xC9,0x1F,0x01};
static u8 porch[] = {0x3B,0x03,0x03,0x07,0x02,0x02};
static u8 flash_issue[] = {0xC6,0x35,0x00,0x00,0x04};
static u8 dsi_set[] = {0xBA,0x11,0x83,0x00,0xD6,0xC6,0x00,0x0A};
static u8 stba[] = {0xC0,0x01,0x94};
static u8 gamma_pwr[] = {0xB1,0x7C,0x00,0x44,0x26,0x00,0x0E,0x0E,0x27,0x1E,0x23,0x1B,0x42,0x72};
static u8 ltps[] = {0xB4, 0x00, 0x00, 0x05, 0x00, 0xA1, 0x05, 0x06, 0x92, 0x00, 0x01, 0x06, 0x00, 0x02, 0x02, 0x00, 0x1D, 0x08, 0x0D, 0x0D, 0x01, 0x00, 0x07, 0x7A};
static u8 gamma_r[] = {0xE0,0x24,0x2B,0x26,0x21,0x20,0x36,0x27,0x3E,0x06,0x09,0x0F,0x12,0x15,0x18,0x13,0x0B,0x16,0x24,0x28,0x2A,0x2F,0x29,0x3D,0x28,0x42,0x05,0x0E,0x0D,0x10,0x13,0x0F,0x13,0x0C,0x17};

static u8 gamma_g[] = {0xE1,0x1A,0x21,0x23,0x26,0x25,0x37,0x25,0x3D,0x04,0x09,0x0F,0x13,0x15,0x14,0x15,0x0B,0x15,0x1C,0x24,0x26,0x2E,0x2D,0x3E,0x26,0x41,0x04,0x0B,0x0E,0x11,0x14,0x13,0x14,0x0A,0x15};

static u8 gamma_b[] = {0xE2,0x00,0x10,0x12,0x2F,0x36,0x37,0x20,0x3E,0x07,0x0C,0x10,0x14,0x16,0x15,0x14,0x08,0x10,0x00,0x10,0x14,0x37,0x3F,0x3E,0x21,0x41,0x07,0x0D,0x0F,0x12,0x16,0x15,0x14,0x09,0x10};
static u8 ce_de[] = {0xE5,0x00,0x04,0x0B,0x05,0x05,0x00,0x80,0x20,0x80,0x10,0x00,0x07,0x07,0x07,0x07,0x07,0x80,0x0A};
static u8 cabc[] = {0xCA,0x2D,0x27,0x26,0x25,0x25,0x25,0x21,0x20,0x20};
static u8 pwm_setting[] = {0xC9,0x1F,0x01,0x1E,0x3F,0x00,0x80};
static u8 data_gain[] = {0xCE,0x15,0x15,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x00};

static struct tegra_dsi_cmd osc_off_cmd[]= {
	DSI_DLY_MS(2),
	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x26, 0x08),
	DSI_DLY_MS(1),
};

static struct tegra_dsi_cmd osc_on_cmd[]= {
	DSI_CMD_SHORT(0x15, 0x26, 0x00),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
};

static struct tegra_dsi_cmd dsi_init_sharp_hx_c3_cmd[]= {
	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),
	DSI_CMD_LONG(0x39, init_cmd),
	DSI_CMD_SHORT(0x15, 0xD4, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0x11),
	DSI_CMD_LONG(0x39, eq_cmd),
	DSI_CMD_LONG(0x39, ptbf_cmd),
	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	DSI_CMD_LONG(0x39, pwm_freq_hx),
	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x5E, 0x07),
};

static struct tegra_dsi_cmd dsi_init_sharp_hx_c4_cmd[]= {
	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),
	DSI_CMD_LONG(0x39, init_cmd),
	DSI_CMD_SHORT(0x15, 0xD4, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0x11),
	DSI_CMD_LONG(0x39, flash_issue),
	DSI_CMD_LONG(0x39, eq_cmd),
	DSI_CMD_LONG(0x39, ptbf_cmd),
	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	DSI_CMD_LONG(0x39, pwm_freq_hx),
	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x5E, 0x07),
};

static struct tegra_dsi_cmd dsi_init_sharp_hx_c5_cmd[]= {
	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),
	DSI_CMD_LONG(0x39, init_cmd),
	DSI_CMD_SHORT(0x15, 0xD4, 0x00),
	DSI_CMD_LONG(0x39, dsi_set),
	DSI_CMD_LONG(0x39, stba),
	DSI_CMD_LONG(0x39, gamma_pwr),
	DSI_CMD_LONG(0x39, ltps),
	DSI_CMD_LONG(0x39, gamma_r),
	DSI_CMD_LONG(0x39, gamma_g),
	DSI_CMD_LONG(0x39, gamma_b),
	DSI_CMD_LONG(0x39, flash_issue),
	DSI_CMD_LONG(0x39, eq_cmd),
	DSI_CMD_LONG(0x39, ptbf_cmd),
	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	DSI_CMD_SHORT(0x15, 0xE3, 0x01),
	DSI_CMD_LONG(0x39, ce_de),
	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x55, 0x03),
	DSI_CMD_SHORT(0x15, 0x5E, 0x07),
	DSI_DLY_MS(5),
	DSI_CMD_LONG(0x39, cabc),
	DSI_CMD_LONG(0x39, pwm_setting),
	DSI_CMD_LONG(0x39, data_gain),

};

static struct tegra_dsi_cmd dsi_init_sony_nt_c1_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	/*this is porch setting for video mode
	DSI_CMD_LONG(0x39, porch),
	*/
	/*color enhancement 2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x03),
	DSI_CMD_SHORT(0x15, 0xFE, 0x08),
	DSI_CMD_SHORT(0x15, 0x18, 0x00),
	DSI_CMD_SHORT(0x15, 0x19, 0x00),
	DSI_CMD_SHORT(0x15, 0x1A, 0x00),
	DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),

        DSI_CMD_SHORT(0x05, 0x11, 0x00),
        DSI_DLY_MS(125),

	/*gamma2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0x01, 0x33),
	DSI_CMD_SHORT(0x15, 0x02, 0x53),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x72),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0x7F),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0x93),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0xA5),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0xB5),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xC4),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xD2),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xDF),
	DSI_CMD_SHORT(0x15, 0x85, 0x00),
	DSI_CMD_SHORT(0x15, 0x86, 0xEB),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x14),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x35),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0x6C),
	DSI_CMD_SHORT(0x15, 0x8D, 0x01),
	DSI_CMD_SHORT(0x15, 0x8E, 0x99),
	DSI_CMD_SHORT(0x15, 0x8F, 0x01),
	DSI_CMD_SHORT(0x15, 0x90, 0xDE),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x17),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x19),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0x4B),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0x80),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xA1),
	DSI_CMD_SHORT(0x15, 0x9B, 0x02),
	DSI_CMD_SHORT(0x15, 0x9C, 0xCE),
	DSI_CMD_SHORT(0x15, 0x9D, 0x02),
	DSI_CMD_SHORT(0x15, 0x9E, 0xED),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x1A),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x28),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x38),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x4B),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x61),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0x7E),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0xAC),
	DSI_CMD_SHORT(0x15, 0xAF, 0x03),
	DSI_CMD_SHORT(0x15, 0xB0, 0xE4),
	DSI_CMD_SHORT(0x15, 0xB1, 0x03),
	DSI_CMD_SHORT(0x15, 0xB2, 0xFF),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0x72),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0x7F),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0x93),
	DSI_CMD_SHORT(0x15, 0xB9, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0xA5),
	DSI_CMD_SHORT(0x15, 0xBB, 0x00),
	DSI_CMD_SHORT(0x15, 0xBC, 0xB5),
	DSI_CMD_SHORT(0x15, 0xBD, 0x00),
	DSI_CMD_SHORT(0x15, 0xBE, 0xC4),
	DSI_CMD_SHORT(0x15, 0xBF, 0x00),
	DSI_CMD_SHORT(0x15, 0xC0, 0xD2),
	DSI_CMD_SHORT(0x15, 0xC1, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0xDF),
	DSI_CMD_SHORT(0x15, 0xC3, 0x00),
	DSI_CMD_SHORT(0x15, 0xC4, 0xEB),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x14),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x35),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0x6C),
	DSI_CMD_SHORT(0x15, 0xCB, 0x01),
	DSI_CMD_SHORT(0x15, 0xCC, 0x99),
	DSI_CMD_SHORT(0x15, 0xCD, 0x01),
	DSI_CMD_SHORT(0x15, 0xCE, 0xDE),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x17),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x19),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0x4B),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0x80),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xA1),
	DSI_CMD_SHORT(0x15, 0xD9, 0x02),
	DSI_CMD_SHORT(0x15, 0xDA, 0xCE),
	DSI_CMD_SHORT(0x15, 0xDB, 0x02),
	DSI_CMD_SHORT(0x15, 0xDC, 0xED),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x1A),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x28),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x38),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x4B),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x61),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0x7E),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xAC),
	DSI_CMD_SHORT(0x15, 0xEB, 0x03),
	DSI_CMD_SHORT(0x15, 0xEC, 0xE4),
	DSI_CMD_SHORT(0x15, 0xED, 0x03),
	DSI_CMD_SHORT(0x15, 0xEE, 0xFF),
	DSI_CMD_SHORT(0x15, 0xEF, 0x00),
	DSI_CMD_SHORT(0x15, 0xF0, 0x72),
	DSI_CMD_SHORT(0x15, 0xF1, 0x00),
	DSI_CMD_SHORT(0x15, 0xF2, 0x7F),
	DSI_CMD_SHORT(0x15, 0xF3, 0x00),
	DSI_CMD_SHORT(0x15, 0xF4, 0x93),
	DSI_CMD_SHORT(0x15, 0xF5, 0x00),
	DSI_CMD_SHORT(0x15, 0xF6, 0xA6),
	DSI_CMD_SHORT(0x15, 0xF7, 0x00),
	DSI_CMD_SHORT(0x15, 0xF8, 0xB7),
	DSI_CMD_SHORT(0x15, 0xF9, 0x00),
	DSI_CMD_SHORT(0x15, 0xFA, 0xC7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0xD6),
	DSI_CMD_SHORT(0x15, 0x02, 0x00),
	DSI_CMD_SHORT(0x15, 0x03, 0xE3),
	DSI_CMD_SHORT(0x15, 0x04, 0x00),
	DSI_CMD_SHORT(0x15, 0x05, 0xEF),
	DSI_CMD_SHORT(0x15, 0x06, 0x01),
	DSI_CMD_SHORT(0x15, 0x07, 0x19),
	DSI_CMD_SHORT(0x15, 0x08, 0x01),
	DSI_CMD_SHORT(0x15, 0x09, 0x3A),
	DSI_CMD_SHORT(0x15, 0x0A, 0x01),
	DSI_CMD_SHORT(0x15, 0x0B, 0x6F),
	DSI_CMD_SHORT(0x15, 0x0C, 0x01),
	DSI_CMD_SHORT(0x15, 0x0D, 0x9C),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0xE2),
	DSI_CMD_SHORT(0x15, 0x10, 0x02),
	DSI_CMD_SHORT(0x15, 0x11, 0x19),
	DSI_CMD_SHORT(0x15, 0x12, 0x02),
	DSI_CMD_SHORT(0x15, 0x13, 0x1B),
	DSI_CMD_SHORT(0x15, 0x14, 0x02),
	DSI_CMD_SHORT(0x15, 0x15, 0x4C),
	DSI_CMD_SHORT(0x15, 0x16, 0x02),
	DSI_CMD_SHORT(0x15, 0x17, 0x80),
	DSI_CMD_SHORT(0x15, 0x18, 0x02),
	DSI_CMD_SHORT(0x15, 0x19, 0x9F),
	DSI_CMD_SHORT(0x15, 0x1A, 0x02),
	DSI_CMD_SHORT(0x15, 0x1B, 0xCB),
	DSI_CMD_SHORT(0x15, 0x1C, 0x02),
	DSI_CMD_SHORT(0x15, 0x1D, 0xE9),
	DSI_CMD_SHORT(0x15, 0x1E, 0x03),
	DSI_CMD_SHORT(0x15, 0x1F, 0x12),
	DSI_CMD_SHORT(0x15, 0x20, 0x03),
	DSI_CMD_SHORT(0x15, 0x21, 0x1F),
	DSI_CMD_SHORT(0x15, 0x22, 0x03),
	DSI_CMD_SHORT(0x15, 0x23, 0x2D),
	DSI_CMD_SHORT(0x15, 0x24, 0x03),
	DSI_CMD_SHORT(0x15, 0x25, 0x3D),
	DSI_CMD_SHORT(0x15, 0x26, 0x03),
	DSI_CMD_SHORT(0x15, 0x27, 0x4E),
	DSI_CMD_SHORT(0x15, 0x28, 0x03),
	DSI_CMD_SHORT(0x15, 0x29, 0x61),
	DSI_CMD_SHORT(0x15, 0x2A, 0x03),
	DSI_CMD_SHORT(0x15, 0x2B, 0x8F),
	DSI_CMD_SHORT(0x15, 0x2D, 0x03),
	DSI_CMD_SHORT(0x15, 0x2F, 0xDA),
	DSI_CMD_SHORT(0x15, 0x30, 0x03),
	DSI_CMD_SHORT(0x15, 0x31, 0xFF),
	DSI_CMD_SHORT(0x15, 0x32, 0x00),
	DSI_CMD_SHORT(0x15, 0x33, 0x72),
	DSI_CMD_SHORT(0x15, 0x34, 0x00),
	DSI_CMD_SHORT(0x15, 0x35, 0x7F),
	DSI_CMD_SHORT(0x15, 0x36, 0x00),
	DSI_CMD_SHORT(0x15, 0x37, 0x93),
	DSI_CMD_SHORT(0x15, 0x38, 0x00),
	DSI_CMD_SHORT(0x15, 0x39, 0xA6),
	DSI_CMD_SHORT(0x15, 0x3A, 0x00),
	DSI_CMD_SHORT(0x15, 0x3B, 0xB7),
	DSI_CMD_SHORT(0x15, 0x3D, 0x00),
	DSI_CMD_SHORT(0x15, 0x3F, 0xC7),
	DSI_CMD_SHORT(0x15, 0x40, 0x00),
	DSI_CMD_SHORT(0x15, 0x41, 0xD6),
	DSI_CMD_SHORT(0x15, 0x42, 0x00),
	DSI_CMD_SHORT(0x15, 0x43, 0xE3),
	DSI_CMD_SHORT(0x15, 0x44, 0x00),
	DSI_CMD_SHORT(0x15, 0x45, 0xEF),
	DSI_CMD_SHORT(0x15, 0x46, 0x01),
	DSI_CMD_SHORT(0x15, 0x47, 0x19),
	DSI_CMD_SHORT(0x15, 0x48, 0x01),
	DSI_CMD_SHORT(0x15, 0x49, 0x3A),
	DSI_CMD_SHORT(0x15, 0x4A, 0x01),
	DSI_CMD_SHORT(0x15, 0x4B, 0x6F),
	DSI_CMD_SHORT(0x15, 0x4C, 0x01),
	DSI_CMD_SHORT(0x15, 0x4D, 0x9C),
	DSI_CMD_SHORT(0x15, 0x4E, 0x01),
	DSI_CMD_SHORT(0x15, 0x4F, 0xE2),
	DSI_CMD_SHORT(0x15, 0x50, 0x02),
	DSI_CMD_SHORT(0x15, 0x51, 0x19),
	DSI_CMD_SHORT(0x15, 0x52, 0x02),
	DSI_CMD_SHORT(0x15, 0x53, 0x1B),
	DSI_CMD_SHORT(0x15, 0x54, 0x02),
	DSI_CMD_SHORT(0x15, 0x55, 0x4C),
	DSI_CMD_SHORT(0x15, 0x56, 0x02),
	DSI_CMD_SHORT(0x15, 0x58, 0x80),
	DSI_CMD_SHORT(0x15, 0x59, 0x02),
	DSI_CMD_SHORT(0x15, 0x5A, 0x9F),
	DSI_CMD_SHORT(0x15, 0x5B, 0x02),
	DSI_CMD_SHORT(0x15, 0x5C, 0xCB),
	DSI_CMD_SHORT(0x15, 0x5D, 0x02),
	DSI_CMD_SHORT(0x15, 0x5E, 0xE9),
	DSI_CMD_SHORT(0x15, 0x5F, 0x03),
	DSI_CMD_SHORT(0x15, 0x60, 0x12),
	DSI_CMD_SHORT(0x15, 0x61, 0x03),
	DSI_CMD_SHORT(0x15, 0x62, 0x1F),
	DSI_CMD_SHORT(0x15, 0x63, 0x03),
	DSI_CMD_SHORT(0x15, 0x64, 0x2D),
	DSI_CMD_SHORT(0x15, 0x65, 0x03),
	DSI_CMD_SHORT(0x15, 0x66, 0x3D),
	DSI_CMD_SHORT(0x15, 0x67, 0x03),
	DSI_CMD_SHORT(0x15, 0x68, 0x4E),
	DSI_CMD_SHORT(0x15, 0x69, 0x03),
	DSI_CMD_SHORT(0x15, 0x6A, 0x61),
	DSI_CMD_SHORT(0x15, 0x6B, 0x03),
	DSI_CMD_SHORT(0x15, 0x6C, 0x8F),
	DSI_CMD_SHORT(0x15, 0x6D, 0x03),
	DSI_CMD_SHORT(0x15, 0x6E, 0xDA),
	DSI_CMD_SHORT(0x15, 0x6F, 0x03),
	DSI_CMD_SHORT(0x15, 0x70, 0xFF),
	DSI_CMD_SHORT(0x15, 0x71, 0x00),
	DSI_CMD_SHORT(0x15, 0x72, 0x00),
	DSI_CMD_SHORT(0x15, 0x73, 0x00),
	DSI_CMD_SHORT(0x15, 0x74, 0x1C),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x3F),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0x5E),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0x78),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0x90),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0xA4),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xB6),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xC6),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xF7),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x1B),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x56),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x8A),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0xD3),
	DSI_CMD_SHORT(0x15, 0x8D, 0x02),
	DSI_CMD_SHORT(0x15, 0x8E, 0x12),
	DSI_CMD_SHORT(0x15, 0x8F, 0x02),
	DSI_CMD_SHORT(0x15, 0x90, 0x13),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x46),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x7D),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0x9C),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0xC7),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xE5),
	DSI_CMD_SHORT(0x15, 0x9B, 0x03),
	DSI_CMD_SHORT(0x15, 0x9C, 0x0F),
	DSI_CMD_SHORT(0x15, 0x9D, 0x03),
	DSI_CMD_SHORT(0x15, 0x9E, 0x1C),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x2B),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x3B),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x4C),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x5E),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x8E),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0xDA),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0xFF),
	DSI_CMD_SHORT(0x15, 0xAF, 0x00),
	DSI_CMD_SHORT(0x15, 0xB0, 0x00),
	DSI_CMD_SHORT(0x15, 0xB1, 0x00),
	DSI_CMD_SHORT(0x15, 0xB2, 0x1C),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0x3F),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0x5E),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0x78),
	DSI_CMD_SHORT(0x15, 0xB9, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0x90),
	DSI_CMD_SHORT(0x15, 0xBB, 0x00),
	DSI_CMD_SHORT(0x15, 0xBC, 0xA4),
	DSI_CMD_SHORT(0x15, 0xBD, 0x00),
	DSI_CMD_SHORT(0x15, 0xBE, 0xB6),
	DSI_CMD_SHORT(0x15, 0xBF, 0x00),
	DSI_CMD_SHORT(0x15, 0xC0, 0xC6),
	DSI_CMD_SHORT(0x15, 0xC1, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0xF7),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x1B),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x56),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x8A),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0xD3),
	DSI_CMD_SHORT(0x15, 0xCB, 0x02),
	DSI_CMD_SHORT(0x15, 0xCC, 0x12),
	DSI_CMD_SHORT(0x15, 0xCD, 0x02),
	DSI_CMD_SHORT(0x15, 0xCE, 0x13),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x46),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x7D),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0x9C),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0xC7),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xE5),
	DSI_CMD_SHORT(0x15, 0xD9, 0x03),
	DSI_CMD_SHORT(0x15, 0xDA, 0x0F),
	DSI_CMD_SHORT(0x15, 0xDB, 0x03),
	DSI_CMD_SHORT(0x15, 0xDC, 0x1C),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x2B),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x3B),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x4C),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x5E),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x8E),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0xDA),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xFF),
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x8E),
	DSI_CMD_SHORT(0x15, 0x03, 0x8E),
	DSI_CMD_SHORT(0x15, 0x04, 0x8E),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x46, 0x00),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

	/*CABC setting*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x05, 0x2D),
	DSI_CMD_SHORT(0x15, 0x21, 0xFF),
	DSI_CMD_SHORT(0x15, 0x22, 0xF7),
	DSI_CMD_SHORT(0x15, 0x23, 0xEF),
	DSI_CMD_SHORT(0x15, 0x24, 0xE7),
	DSI_CMD_SHORT(0x15, 0x25, 0xDF),
	DSI_CMD_SHORT(0x15, 0x26, 0xD7),
	DSI_CMD_SHORT(0x15, 0x27, 0xCF),
	DSI_CMD_SHORT(0x15, 0x28, 0xC7),
	DSI_CMD_SHORT(0x15, 0x29, 0xBF),
	DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x55, 0x83),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_init_sony_nt_c2_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	/*this is porch setting for video mode
	DSI_CMD_LONG(0x39, porch),
	*/
	/*color enhancement 2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x03),
	DSI_CMD_SHORT(0x15, 0xFE, 0x08),
	DSI_CMD_SHORT(0x15, 0x18, 0x00),
	DSI_CMD_SHORT(0x15, 0x19, 0x00),
	DSI_CMD_SHORT(0x15, 0x1A, 0x00),
	DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),

        DSI_CMD_SHORT(0x05, 0x11, 0x00),
        DSI_DLY_MS(125),

	/*gamma2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0x01, 0x33),
	DSI_CMD_SHORT(0x15, 0x02, 0x53),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x72),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0x7F),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0x93),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0xA5),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0xB5),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xC4),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xD2),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xDF),
	DSI_CMD_SHORT(0x15, 0x85, 0x00),
	DSI_CMD_SHORT(0x15, 0x86, 0xEB),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x14),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x35),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0x6C),
	DSI_CMD_SHORT(0x15, 0x8D, 0x01),
	DSI_CMD_SHORT(0x15, 0x8E, 0x99),
	DSI_CMD_SHORT(0x15, 0x8F, 0x01),
	DSI_CMD_SHORT(0x15, 0x90, 0xDE),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x17),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x19),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0x4B),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0x80),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xA1),
	DSI_CMD_SHORT(0x15, 0x9B, 0x02),
	DSI_CMD_SHORT(0x15, 0x9C, 0xCE),
	DSI_CMD_SHORT(0x15, 0x9D, 0x02),
	DSI_CMD_SHORT(0x15, 0x9E, 0xED),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x1A),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x28),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x38),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x4B),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x61),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0x7E),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0xAC),
	DSI_CMD_SHORT(0x15, 0xAF, 0x03),
	DSI_CMD_SHORT(0x15, 0xB0, 0xE4),
	DSI_CMD_SHORT(0x15, 0xB1, 0x03),
	DSI_CMD_SHORT(0x15, 0xB2, 0xFF),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0x72),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0x7F),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0x93),
	DSI_CMD_SHORT(0x15, 0xB9, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0xA5),
	DSI_CMD_SHORT(0x15, 0xBB, 0x00),
	DSI_CMD_SHORT(0x15, 0xBC, 0xB5),
	DSI_CMD_SHORT(0x15, 0xBD, 0x00),
	DSI_CMD_SHORT(0x15, 0xBE, 0xC4),
	DSI_CMD_SHORT(0x15, 0xBF, 0x00),
	DSI_CMD_SHORT(0x15, 0xC0, 0xD2),
	DSI_CMD_SHORT(0x15, 0xC1, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0xDF),
	DSI_CMD_SHORT(0x15, 0xC3, 0x00),
	DSI_CMD_SHORT(0x15, 0xC4, 0xEB),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x14),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x35),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0x6C),
	DSI_CMD_SHORT(0x15, 0xCB, 0x01),
	DSI_CMD_SHORT(0x15, 0xCC, 0x99),
	DSI_CMD_SHORT(0x15, 0xCD, 0x01),
	DSI_CMD_SHORT(0x15, 0xCE, 0xDE),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x17),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x19),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0x4B),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0x80),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xA1),
	DSI_CMD_SHORT(0x15, 0xD9, 0x02),
	DSI_CMD_SHORT(0x15, 0xDA, 0xCE),
	DSI_CMD_SHORT(0x15, 0xDB, 0x02),
	DSI_CMD_SHORT(0x15, 0xDC, 0xED),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x1A),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x28),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x38),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x4B),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x61),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0x7E),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xAC),
	DSI_CMD_SHORT(0x15, 0xEB, 0x03),
	DSI_CMD_SHORT(0x15, 0xEC, 0xE4),
	DSI_CMD_SHORT(0x15, 0xED, 0x03),
	DSI_CMD_SHORT(0x15, 0xEE, 0xFF),
	DSI_CMD_SHORT(0x15, 0xEF, 0x00),
	DSI_CMD_SHORT(0x15, 0xF0, 0x72),
	DSI_CMD_SHORT(0x15, 0xF1, 0x00),
	DSI_CMD_SHORT(0x15, 0xF2, 0x7F),
	DSI_CMD_SHORT(0x15, 0xF3, 0x00),
	DSI_CMD_SHORT(0x15, 0xF4, 0x93),
	DSI_CMD_SHORT(0x15, 0xF5, 0x00),
	DSI_CMD_SHORT(0x15, 0xF6, 0xA6),
	DSI_CMD_SHORT(0x15, 0xF7, 0x00),
	DSI_CMD_SHORT(0x15, 0xF8, 0xB7),
	DSI_CMD_SHORT(0x15, 0xF9, 0x00),
	DSI_CMD_SHORT(0x15, 0xFA, 0xC7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0xD6),
	DSI_CMD_SHORT(0x15, 0x02, 0x00),
	DSI_CMD_SHORT(0x15, 0x03, 0xE3),
	DSI_CMD_SHORT(0x15, 0x04, 0x00),
	DSI_CMD_SHORT(0x15, 0x05, 0xEF),
	DSI_CMD_SHORT(0x15, 0x06, 0x01),
	DSI_CMD_SHORT(0x15, 0x07, 0x19),
	DSI_CMD_SHORT(0x15, 0x08, 0x01),
	DSI_CMD_SHORT(0x15, 0x09, 0x3A),
	DSI_CMD_SHORT(0x15, 0x0A, 0x01),
	DSI_CMD_SHORT(0x15, 0x0B, 0x6F),
	DSI_CMD_SHORT(0x15, 0x0C, 0x01),
	DSI_CMD_SHORT(0x15, 0x0D, 0x9C),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0xE2),
	DSI_CMD_SHORT(0x15, 0x10, 0x02),
	DSI_CMD_SHORT(0x15, 0x11, 0x19),
	DSI_CMD_SHORT(0x15, 0x12, 0x02),
	DSI_CMD_SHORT(0x15, 0x13, 0x1B),
	DSI_CMD_SHORT(0x15, 0x14, 0x02),
	DSI_CMD_SHORT(0x15, 0x15, 0x4C),
	DSI_CMD_SHORT(0x15, 0x16, 0x02),
	DSI_CMD_SHORT(0x15, 0x17, 0x80),
	DSI_CMD_SHORT(0x15, 0x18, 0x02),
	DSI_CMD_SHORT(0x15, 0x19, 0x9F),
	DSI_CMD_SHORT(0x15, 0x1A, 0x02),
	DSI_CMD_SHORT(0x15, 0x1B, 0xCB),
	DSI_CMD_SHORT(0x15, 0x1C, 0x02),
	DSI_CMD_SHORT(0x15, 0x1D, 0xE9),
	DSI_CMD_SHORT(0x15, 0x1E, 0x03),
	DSI_CMD_SHORT(0x15, 0x1F, 0x12),
	DSI_CMD_SHORT(0x15, 0x20, 0x03),
	DSI_CMD_SHORT(0x15, 0x21, 0x1F),
	DSI_CMD_SHORT(0x15, 0x22, 0x03),
	DSI_CMD_SHORT(0x15, 0x23, 0x2D),
	DSI_CMD_SHORT(0x15, 0x24, 0x03),
	DSI_CMD_SHORT(0x15, 0x25, 0x3D),
	DSI_CMD_SHORT(0x15, 0x26, 0x03),
	DSI_CMD_SHORT(0x15, 0x27, 0x4E),
	DSI_CMD_SHORT(0x15, 0x28, 0x03),
	DSI_CMD_SHORT(0x15, 0x29, 0x61),
	DSI_CMD_SHORT(0x15, 0x2A, 0x03),
	DSI_CMD_SHORT(0x15, 0x2B, 0x8F),
	DSI_CMD_SHORT(0x15, 0x2D, 0x03),
	DSI_CMD_SHORT(0x15, 0x2F, 0xDA),
	DSI_CMD_SHORT(0x15, 0x30, 0x03),
	DSI_CMD_SHORT(0x15, 0x31, 0xFF),
	DSI_CMD_SHORT(0x15, 0x32, 0x00),
	DSI_CMD_SHORT(0x15, 0x33, 0x72),
	DSI_CMD_SHORT(0x15, 0x34, 0x00),
	DSI_CMD_SHORT(0x15, 0x35, 0x7F),
	DSI_CMD_SHORT(0x15, 0x36, 0x00),
	DSI_CMD_SHORT(0x15, 0x37, 0x93),
	DSI_CMD_SHORT(0x15, 0x38, 0x00),
	DSI_CMD_SHORT(0x15, 0x39, 0xA6),
	DSI_CMD_SHORT(0x15, 0x3A, 0x00),
	DSI_CMD_SHORT(0x15, 0x3B, 0xB7),
	DSI_CMD_SHORT(0x15, 0x3D, 0x00),
	DSI_CMD_SHORT(0x15, 0x3F, 0xC7),
	DSI_CMD_SHORT(0x15, 0x40, 0x00),
	DSI_CMD_SHORT(0x15, 0x41, 0xD6),
	DSI_CMD_SHORT(0x15, 0x42, 0x00),
	DSI_CMD_SHORT(0x15, 0x43, 0xE3),
	DSI_CMD_SHORT(0x15, 0x44, 0x00),
	DSI_CMD_SHORT(0x15, 0x45, 0xEF),
	DSI_CMD_SHORT(0x15, 0x46, 0x01),
	DSI_CMD_SHORT(0x15, 0x47, 0x19),
	DSI_CMD_SHORT(0x15, 0x48, 0x01),
	DSI_CMD_SHORT(0x15, 0x49, 0x3A),
	DSI_CMD_SHORT(0x15, 0x4A, 0x01),
	DSI_CMD_SHORT(0x15, 0x4B, 0x6F),
	DSI_CMD_SHORT(0x15, 0x4C, 0x01),
	DSI_CMD_SHORT(0x15, 0x4D, 0x9C),
	DSI_CMD_SHORT(0x15, 0x4E, 0x01),
	DSI_CMD_SHORT(0x15, 0x4F, 0xE2),
	DSI_CMD_SHORT(0x15, 0x50, 0x02),
	DSI_CMD_SHORT(0x15, 0x51, 0x19),
	DSI_CMD_SHORT(0x15, 0x52, 0x02),
	DSI_CMD_SHORT(0x15, 0x53, 0x1B),
	DSI_CMD_SHORT(0x15, 0x54, 0x02),
	DSI_CMD_SHORT(0x15, 0x55, 0x4C),
	DSI_CMD_SHORT(0x15, 0x56, 0x02),
	DSI_CMD_SHORT(0x15, 0x58, 0x80),
	DSI_CMD_SHORT(0x15, 0x59, 0x02),
	DSI_CMD_SHORT(0x15, 0x5A, 0x9F),
	DSI_CMD_SHORT(0x15, 0x5B, 0x02),
	DSI_CMD_SHORT(0x15, 0x5C, 0xCB),
	DSI_CMD_SHORT(0x15, 0x5D, 0x02),
	DSI_CMD_SHORT(0x15, 0x5E, 0xE9),
	DSI_CMD_SHORT(0x15, 0x5F, 0x03),
	DSI_CMD_SHORT(0x15, 0x60, 0x12),
	DSI_CMD_SHORT(0x15, 0x61, 0x03),
	DSI_CMD_SHORT(0x15, 0x62, 0x1F),
	DSI_CMD_SHORT(0x15, 0x63, 0x03),
	DSI_CMD_SHORT(0x15, 0x64, 0x2D),
	DSI_CMD_SHORT(0x15, 0x65, 0x03),
	DSI_CMD_SHORT(0x15, 0x66, 0x3D),
	DSI_CMD_SHORT(0x15, 0x67, 0x03),
	DSI_CMD_SHORT(0x15, 0x68, 0x4E),
	DSI_CMD_SHORT(0x15, 0x69, 0x03),
	DSI_CMD_SHORT(0x15, 0x6A, 0x61),
	DSI_CMD_SHORT(0x15, 0x6B, 0x03),
	DSI_CMD_SHORT(0x15, 0x6C, 0x8F),
	DSI_CMD_SHORT(0x15, 0x6D, 0x03),
	DSI_CMD_SHORT(0x15, 0x6E, 0xDA),
	DSI_CMD_SHORT(0x15, 0x6F, 0x03),
	DSI_CMD_SHORT(0x15, 0x70, 0xFF),
	DSI_CMD_SHORT(0x15, 0x71, 0x00),
	DSI_CMD_SHORT(0x15, 0x72, 0x00),
	DSI_CMD_SHORT(0x15, 0x73, 0x00),
	DSI_CMD_SHORT(0x15, 0x74, 0x1C),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x3F),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0x5E),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0x78),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0x90),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0xA4),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xB6),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xC6),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xF7),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x1B),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x56),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x8A),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0xD3),
	DSI_CMD_SHORT(0x15, 0x8D, 0x02),
	DSI_CMD_SHORT(0x15, 0x8E, 0x12),
	DSI_CMD_SHORT(0x15, 0x8F, 0x02),
	DSI_CMD_SHORT(0x15, 0x90, 0x13),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x46),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x7D),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0x9C),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0xC7),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xE5),
	DSI_CMD_SHORT(0x15, 0x9B, 0x03),
	DSI_CMD_SHORT(0x15, 0x9C, 0x0F),
	DSI_CMD_SHORT(0x15, 0x9D, 0x03),
	DSI_CMD_SHORT(0x15, 0x9E, 0x1C),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x2B),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x3B),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x4C),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x5E),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x8E),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0xDA),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0xFF),
	DSI_CMD_SHORT(0x15, 0xAF, 0x00),
	DSI_CMD_SHORT(0x15, 0xB0, 0x00),
	DSI_CMD_SHORT(0x15, 0xB1, 0x00),
	DSI_CMD_SHORT(0x15, 0xB2, 0x1C),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0x3F),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0x5E),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0x78),
	DSI_CMD_SHORT(0x15, 0xB9, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0x90),
	DSI_CMD_SHORT(0x15, 0xBB, 0x00),
	DSI_CMD_SHORT(0x15, 0xBC, 0xA4),
	DSI_CMD_SHORT(0x15, 0xBD, 0x00),
	DSI_CMD_SHORT(0x15, 0xBE, 0xB6),
	DSI_CMD_SHORT(0x15, 0xBF, 0x00),
	DSI_CMD_SHORT(0x15, 0xC0, 0xC6),
	DSI_CMD_SHORT(0x15, 0xC1, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0xF7),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x1B),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x56),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x8A),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0xD3),
	DSI_CMD_SHORT(0x15, 0xCB, 0x02),
	DSI_CMD_SHORT(0x15, 0xCC, 0x12),
	DSI_CMD_SHORT(0x15, 0xCD, 0x02),
	DSI_CMD_SHORT(0x15, 0xCE, 0x13),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x46),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x7D),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0x9C),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0xC7),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xE5),
	DSI_CMD_SHORT(0x15, 0xD9, 0x03),
	DSI_CMD_SHORT(0x15, 0xDA, 0x0F),
	DSI_CMD_SHORT(0x15, 0xDB, 0x03),
	DSI_CMD_SHORT(0x15, 0xDC, 0x1C),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x2B),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x3B),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x4C),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x5E),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x8E),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0xDA),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xFF),
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x8E),
	DSI_CMD_SHORT(0x15, 0x03, 0x8E),
	DSI_CMD_SHORT(0x15, 0x04, 0x8E),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

	/*CABC setting*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x05, 0x2D),
	DSI_CMD_SHORT(0x15, 0x21, 0xFF),
	DSI_CMD_SHORT(0x15, 0x22, 0xF7),
	DSI_CMD_SHORT(0x15, 0x23, 0xEF),
	DSI_CMD_SHORT(0x15, 0x24, 0xE7),
	DSI_CMD_SHORT(0x15, 0x25, 0xDF),
	DSI_CMD_SHORT(0x15, 0x26, 0xD7),
	DSI_CMD_SHORT(0x15, 0x27, 0xCF),
	DSI_CMD_SHORT(0x15, 0x28, 0xC7),
	DSI_CMD_SHORT(0x15, 0x29, 0xBF),
	DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x55, 0x83),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_init_sharp_nt_c1_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	/*this is porch setting for video mode
	DSI_CMD_LONG(0x39, porch),
	*/
	/*color enhancement 2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x03),
	DSI_CMD_SHORT(0x15, 0xFE, 0x08),
	DSI_CMD_SHORT(0x15, 0x18, 0x00),
	DSI_CMD_SHORT(0x15, 0x19, 0x00),
	DSI_CMD_SHORT(0x15, 0x1A, 0x00),
	DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),

	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),

	/*gamma 2.2 from novatek*/
	DSI_CMD_SHORT(0x15,0xFF,0x01),
	DSI_CMD_SHORT(0x15,0xFE,0x02),
	DSI_CMD_SHORT(0x15,0x75,0x00),
	DSI_CMD_SHORT(0x15,0x76,0x52),
	DSI_CMD_SHORT(0x15,0x77,0x00),
	DSI_CMD_SHORT(0x15,0x78,0x57),
	DSI_CMD_SHORT(0x15,0x79,0x00),
	DSI_CMD_SHORT(0x15,0x7A,0x60),
	DSI_CMD_SHORT(0x15,0x7B,0x00),
	DSI_CMD_SHORT(0x15,0x7C,0x7C),
	DSI_CMD_SHORT(0x15,0x7D,0x00),
	DSI_CMD_SHORT(0x15,0x7E,0x97),
	DSI_CMD_SHORT(0x15,0x7F,0x00),
	DSI_CMD_SHORT(0x15,0x80,0xAD),
	DSI_CMD_SHORT(0x15,0x81,0x00),
	DSI_CMD_SHORT(0x15,0x82,0xBF),
	DSI_CMD_SHORT(0x15,0x83,0x00),
	DSI_CMD_SHORT(0x15,0x84,0xCE),
	DSI_CMD_SHORT(0x15,0x85,0x00),
	DSI_CMD_SHORT(0x15,0x86,0xDD),
	DSI_CMD_SHORT(0x15,0x87,0x01),
	DSI_CMD_SHORT(0x15,0x88,0x0D),
	DSI_CMD_SHORT(0x15,0x89,0x01),
	DSI_CMD_SHORT(0x15,0x8A,0x33),
	DSI_CMD_SHORT(0x15,0x8B,0x01),
	DSI_CMD_SHORT(0x15,0x8C,0x70),
	DSI_CMD_SHORT(0x15,0x8D,0x01),
	DSI_CMD_SHORT(0x15,0x8E,0xA0),
	DSI_CMD_SHORT(0x15,0x8F,0x01),
	DSI_CMD_SHORT(0x15,0x90,0xE9),
	DSI_CMD_SHORT(0x15,0x91,0x02),
	DSI_CMD_SHORT(0x15,0x92,0x1F),
	DSI_CMD_SHORT(0x15,0x93,0x02),
	DSI_CMD_SHORT(0x15,0x94,0x21),
	DSI_CMD_SHORT(0x15,0x95,0x02),
	DSI_CMD_SHORT(0x15,0x96,0x50),
	DSI_CMD_SHORT(0x15,0x97,0x02),
	DSI_CMD_SHORT(0x15,0x98,0x83),
	DSI_CMD_SHORT(0x15,0x99,0x02),
	DSI_CMD_SHORT(0x15,0x9A,0xA4),
	DSI_CMD_SHORT(0x15,0x9B,0x02),
	DSI_CMD_SHORT(0x15,0x9C,0xD1),
	DSI_CMD_SHORT(0x15,0x9D,0x02),
	DSI_CMD_SHORT(0x15,0x9E,0xF0),
	DSI_CMD_SHORT(0x15,0x9F,0x03),
	DSI_CMD_SHORT(0x15,0xA0,0x1A),
	DSI_CMD_SHORT(0x15,0xA2,0x03),
	DSI_CMD_SHORT(0x15,0xA3,0x26),
	DSI_CMD_SHORT(0x15,0xA4,0x03),
	DSI_CMD_SHORT(0x15,0xA5,0x34),
	DSI_CMD_SHORT(0x15,0xA6,0x03),
	DSI_CMD_SHORT(0x15,0xA7,0x44),
	DSI_CMD_SHORT(0x15,0xA9,0x03),
	DSI_CMD_SHORT(0x15,0xAA,0x55),
	DSI_CMD_SHORT(0x15,0xAB,0x03),
	DSI_CMD_SHORT(0x15,0xAC,0x6C),
	DSI_CMD_SHORT(0x15,0xAD,0x03),
	DSI_CMD_SHORT(0x15,0xAE,0x85),
	DSI_CMD_SHORT(0x15,0xAF,0x03),
	DSI_CMD_SHORT(0x15,0xB0,0xA8),
	DSI_CMD_SHORT(0x15,0xB1,0x03),
	DSI_CMD_SHORT(0x15,0xB2,0xAC),
	DSI_CMD_SHORT(0x15,0xB3,0x00),
	DSI_CMD_SHORT(0x15,0xB4,0xB8),
	DSI_CMD_SHORT(0x15,0xB5,0x00),
	DSI_CMD_SHORT(0x15,0xB6,0xBD),
	DSI_CMD_SHORT(0x15,0xB7,0x00),
	DSI_CMD_SHORT(0x15,0xB8,0xC5),
	DSI_CMD_SHORT(0x15,0xB9,0x00),
	DSI_CMD_SHORT(0x15,0xBA,0xDF),
	DSI_CMD_SHORT(0x15,0xBB,0x00),
	DSI_CMD_SHORT(0x15,0xBC,0xF9),
	DSI_CMD_SHORT(0x15,0xBD,0x01),
	DSI_CMD_SHORT(0x15,0xBE,0x0E),
	DSI_CMD_SHORT(0x15,0xBF,0x01),
	DSI_CMD_SHORT(0x15,0xC0,0x1F),
	DSI_CMD_SHORT(0x15,0xC1,0x01),
	DSI_CMD_SHORT(0x15,0xC2,0x2E),
	DSI_CMD_SHORT(0x15,0xC3,0x01),
	DSI_CMD_SHORT(0x15,0xC4,0x3C),
	DSI_CMD_SHORT(0x15,0xC5,0x01),
	DSI_CMD_SHORT(0x15,0xC6,0x67),
	DSI_CMD_SHORT(0x15,0xC7,0x01),
	DSI_CMD_SHORT(0x15,0xC8,0x89),
	DSI_CMD_SHORT(0x15,0xC9,0x01),
	DSI_CMD_SHORT(0x15,0xCA,0xBD),
	DSI_CMD_SHORT(0x15,0xCB,0x01),
	DSI_CMD_SHORT(0x15,0xCC,0xE5),
	DSI_CMD_SHORT(0x15,0xCD,0x02),
	DSI_CMD_SHORT(0x15,0xCE,0x23),
	DSI_CMD_SHORT(0x15,0xCF,0x02),
	DSI_CMD_SHORT(0x15,0xD0,0x59),
	DSI_CMD_SHORT(0x15,0xD1,0x02),
	DSI_CMD_SHORT(0x15,0xD2,0x5B),
	DSI_CMD_SHORT(0x15,0xD3,0x02),
	DSI_CMD_SHORT(0x15,0xD4,0x8A),
	DSI_CMD_SHORT(0x15,0xD5,0x02),
	DSI_CMD_SHORT(0x15,0xD6,0xBD),
	DSI_CMD_SHORT(0x15,0xD7,0x02),
	DSI_CMD_SHORT(0x15,0xD8,0xDE),
	DSI_CMD_SHORT(0x15,0xD9,0x03),
	DSI_CMD_SHORT(0x15,0xDA,0x0B),
	DSI_CMD_SHORT(0x15,0xDB,0x03),
	DSI_CMD_SHORT(0x15,0xDC,0x2A),
	DSI_CMD_SHORT(0x15,0xDD,0x03),
	DSI_CMD_SHORT(0x15,0xDE,0x54),
	DSI_CMD_SHORT(0x15,0xDF,0x03),
	DSI_CMD_SHORT(0x15,0xE0,0x60),
	DSI_CMD_SHORT(0x15,0xE1,0x03),
	DSI_CMD_SHORT(0x15,0xE2,0x6E),
	DSI_CMD_SHORT(0x15,0xE3,0x03),
	DSI_CMD_SHORT(0x15,0xE4,0x7E),
	DSI_CMD_SHORT(0x15,0xE5,0x03),
	DSI_CMD_SHORT(0x15,0xE6,0x8F),
	DSI_CMD_SHORT(0x15,0xE7,0x03),
	DSI_CMD_SHORT(0x15,0xE8,0xA5),
	DSI_CMD_SHORT(0x15,0xE9,0x03),
	DSI_CMD_SHORT(0x15,0xEA,0xBF),
	DSI_CMD_SHORT(0x15,0xEB,0x03),
	DSI_CMD_SHORT(0x15,0xEC,0xE2),
	DSI_CMD_SHORT(0x15,0xED,0x03),
	DSI_CMD_SHORT(0x15,0xEE,0xE6),
	DSI_CMD_SHORT(0x15,0xEF,0x00),
	DSI_CMD_SHORT(0x15,0xF0,0x52),
	DSI_CMD_SHORT(0x15,0xF1,0x00),
	DSI_CMD_SHORT(0x15,0xF2,0x57),
	DSI_CMD_SHORT(0x15,0xF3,0x00),
	DSI_CMD_SHORT(0x15,0xF4,0x60),
	DSI_CMD_SHORT(0x15,0xF5,0x00),
	DSI_CMD_SHORT(0x15,0xF6,0x7C),
	DSI_CMD_SHORT(0x15,0xF7,0x00),
	DSI_CMD_SHORT(0x15,0xF8,0x97),
	DSI_CMD_SHORT(0x15,0xF9,0x00),
	DSI_CMD_SHORT(0x15,0xFA,0xAD),
	DSI_CMD_SHORT(0x15,0xFF,0x00),
	DSI_CMD_SHORT(0x15,0xFE,0x01),
	DSI_CMD_SHORT(0x15,0xFF,0x02),
	DSI_CMD_SHORT(0x15,0xFE,0x04),
	DSI_CMD_SHORT(0x15,0x00,0x00),
	DSI_CMD_SHORT(0x15,0x01,0xBF),
	DSI_CMD_SHORT(0x15,0x02,0x00),
	DSI_CMD_SHORT(0x15,0x03,0xCE),
	DSI_CMD_SHORT(0x15,0x04,0x00),
	DSI_CMD_SHORT(0x15,0x05,0xDD),
	DSI_CMD_SHORT(0x15,0x06,0x01),
	DSI_CMD_SHORT(0x15,0x07,0x0D),
	DSI_CMD_SHORT(0x15,0x08,0x01),
	DSI_CMD_SHORT(0x15,0x09,0x33),
	DSI_CMD_SHORT(0x15,0x0A,0x01),
	DSI_CMD_SHORT(0x15,0x0B,0x70),
	DSI_CMD_SHORT(0x15,0x0C,0x01),
	DSI_CMD_SHORT(0x15,0x0D,0xA0),
	DSI_CMD_SHORT(0x15,0x0E,0x01),
	DSI_CMD_SHORT(0x15,0x0F,0xE9),
	DSI_CMD_SHORT(0x15,0x10,0x02),
	DSI_CMD_SHORT(0x15,0x11,0x1F),
	DSI_CMD_SHORT(0x15,0x12,0x02),
	DSI_CMD_SHORT(0x15,0x13,0x21),
	DSI_CMD_SHORT(0x15,0x14,0x02),
	DSI_CMD_SHORT(0x15,0x15,0x50),
	DSI_CMD_SHORT(0x15,0x16,0x02),
	DSI_CMD_SHORT(0x15,0x17,0x83),
	DSI_CMD_SHORT(0x15,0x18,0x02),
	DSI_CMD_SHORT(0x15,0x19,0xA4),
	DSI_CMD_SHORT(0x15,0x1A,0x02),
	DSI_CMD_SHORT(0x15,0x1B,0xD1),
	DSI_CMD_SHORT(0x15,0x1C,0x02),
	DSI_CMD_SHORT(0x15,0x1D,0xF0),
	DSI_CMD_SHORT(0x15,0x1E,0x03),
	DSI_CMD_SHORT(0x15,0x1F,0x1A),
	DSI_CMD_SHORT(0x15,0x20,0x03),
	DSI_CMD_SHORT(0x15,0x21,0x26),
	DSI_CMD_SHORT(0x15,0x22,0x03),
	DSI_CMD_SHORT(0x15,0x23,0x34),
	DSI_CMD_SHORT(0x15,0x24,0x03),
	DSI_CMD_SHORT(0x15,0x25,0x44),
	DSI_CMD_SHORT(0x15,0x26,0x03),
	DSI_CMD_SHORT(0x15,0x27,0x55),
	DSI_CMD_SHORT(0x15,0x28,0x03),
	DSI_CMD_SHORT(0x15,0x29,0x6C),
	DSI_CMD_SHORT(0x15,0x2A,0x03),
	DSI_CMD_SHORT(0x15,0x2B,0x85),
	DSI_CMD_SHORT(0x15,0x2D,0x03),
	DSI_CMD_SHORT(0x15,0x2F,0xA8),
	DSI_CMD_SHORT(0x15,0x30,0x03),
	DSI_CMD_SHORT(0x15,0x31,0xAC),
	DSI_CMD_SHORT(0x15,0x32,0x00),
	DSI_CMD_SHORT(0x15,0x33,0xB8),
	DSI_CMD_SHORT(0x15,0x34,0x00),
	DSI_CMD_SHORT(0x15,0x35,0xBD),
	DSI_CMD_SHORT(0x15,0x36,0x00),
	DSI_CMD_SHORT(0x15,0x37,0xC5),
	DSI_CMD_SHORT(0x15,0x38,0x00),
	DSI_CMD_SHORT(0x15,0x39,0xDF),
	DSI_CMD_SHORT(0x15,0x3A,0x00),
	DSI_CMD_SHORT(0x15,0x3B,0xF9),
	DSI_CMD_SHORT(0x15,0x3D,0x01),
	DSI_CMD_SHORT(0x15,0x3F,0x0E),
	DSI_CMD_SHORT(0x15,0x40,0x01),
	DSI_CMD_SHORT(0x15,0x41,0x1F),
	DSI_CMD_SHORT(0x15,0x42,0x01),
	DSI_CMD_SHORT(0x15,0x43,0x2E),
	DSI_CMD_SHORT(0x15,0x44,0x01),
	DSI_CMD_SHORT(0x15,0x45,0x3C),
	DSI_CMD_SHORT(0x15,0x46,0x01),
	DSI_CMD_SHORT(0x15,0x47,0x67),
	DSI_CMD_SHORT(0x15,0x48,0x01),
	DSI_CMD_SHORT(0x15,0x49,0x89),
	DSI_CMD_SHORT(0x15,0x4A,0x01),
	DSI_CMD_SHORT(0x15,0x4B,0xBD),
	DSI_CMD_SHORT(0x15,0x4C,0x01),
	DSI_CMD_SHORT(0x15,0x4D,0xE5),
	DSI_CMD_SHORT(0x15,0x4E,0x02),
	DSI_CMD_SHORT(0x15,0x4F,0x23),
	DSI_CMD_SHORT(0x15,0x50,0x02),
	DSI_CMD_SHORT(0x15,0x51,0x59),
	DSI_CMD_SHORT(0x15,0x52,0x02),
	DSI_CMD_SHORT(0x15,0x53,0x5B),
	DSI_CMD_SHORT(0x15,0x54,0x02),
	DSI_CMD_SHORT(0x15,0x55,0x8A),
	DSI_CMD_SHORT(0x15,0x56,0x02),
	DSI_CMD_SHORT(0x15,0x58,0xBD),
	DSI_CMD_SHORT(0x15,0x59,0x02),
	DSI_CMD_SHORT(0x15,0x5A,0xDE),
	DSI_CMD_SHORT(0x15,0x5B,0x03),
	DSI_CMD_SHORT(0x15,0x5C,0x0B),
	DSI_CMD_SHORT(0x15,0x5D,0x03),
	DSI_CMD_SHORT(0x15,0x5E,0x2A),
	DSI_CMD_SHORT(0x15,0x5F,0x03),
	DSI_CMD_SHORT(0x15,0x60,0x54),
	DSI_CMD_SHORT(0x15,0x61,0x03),
	DSI_CMD_SHORT(0x15,0x62,0x60),
	DSI_CMD_SHORT(0x15,0x63,0x03),
	DSI_CMD_SHORT(0x15,0x64,0x6E),
	DSI_CMD_SHORT(0x15,0x65,0x03),
	DSI_CMD_SHORT(0x15,0x66,0x7E),
	DSI_CMD_SHORT(0x15,0x67,0x03),
	DSI_CMD_SHORT(0x15,0x68,0x8F),
	DSI_CMD_SHORT(0x15,0x69,0x03),
	DSI_CMD_SHORT(0x15,0x6A,0xA5),
	DSI_CMD_SHORT(0x15,0x6B,0x03),
	DSI_CMD_SHORT(0x15,0x6C,0xBF),
	DSI_CMD_SHORT(0x15,0x6D,0x03),
	DSI_CMD_SHORT(0x15,0x6E,0xE2),
	DSI_CMD_SHORT(0x15,0x6F,0x03),
	DSI_CMD_SHORT(0x15,0x70,0xE6),
	DSI_CMD_SHORT(0x15,0x71,0x00),
	DSI_CMD_SHORT(0x15,0x72,0x52),
	DSI_CMD_SHORT(0x15,0x73,0x00),
	DSI_CMD_SHORT(0x15,0x74,0x57),
	DSI_CMD_SHORT(0x15,0x75,0x00),
	DSI_CMD_SHORT(0x15,0x76,0x60),
	DSI_CMD_SHORT(0x15,0x77,0x00),
	DSI_CMD_SHORT(0x15,0x78,0x7C),
	DSI_CMD_SHORT(0x15,0x79,0x00),
	DSI_CMD_SHORT(0x15,0x7A,0x97),
	DSI_CMD_SHORT(0x15,0x7B,0x00),
	DSI_CMD_SHORT(0x15,0x7C,0xAD),
	DSI_CMD_SHORT(0x15,0x7D,0x00),
	DSI_CMD_SHORT(0x15,0x7E,0xBF),
	DSI_CMD_SHORT(0x15,0x7F,0x00),
	DSI_CMD_SHORT(0x15,0x80,0xCE),
	DSI_CMD_SHORT(0x15,0x81,0x00),
	DSI_CMD_SHORT(0x15,0x82,0xDD),
	DSI_CMD_SHORT(0x15,0x83,0x01),
	DSI_CMD_SHORT(0x15,0x84,0x0D),
	DSI_CMD_SHORT(0x15,0x85,0x01),
	DSI_CMD_SHORT(0x15,0x86,0x33),
	DSI_CMD_SHORT(0x15,0x87,0x01),
	DSI_CMD_SHORT(0x15,0x88,0x70),
	DSI_CMD_SHORT(0x15,0x89,0x01),
	DSI_CMD_SHORT(0x15,0x8A,0xA0),
	DSI_CMD_SHORT(0x15,0x8B,0x01),
	DSI_CMD_SHORT(0x15,0x8C,0xE9),
	DSI_CMD_SHORT(0x15,0x8D,0x02),
	DSI_CMD_SHORT(0x15,0x8E,0x1F),
	DSI_CMD_SHORT(0x15,0x8F,0x02),
	DSI_CMD_SHORT(0x15,0x90,0x21),
	DSI_CMD_SHORT(0x15,0x91,0x02),
	DSI_CMD_SHORT(0x15,0x92,0x50),
	DSI_CMD_SHORT(0x15,0x93,0x02),
	DSI_CMD_SHORT(0x15,0x94,0x83),
	DSI_CMD_SHORT(0x15,0x95,0x02),
	DSI_CMD_SHORT(0x15,0x96,0xA4),
	DSI_CMD_SHORT(0x15,0x97,0x02),
	DSI_CMD_SHORT(0x15,0x98,0xD1),
	DSI_CMD_SHORT(0x15,0x99,0x02),
	DSI_CMD_SHORT(0x15,0x9A,0xF0),
	DSI_CMD_SHORT(0x15,0x9B,0x03),
	DSI_CMD_SHORT(0x15,0x9C,0x1A),
	DSI_CMD_SHORT(0x15,0x9D,0x03),
	DSI_CMD_SHORT(0x15,0x9E,0x26),
	DSI_CMD_SHORT(0x15,0x9F,0x03),
	DSI_CMD_SHORT(0x15,0xA0,0x34),
	DSI_CMD_SHORT(0x15,0xA2,0x03),
	DSI_CMD_SHORT(0x15,0xA3,0x44),
	DSI_CMD_SHORT(0x15,0xA4,0x03),
	DSI_CMD_SHORT(0x15,0xA5,0x55),
	DSI_CMD_SHORT(0x15,0xA6,0x03),
	DSI_CMD_SHORT(0x15,0xA7,0x6C),
	DSI_CMD_SHORT(0x15,0xA9,0x03),
	DSI_CMD_SHORT(0x15,0xAA,0x85),
	DSI_CMD_SHORT(0x15,0xAB,0x03),
	DSI_CMD_SHORT(0x15,0xAC,0xA8),
	DSI_CMD_SHORT(0x15,0xAD,0x03),
	DSI_CMD_SHORT(0x15,0xAE,0xAC),
	DSI_CMD_SHORT(0x15,0xAF,0x00),
	DSI_CMD_SHORT(0x15,0xB0,0xB8),
	DSI_CMD_SHORT(0x15,0xB1,0x00),
	DSI_CMD_SHORT(0x15,0xB2,0xBD),
	DSI_CMD_SHORT(0x15,0xB3,0x00),
	DSI_CMD_SHORT(0x15,0xB4,0xC5),
	DSI_CMD_SHORT(0x15,0xB5,0x00),
	DSI_CMD_SHORT(0x15,0xB6,0xDF),
	DSI_CMD_SHORT(0x15,0xB7,0x00),
	DSI_CMD_SHORT(0x15,0xB8,0xF9),
	DSI_CMD_SHORT(0x15,0xB9,0x01),
	DSI_CMD_SHORT(0x15,0xBA,0x0E),
	DSI_CMD_SHORT(0x15,0xBB,0x01),
	DSI_CMD_SHORT(0x15,0xBC,0x1F),
	DSI_CMD_SHORT(0x15,0xBD,0x01),
	DSI_CMD_SHORT(0x15,0xBE,0x2E),
	DSI_CMD_SHORT(0x15,0xBF,0x01),
	DSI_CMD_SHORT(0x15,0xC0,0x3C),
	DSI_CMD_SHORT(0x15,0xC1,0x01),
	DSI_CMD_SHORT(0x15,0xC2,0x67),
	DSI_CMD_SHORT(0x15,0xC3,0x01),
	DSI_CMD_SHORT(0x15,0xC4,0x89),
	DSI_CMD_SHORT(0x15,0xC5,0x01),
	DSI_CMD_SHORT(0x15,0xC6,0xBD),
	DSI_CMD_SHORT(0x15,0xC7,0x01),
	DSI_CMD_SHORT(0x15,0xC8,0xE5),
	DSI_CMD_SHORT(0x15,0xC9,0x02),
	DSI_CMD_SHORT(0x15,0xCA,0x23),
	DSI_CMD_SHORT(0x15,0xCB,0x02),
	DSI_CMD_SHORT(0x15,0xCC,0x59),
	DSI_CMD_SHORT(0x15,0xCD,0x02),
	DSI_CMD_SHORT(0x15,0xCE,0x5B),
	DSI_CMD_SHORT(0x15,0xCF,0x02),
	DSI_CMD_SHORT(0x15,0xD0,0x8A),
	DSI_CMD_SHORT(0x15,0xD1,0x02),
	DSI_CMD_SHORT(0x15,0xD2,0xBD),
	DSI_CMD_SHORT(0x15,0xD3,0x02),
	DSI_CMD_SHORT(0x15,0xD4,0xDE),
	DSI_CMD_SHORT(0x15,0xD5,0x03),
	DSI_CMD_SHORT(0x15,0xD6,0x0B),
	DSI_CMD_SHORT(0x15,0xD7,0x03),
	DSI_CMD_SHORT(0x15,0xD8,0x2A),
	DSI_CMD_SHORT(0x15,0xD9,0x03),
	DSI_CMD_SHORT(0x15,0xDA,0x54),
	DSI_CMD_SHORT(0x15,0xDB,0x03),
	DSI_CMD_SHORT(0x15,0xDC,0x60),
	DSI_CMD_SHORT(0x15,0xDD,0x03),
	DSI_CMD_SHORT(0x15,0xDE,0x6E),
	DSI_CMD_SHORT(0x15,0xDF,0x03),
	DSI_CMD_SHORT(0x15,0xE0,0x7E),
	DSI_CMD_SHORT(0x15,0xE1,0x03),
	DSI_CMD_SHORT(0x15,0xE2,0x8F),
	DSI_CMD_SHORT(0x15,0xE3,0x03),
	DSI_CMD_SHORT(0x15,0xE4,0xA5),
	DSI_CMD_SHORT(0x15,0xE5,0x03),
	DSI_CMD_SHORT(0x15,0xE6,0xBF),
	DSI_CMD_SHORT(0x15,0xE7,0x03),
	DSI_CMD_SHORT(0x15,0xE8,0xE2),
	DSI_CMD_SHORT(0x15,0xE9,0x03),
	DSI_CMD_SHORT(0x15,0xEA,0xE6),
	DSI_CMD_SHORT(0x15,0xFF,0x00),
	DSI_CMD_SHORT(0x15,0xFE,0x01),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0xFF, 0x05),
	DSI_CMD_SHORT(0x15, 0xFE, 0x20),
	DSI_CMD_SHORT(0x15, 0x0A, 0x8E),
	DSI_CMD_SHORT(0x15, 0x0D, 0x06),
	DSI_CMD_SHORT(0x15, 0x0F, 0x0A),
	DSI_CMD_SHORT(0x15, 0x10, 0x71),
	DSI_CMD_SHORT(0x15, 0x23, 0x4D),
	DSI_CMD_SHORT(0x15, 0x6C, 0x00),
	DSI_CMD_SHORT(0x15, 0x6D, 0x00),
	DSI_CMD_SHORT(0x15, 0x37, 0x09),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFE, 0x02),
	DSI_CMD_SHORT(0x15, 0x71, 0x2C),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x86),
	DSI_CMD_SHORT(0x15, 0x0E, 0x2B),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x98, 0x73),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x46, 0x00),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

	/*CABC setting*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x05, 0x2D),
	DSI_CMD_SHORT(0x15, 0x21, 0xFF),
	DSI_CMD_SHORT(0x15, 0x22, 0xF7),
	DSI_CMD_SHORT(0x15, 0x23, 0xEF),
	DSI_CMD_SHORT(0x15, 0x24, 0xE7),
	DSI_CMD_SHORT(0x15, 0x25, 0xDF),
	DSI_CMD_SHORT(0x15, 0x26, 0xD7),
	DSI_CMD_SHORT(0x15, 0x27, 0xCF),
	DSI_CMD_SHORT(0x15, 0x28, 0xC7),
	DSI_CMD_SHORT(0x15, 0x29, 0xBF),
	DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x55, 0x83),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_init_sharp_nt_c2_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	/*this is porch setting for video mode
	DSI_CMD_LONG(0x39, porch),
	*/
	/*color enhancement 2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x03),
	DSI_CMD_SHORT(0x15, 0xFE, 0x08),
	DSI_CMD_SHORT(0x15, 0x18, 0x00),
	DSI_CMD_SHORT(0x15, 0x19, 0x00),
	DSI_CMD_SHORT(0x15, 0x1A, 0x00),
	DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),

	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),

	/*gamma 2.2 from novatek*/
	DSI_CMD_SHORT(0x15,0xFF,0x01),
	DSI_CMD_SHORT(0x15,0xFE,0x02),
	DSI_CMD_SHORT(0x15,0x75,0x00),
	DSI_CMD_SHORT(0x15,0x76,0x52),
	DSI_CMD_SHORT(0x15,0x77,0x00),
	DSI_CMD_SHORT(0x15,0x78,0x57),
	DSI_CMD_SHORT(0x15,0x79,0x00),
	DSI_CMD_SHORT(0x15,0x7A,0x60),
	DSI_CMD_SHORT(0x15,0x7B,0x00),
	DSI_CMD_SHORT(0x15,0x7C,0x7C),
	DSI_CMD_SHORT(0x15,0x7D,0x00),
	DSI_CMD_SHORT(0x15,0x7E,0x97),
	DSI_CMD_SHORT(0x15,0x7F,0x00),
	DSI_CMD_SHORT(0x15,0x80,0xAD),
	DSI_CMD_SHORT(0x15,0x81,0x00),
	DSI_CMD_SHORT(0x15,0x82,0xBF),
	DSI_CMD_SHORT(0x15,0x83,0x00),
	DSI_CMD_SHORT(0x15,0x84,0xCE),
	DSI_CMD_SHORT(0x15,0x85,0x00),
	DSI_CMD_SHORT(0x15,0x86,0xDD),
	DSI_CMD_SHORT(0x15,0x87,0x01),
	DSI_CMD_SHORT(0x15,0x88,0x0D),
	DSI_CMD_SHORT(0x15,0x89,0x01),
	DSI_CMD_SHORT(0x15,0x8A,0x33),
	DSI_CMD_SHORT(0x15,0x8B,0x01),
	DSI_CMD_SHORT(0x15,0x8C,0x70),
	DSI_CMD_SHORT(0x15,0x8D,0x01),
	DSI_CMD_SHORT(0x15,0x8E,0xA0),
	DSI_CMD_SHORT(0x15,0x8F,0x01),
	DSI_CMD_SHORT(0x15,0x90,0xE9),
	DSI_CMD_SHORT(0x15,0x91,0x02),
	DSI_CMD_SHORT(0x15,0x92,0x1F),
	DSI_CMD_SHORT(0x15,0x93,0x02),
	DSI_CMD_SHORT(0x15,0x94,0x21),
	DSI_CMD_SHORT(0x15,0x95,0x02),
	DSI_CMD_SHORT(0x15,0x96,0x50),
	DSI_CMD_SHORT(0x15,0x97,0x02),
	DSI_CMD_SHORT(0x15,0x98,0x83),
	DSI_CMD_SHORT(0x15,0x99,0x02),
	DSI_CMD_SHORT(0x15,0x9A,0xA4),
	DSI_CMD_SHORT(0x15,0x9B,0x02),
	DSI_CMD_SHORT(0x15,0x9C,0xD1),
	DSI_CMD_SHORT(0x15,0x9D,0x02),
	DSI_CMD_SHORT(0x15,0x9E,0xF0),
	DSI_CMD_SHORT(0x15,0x9F,0x03),
	DSI_CMD_SHORT(0x15,0xA0,0x1A),
	DSI_CMD_SHORT(0x15,0xA2,0x03),
	DSI_CMD_SHORT(0x15,0xA3,0x26),
	DSI_CMD_SHORT(0x15,0xA4,0x03),
	DSI_CMD_SHORT(0x15,0xA5,0x34),
	DSI_CMD_SHORT(0x15,0xA6,0x03),
	DSI_CMD_SHORT(0x15,0xA7,0x44),
	DSI_CMD_SHORT(0x15,0xA9,0x03),
	DSI_CMD_SHORT(0x15,0xAA,0x55),
	DSI_CMD_SHORT(0x15,0xAB,0x03),
	DSI_CMD_SHORT(0x15,0xAC,0x6C),
	DSI_CMD_SHORT(0x15,0xAD,0x03),
	DSI_CMD_SHORT(0x15,0xAE,0x85),
	DSI_CMD_SHORT(0x15,0xAF,0x03),
	DSI_CMD_SHORT(0x15,0xB0,0xA8),
	DSI_CMD_SHORT(0x15,0xB1,0x03),
	DSI_CMD_SHORT(0x15,0xB2,0xAC),
	DSI_CMD_SHORT(0x15,0xB3,0x00),
	DSI_CMD_SHORT(0x15,0xB4,0xB8),
	DSI_CMD_SHORT(0x15,0xB5,0x00),
	DSI_CMD_SHORT(0x15,0xB6,0xBD),
	DSI_CMD_SHORT(0x15,0xB7,0x00),
	DSI_CMD_SHORT(0x15,0xB8,0xC5),
	DSI_CMD_SHORT(0x15,0xB9,0x00),
	DSI_CMD_SHORT(0x15,0xBA,0xDF),
	DSI_CMD_SHORT(0x15,0xBB,0x00),
	DSI_CMD_SHORT(0x15,0xBC,0xF9),
	DSI_CMD_SHORT(0x15,0xBD,0x01),
	DSI_CMD_SHORT(0x15,0xBE,0x0E),
	DSI_CMD_SHORT(0x15,0xBF,0x01),
	DSI_CMD_SHORT(0x15,0xC0,0x1F),
	DSI_CMD_SHORT(0x15,0xC1,0x01),
	DSI_CMD_SHORT(0x15,0xC2,0x2E),
	DSI_CMD_SHORT(0x15,0xC3,0x01),
	DSI_CMD_SHORT(0x15,0xC4,0x3C),
	DSI_CMD_SHORT(0x15,0xC5,0x01),
	DSI_CMD_SHORT(0x15,0xC6,0x67),
	DSI_CMD_SHORT(0x15,0xC7,0x01),
	DSI_CMD_SHORT(0x15,0xC8,0x89),
	DSI_CMD_SHORT(0x15,0xC9,0x01),
	DSI_CMD_SHORT(0x15,0xCA,0xBD),
	DSI_CMD_SHORT(0x15,0xCB,0x01),
	DSI_CMD_SHORT(0x15,0xCC,0xE5),
	DSI_CMD_SHORT(0x15,0xCD,0x02),
	DSI_CMD_SHORT(0x15,0xCE,0x23),
	DSI_CMD_SHORT(0x15,0xCF,0x02),
	DSI_CMD_SHORT(0x15,0xD0,0x59),
	DSI_CMD_SHORT(0x15,0xD1,0x02),
	DSI_CMD_SHORT(0x15,0xD2,0x5B),
	DSI_CMD_SHORT(0x15,0xD3,0x02),
	DSI_CMD_SHORT(0x15,0xD4,0x8A),
	DSI_CMD_SHORT(0x15,0xD5,0x02),
	DSI_CMD_SHORT(0x15,0xD6,0xBD),
	DSI_CMD_SHORT(0x15,0xD7,0x02),
	DSI_CMD_SHORT(0x15,0xD8,0xDE),
	DSI_CMD_SHORT(0x15,0xD9,0x03),
	DSI_CMD_SHORT(0x15,0xDA,0x0B),
	DSI_CMD_SHORT(0x15,0xDB,0x03),
	DSI_CMD_SHORT(0x15,0xDC,0x2A),
	DSI_CMD_SHORT(0x15,0xDD,0x03),
	DSI_CMD_SHORT(0x15,0xDE,0x54),
	DSI_CMD_SHORT(0x15,0xDF,0x03),
	DSI_CMD_SHORT(0x15,0xE0,0x60),
	DSI_CMD_SHORT(0x15,0xE1,0x03),
	DSI_CMD_SHORT(0x15,0xE2,0x6E),
	DSI_CMD_SHORT(0x15,0xE3,0x03),
	DSI_CMD_SHORT(0x15,0xE4,0x7E),
	DSI_CMD_SHORT(0x15,0xE5,0x03),
	DSI_CMD_SHORT(0x15,0xE6,0x8F),
	DSI_CMD_SHORT(0x15,0xE7,0x03),
	DSI_CMD_SHORT(0x15,0xE8,0xA5),
	DSI_CMD_SHORT(0x15,0xE9,0x03),
	DSI_CMD_SHORT(0x15,0xEA,0xBF),
	DSI_CMD_SHORT(0x15,0xEB,0x03),
	DSI_CMD_SHORT(0x15,0xEC,0xE2),
	DSI_CMD_SHORT(0x15,0xED,0x03),
	DSI_CMD_SHORT(0x15,0xEE,0xE6),
	DSI_CMD_SHORT(0x15,0xEF,0x00),
	DSI_CMD_SHORT(0x15,0xF0,0x52),
	DSI_CMD_SHORT(0x15,0xF1,0x00),
	DSI_CMD_SHORT(0x15,0xF2,0x57),
	DSI_CMD_SHORT(0x15,0xF3,0x00),
	DSI_CMD_SHORT(0x15,0xF4,0x60),
	DSI_CMD_SHORT(0x15,0xF5,0x00),
	DSI_CMD_SHORT(0x15,0xF6,0x7C),
	DSI_CMD_SHORT(0x15,0xF7,0x00),
	DSI_CMD_SHORT(0x15,0xF8,0x97),
	DSI_CMD_SHORT(0x15,0xF9,0x00),
	DSI_CMD_SHORT(0x15,0xFA,0xAD),
	DSI_CMD_SHORT(0x15,0xFF,0x00),
	DSI_CMD_SHORT(0x15,0xFE,0x01),
	DSI_CMD_SHORT(0x15,0xFF,0x02),
	DSI_CMD_SHORT(0x15,0xFE,0x04),
	DSI_CMD_SHORT(0x15,0x00,0x00),
	DSI_CMD_SHORT(0x15,0x01,0xBF),
	DSI_CMD_SHORT(0x15,0x02,0x00),
	DSI_CMD_SHORT(0x15,0x03,0xCE),
	DSI_CMD_SHORT(0x15,0x04,0x00),
	DSI_CMD_SHORT(0x15,0x05,0xDD),
	DSI_CMD_SHORT(0x15,0x06,0x01),
	DSI_CMD_SHORT(0x15,0x07,0x0D),
	DSI_CMD_SHORT(0x15,0x08,0x01),
	DSI_CMD_SHORT(0x15,0x09,0x33),
	DSI_CMD_SHORT(0x15,0x0A,0x01),
	DSI_CMD_SHORT(0x15,0x0B,0x70),
	DSI_CMD_SHORT(0x15,0x0C,0x01),
	DSI_CMD_SHORT(0x15,0x0D,0xA0),
	DSI_CMD_SHORT(0x15,0x0E,0x01),
	DSI_CMD_SHORT(0x15,0x0F,0xE9),
	DSI_CMD_SHORT(0x15,0x10,0x02),
	DSI_CMD_SHORT(0x15,0x11,0x1F),
	DSI_CMD_SHORT(0x15,0x12,0x02),
	DSI_CMD_SHORT(0x15,0x13,0x21),
	DSI_CMD_SHORT(0x15,0x14,0x02),
	DSI_CMD_SHORT(0x15,0x15,0x50),
	DSI_CMD_SHORT(0x15,0x16,0x02),
	DSI_CMD_SHORT(0x15,0x17,0x83),
	DSI_CMD_SHORT(0x15,0x18,0x02),
	DSI_CMD_SHORT(0x15,0x19,0xA4),
	DSI_CMD_SHORT(0x15,0x1A,0x02),
	DSI_CMD_SHORT(0x15,0x1B,0xD1),
	DSI_CMD_SHORT(0x15,0x1C,0x02),
	DSI_CMD_SHORT(0x15,0x1D,0xF0),
	DSI_CMD_SHORT(0x15,0x1E,0x03),
	DSI_CMD_SHORT(0x15,0x1F,0x1A),
	DSI_CMD_SHORT(0x15,0x20,0x03),
	DSI_CMD_SHORT(0x15,0x21,0x26),
	DSI_CMD_SHORT(0x15,0x22,0x03),
	DSI_CMD_SHORT(0x15,0x23,0x34),
	DSI_CMD_SHORT(0x15,0x24,0x03),
	DSI_CMD_SHORT(0x15,0x25,0x44),
	DSI_CMD_SHORT(0x15,0x26,0x03),
	DSI_CMD_SHORT(0x15,0x27,0x55),
	DSI_CMD_SHORT(0x15,0x28,0x03),
	DSI_CMD_SHORT(0x15,0x29,0x6C),
	DSI_CMD_SHORT(0x15,0x2A,0x03),
	DSI_CMD_SHORT(0x15,0x2B,0x85),
	DSI_CMD_SHORT(0x15,0x2D,0x03),
	DSI_CMD_SHORT(0x15,0x2F,0xA8),
	DSI_CMD_SHORT(0x15,0x30,0x03),
	DSI_CMD_SHORT(0x15,0x31,0xAC),
	DSI_CMD_SHORT(0x15,0x32,0x00),
	DSI_CMD_SHORT(0x15,0x33,0xB8),
	DSI_CMD_SHORT(0x15,0x34,0x00),
	DSI_CMD_SHORT(0x15,0x35,0xBD),
	DSI_CMD_SHORT(0x15,0x36,0x00),
	DSI_CMD_SHORT(0x15,0x37,0xC5),
	DSI_CMD_SHORT(0x15,0x38,0x00),
	DSI_CMD_SHORT(0x15,0x39,0xDF),
	DSI_CMD_SHORT(0x15,0x3A,0x00),
	DSI_CMD_SHORT(0x15,0x3B,0xF9),
	DSI_CMD_SHORT(0x15,0x3D,0x01),
	DSI_CMD_SHORT(0x15,0x3F,0x0E),
	DSI_CMD_SHORT(0x15,0x40,0x01),
	DSI_CMD_SHORT(0x15,0x41,0x1F),
	DSI_CMD_SHORT(0x15,0x42,0x01),
	DSI_CMD_SHORT(0x15,0x43,0x2E),
	DSI_CMD_SHORT(0x15,0x44,0x01),
	DSI_CMD_SHORT(0x15,0x45,0x3C),
	DSI_CMD_SHORT(0x15,0x46,0x01),
	DSI_CMD_SHORT(0x15,0x47,0x67),
	DSI_CMD_SHORT(0x15,0x48,0x01),
	DSI_CMD_SHORT(0x15,0x49,0x89),
	DSI_CMD_SHORT(0x15,0x4A,0x01),
	DSI_CMD_SHORT(0x15,0x4B,0xBD),
	DSI_CMD_SHORT(0x15,0x4C,0x01),
	DSI_CMD_SHORT(0x15,0x4D,0xE5),
	DSI_CMD_SHORT(0x15,0x4E,0x02),
	DSI_CMD_SHORT(0x15,0x4F,0x23),
	DSI_CMD_SHORT(0x15,0x50,0x02),
	DSI_CMD_SHORT(0x15,0x51,0x59),
	DSI_CMD_SHORT(0x15,0x52,0x02),
	DSI_CMD_SHORT(0x15,0x53,0x5B),
	DSI_CMD_SHORT(0x15,0x54,0x02),
	DSI_CMD_SHORT(0x15,0x55,0x8A),
	DSI_CMD_SHORT(0x15,0x56,0x02),
	DSI_CMD_SHORT(0x15,0x58,0xBD),
	DSI_CMD_SHORT(0x15,0x59,0x02),
	DSI_CMD_SHORT(0x15,0x5A,0xDE),
	DSI_CMD_SHORT(0x15,0x5B,0x03),
	DSI_CMD_SHORT(0x15,0x5C,0x0B),
	DSI_CMD_SHORT(0x15,0x5D,0x03),
	DSI_CMD_SHORT(0x15,0x5E,0x2A),
	DSI_CMD_SHORT(0x15,0x5F,0x03),
	DSI_CMD_SHORT(0x15,0x60,0x54),
	DSI_CMD_SHORT(0x15,0x61,0x03),
	DSI_CMD_SHORT(0x15,0x62,0x60),
	DSI_CMD_SHORT(0x15,0x63,0x03),
	DSI_CMD_SHORT(0x15,0x64,0x6E),
	DSI_CMD_SHORT(0x15,0x65,0x03),
	DSI_CMD_SHORT(0x15,0x66,0x7E),
	DSI_CMD_SHORT(0x15,0x67,0x03),
	DSI_CMD_SHORT(0x15,0x68,0x8F),
	DSI_CMD_SHORT(0x15,0x69,0x03),
	DSI_CMD_SHORT(0x15,0x6A,0xA5),
	DSI_CMD_SHORT(0x15,0x6B,0x03),
	DSI_CMD_SHORT(0x15,0x6C,0xBF),
	DSI_CMD_SHORT(0x15,0x6D,0x03),
	DSI_CMD_SHORT(0x15,0x6E,0xE2),
	DSI_CMD_SHORT(0x15,0x6F,0x03),
	DSI_CMD_SHORT(0x15,0x70,0xE6),
	DSI_CMD_SHORT(0x15,0x71,0x00),
	DSI_CMD_SHORT(0x15,0x72,0x52),
	DSI_CMD_SHORT(0x15,0x73,0x00),
	DSI_CMD_SHORT(0x15,0x74,0x57),
	DSI_CMD_SHORT(0x15,0x75,0x00),
	DSI_CMD_SHORT(0x15,0x76,0x60),
	DSI_CMD_SHORT(0x15,0x77,0x00),
	DSI_CMD_SHORT(0x15,0x78,0x7C),
	DSI_CMD_SHORT(0x15,0x79,0x00),
	DSI_CMD_SHORT(0x15,0x7A,0x97),
	DSI_CMD_SHORT(0x15,0x7B,0x00),
	DSI_CMD_SHORT(0x15,0x7C,0xAD),
	DSI_CMD_SHORT(0x15,0x7D,0x00),
	DSI_CMD_SHORT(0x15,0x7E,0xBF),
	DSI_CMD_SHORT(0x15,0x7F,0x00),
	DSI_CMD_SHORT(0x15,0x80,0xCE),
	DSI_CMD_SHORT(0x15,0x81,0x00),
	DSI_CMD_SHORT(0x15,0x82,0xDD),
	DSI_CMD_SHORT(0x15,0x83,0x01),
	DSI_CMD_SHORT(0x15,0x84,0x0D),
	DSI_CMD_SHORT(0x15,0x85,0x01),
	DSI_CMD_SHORT(0x15,0x86,0x33),
	DSI_CMD_SHORT(0x15,0x87,0x01),
	DSI_CMD_SHORT(0x15,0x88,0x70),
	DSI_CMD_SHORT(0x15,0x89,0x01),
	DSI_CMD_SHORT(0x15,0x8A,0xA0),
	DSI_CMD_SHORT(0x15,0x8B,0x01),
	DSI_CMD_SHORT(0x15,0x8C,0xE9),
	DSI_CMD_SHORT(0x15,0x8D,0x02),
	DSI_CMD_SHORT(0x15,0x8E,0x1F),
	DSI_CMD_SHORT(0x15,0x8F,0x02),
	DSI_CMD_SHORT(0x15,0x90,0x21),
	DSI_CMD_SHORT(0x15,0x91,0x02),
	DSI_CMD_SHORT(0x15,0x92,0x50),
	DSI_CMD_SHORT(0x15,0x93,0x02),
	DSI_CMD_SHORT(0x15,0x94,0x83),
	DSI_CMD_SHORT(0x15,0x95,0x02),
	DSI_CMD_SHORT(0x15,0x96,0xA4),
	DSI_CMD_SHORT(0x15,0x97,0x02),
	DSI_CMD_SHORT(0x15,0x98,0xD1),
	DSI_CMD_SHORT(0x15,0x99,0x02),
	DSI_CMD_SHORT(0x15,0x9A,0xF0),
	DSI_CMD_SHORT(0x15,0x9B,0x03),
	DSI_CMD_SHORT(0x15,0x9C,0x1A),
	DSI_CMD_SHORT(0x15,0x9D,0x03),
	DSI_CMD_SHORT(0x15,0x9E,0x26),
	DSI_CMD_SHORT(0x15,0x9F,0x03),
	DSI_CMD_SHORT(0x15,0xA0,0x34),
	DSI_CMD_SHORT(0x15,0xA2,0x03),
	DSI_CMD_SHORT(0x15,0xA3,0x44),
	DSI_CMD_SHORT(0x15,0xA4,0x03),
	DSI_CMD_SHORT(0x15,0xA5,0x55),
	DSI_CMD_SHORT(0x15,0xA6,0x03),
	DSI_CMD_SHORT(0x15,0xA7,0x6C),
	DSI_CMD_SHORT(0x15,0xA9,0x03),
	DSI_CMD_SHORT(0x15,0xAA,0x85),
	DSI_CMD_SHORT(0x15,0xAB,0x03),
	DSI_CMD_SHORT(0x15,0xAC,0xA8),
	DSI_CMD_SHORT(0x15,0xAD,0x03),
	DSI_CMD_SHORT(0x15,0xAE,0xAC),
	DSI_CMD_SHORT(0x15,0xAF,0x00),
	DSI_CMD_SHORT(0x15,0xB0,0xB8),
	DSI_CMD_SHORT(0x15,0xB1,0x00),
	DSI_CMD_SHORT(0x15,0xB2,0xBD),
	DSI_CMD_SHORT(0x15,0xB3,0x00),
	DSI_CMD_SHORT(0x15,0xB4,0xC5),
	DSI_CMD_SHORT(0x15,0xB5,0x00),
	DSI_CMD_SHORT(0x15,0xB6,0xDF),
	DSI_CMD_SHORT(0x15,0xB7,0x00),
	DSI_CMD_SHORT(0x15,0xB8,0xF9),
	DSI_CMD_SHORT(0x15,0xB9,0x01),
	DSI_CMD_SHORT(0x15,0xBA,0x0E),
	DSI_CMD_SHORT(0x15,0xBB,0x01),
	DSI_CMD_SHORT(0x15,0xBC,0x1F),
	DSI_CMD_SHORT(0x15,0xBD,0x01),
	DSI_CMD_SHORT(0x15,0xBE,0x2E),
	DSI_CMD_SHORT(0x15,0xBF,0x01),
	DSI_CMD_SHORT(0x15,0xC0,0x3C),
	DSI_CMD_SHORT(0x15,0xC1,0x01),
	DSI_CMD_SHORT(0x15,0xC2,0x67),
	DSI_CMD_SHORT(0x15,0xC3,0x01),
	DSI_CMD_SHORT(0x15,0xC4,0x89),
	DSI_CMD_SHORT(0x15,0xC5,0x01),
	DSI_CMD_SHORT(0x15,0xC6,0xBD),
	DSI_CMD_SHORT(0x15,0xC7,0x01),
	DSI_CMD_SHORT(0x15,0xC8,0xE5),
	DSI_CMD_SHORT(0x15,0xC9,0x02),
	DSI_CMD_SHORT(0x15,0xCA,0x23),
	DSI_CMD_SHORT(0x15,0xCB,0x02),
	DSI_CMD_SHORT(0x15,0xCC,0x59),
	DSI_CMD_SHORT(0x15,0xCD,0x02),
	DSI_CMD_SHORT(0x15,0xCE,0x5B),
	DSI_CMD_SHORT(0x15,0xCF,0x02),
	DSI_CMD_SHORT(0x15,0xD0,0x8A),
	DSI_CMD_SHORT(0x15,0xD1,0x02),
	DSI_CMD_SHORT(0x15,0xD2,0xBD),
	DSI_CMD_SHORT(0x15,0xD3,0x02),
	DSI_CMD_SHORT(0x15,0xD4,0xDE),
	DSI_CMD_SHORT(0x15,0xD5,0x03),
	DSI_CMD_SHORT(0x15,0xD6,0x0B),
	DSI_CMD_SHORT(0x15,0xD7,0x03),
	DSI_CMD_SHORT(0x15,0xD8,0x2A),
	DSI_CMD_SHORT(0x15,0xD9,0x03),
	DSI_CMD_SHORT(0x15,0xDA,0x54),
	DSI_CMD_SHORT(0x15,0xDB,0x03),
	DSI_CMD_SHORT(0x15,0xDC,0x60),
	DSI_CMD_SHORT(0x15,0xDD,0x03),
	DSI_CMD_SHORT(0x15,0xDE,0x6E),
	DSI_CMD_SHORT(0x15,0xDF,0x03),
	DSI_CMD_SHORT(0x15,0xE0,0x7E),
	DSI_CMD_SHORT(0x15,0xE1,0x03),
	DSI_CMD_SHORT(0x15,0xE2,0x8F),
	DSI_CMD_SHORT(0x15,0xE3,0x03),
	DSI_CMD_SHORT(0x15,0xE4,0xA5),
	DSI_CMD_SHORT(0x15,0xE5,0x03),
	DSI_CMD_SHORT(0x15,0xE6,0xBF),
	DSI_CMD_SHORT(0x15,0xE7,0x03),
	DSI_CMD_SHORT(0x15,0xE8,0xE2),
	DSI_CMD_SHORT(0x15,0xE9,0x03),
	DSI_CMD_SHORT(0x15,0xEA,0xE6),
	DSI_CMD_SHORT(0x15,0xFF,0x00),
	DSI_CMD_SHORT(0x15,0xFE,0x01),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

	/*CABC setting*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x05, 0x2D),
	DSI_CMD_SHORT(0x15, 0x21, 0xFF),
	DSI_CMD_SHORT(0x15, 0x22, 0xF7),
	DSI_CMD_SHORT(0x15, 0x23, 0xEF),
	DSI_CMD_SHORT(0x15, 0x24, 0xE7),
	DSI_CMD_SHORT(0x15, 0x25, 0xDF),
	DSI_CMD_SHORT(0x15, 0x26, 0xD7),
	DSI_CMD_SHORT(0x15, 0x27, 0xCF),
	DSI_CMD_SHORT(0x15, 0x28, 0xC7),
	DSI_CMD_SHORT(0x15, 0x29, 0xBF),
	DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x55, 0x83),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_init_sharp_nt_c2_9a_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	/*this is porch setting for video mode
	DSI_CMD_LONG(0x39, porch),
	*/
	/*color enhancement 2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x03),
	DSI_CMD_SHORT(0x15, 0xFE, 0x08),
	DSI_CMD_SHORT(0x15, 0x18, 0x00),
	DSI_CMD_SHORT(0x15, 0x19, 0x00),
	DSI_CMD_SHORT(0x15, 0x1A, 0x00),
	DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),

	DSI_CMD_SHORT(0x15, 0xFF, 0x05),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0x28, 0x01),
	DSI_CMD_SHORT(0x15, 0x2F, 0x02),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),

	/*gamma case-c*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFE, 0x02),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x9F),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0xA8),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0xB8),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0xC8),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0xD5),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xE2),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xEE),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xFA),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x04),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x2A),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x4A),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0x7F),
	DSI_CMD_SHORT(0x15, 0x8D, 0x01),
	DSI_CMD_SHORT(0x15, 0x8E, 0xAC),
	DSI_CMD_SHORT(0x15, 0x8F, 0x01),
	DSI_CMD_SHORT(0x15, 0x90, 0xF2),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x26),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x27),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0x56),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0x89),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xAA),
	DSI_CMD_SHORT(0x15, 0x9B, 0x02),
	DSI_CMD_SHORT(0x15, 0x9C, 0xD8),
	DSI_CMD_SHORT(0x15, 0x9D, 0x02),
	DSI_CMD_SHORT(0x15, 0x9E, 0xF8),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x21),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x2C),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x3D),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x4A),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x60),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0x72),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0x8F),
	DSI_CMD_SHORT(0x15, 0xAF, 0x03),
	DSI_CMD_SHORT(0x15, 0xB0, 0xA9),
	DSI_CMD_SHORT(0x15, 0xB1, 0x03),
	DSI_CMD_SHORT(0x15, 0xB2, 0xAC),
	DSI_CMD_SHORT(0x15, 0xB3, 0x01),
	DSI_CMD_SHORT(0x15, 0xB4, 0x06),
	DSI_CMD_SHORT(0x15, 0xB5, 0x01),
	DSI_CMD_SHORT(0x15, 0xB6, 0x0D),
	DSI_CMD_SHORT(0x15, 0xB7, 0x01),
	DSI_CMD_SHORT(0x15, 0xB8, 0x1D),
	DSI_CMD_SHORT(0x15, 0xB9, 0x01),
	DSI_CMD_SHORT(0x15, 0xBA, 0x2B),
	DSI_CMD_SHORT(0x15, 0xBB, 0x01),
	DSI_CMD_SHORT(0x15, 0xBC, 0x38),
	DSI_CMD_SHORT(0x15, 0xBD, 0x01),
	DSI_CMD_SHORT(0x15, 0xBE, 0x44),
	DSI_CMD_SHORT(0x15, 0xBF, 0x01),
	DSI_CMD_SHORT(0x15, 0xC0, 0x4F),
	DSI_CMD_SHORT(0x15, 0xC1, 0x01),
	DSI_CMD_SHORT(0x15, 0xC2, 0x59),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x62),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x84),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0xA0),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0xCD),
	DSI_CMD_SHORT(0x15, 0xCB, 0x01),
	DSI_CMD_SHORT(0x15, 0xCC, 0xF1),
	DSI_CMD_SHORT(0x15, 0xCD, 0x02),
	DSI_CMD_SHORT(0x15, 0xCE, 0x2C),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x60),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x61),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0x90),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0xC3),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xE4),
	DSI_CMD_SHORT(0x15, 0xD9, 0x03),
	DSI_CMD_SHORT(0x15, 0xDA, 0x12),
	DSI_CMD_SHORT(0x15, 0xDB, 0x03),
	DSI_CMD_SHORT(0x15, 0xDC, 0x32),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x5B),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x66),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x77),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x84),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x99),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0xAB),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xC9),
	DSI_CMD_SHORT(0x15, 0xEB, 0x03),
	DSI_CMD_SHORT(0x15, 0xEC, 0xE3),
	DSI_CMD_SHORT(0x15, 0xED, 0x03),
	DSI_CMD_SHORT(0x15, 0xEE, 0xE6),
	DSI_CMD_SHORT(0x15, 0xEF, 0x00),
	DSI_CMD_SHORT(0x15, 0xF0, 0x9F),
	DSI_CMD_SHORT(0x15, 0xF1, 0x00),
	DSI_CMD_SHORT(0x15, 0xF2, 0xA8),
	DSI_CMD_SHORT(0x15, 0xF3, 0x00),
	DSI_CMD_SHORT(0x15, 0xF4, 0xB8),
	DSI_CMD_SHORT(0x15, 0xF5, 0x00),
	DSI_CMD_SHORT(0x15, 0xF6, 0xC8),
	DSI_CMD_SHORT(0x15, 0xF7, 0x00),
	DSI_CMD_SHORT(0x15, 0xF8, 0xD5),
	DSI_CMD_SHORT(0x15, 0xF9, 0x00),
	DSI_CMD_SHORT(0x15, 0xFA, 0xE2),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0xFE, 0x04),
	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0xEE),
	DSI_CMD_SHORT(0x15, 0x02, 0x00),
	DSI_CMD_SHORT(0x15, 0x03, 0xFA),
	DSI_CMD_SHORT(0x15, 0x04, 0x01),
	DSI_CMD_SHORT(0x15, 0x05, 0x04),
	DSI_CMD_SHORT(0x15, 0x06, 0x01),
	DSI_CMD_SHORT(0x15, 0x07, 0x2A),
	DSI_CMD_SHORT(0x15, 0x08, 0x01),
	DSI_CMD_SHORT(0x15, 0x09, 0x4A),
	DSI_CMD_SHORT(0x15, 0x0A, 0x01),
	DSI_CMD_SHORT(0x15, 0x0B, 0x7F),
	DSI_CMD_SHORT(0x15, 0x0C, 0x01),
	DSI_CMD_SHORT(0x15, 0x0D, 0xAC),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0xF2),
	DSI_CMD_SHORT(0x15, 0x10, 0x02),
	DSI_CMD_SHORT(0x15, 0x11, 0x26),
	DSI_CMD_SHORT(0x15, 0x12, 0x02),
	DSI_CMD_SHORT(0x15, 0x13, 0x27),
	DSI_CMD_SHORT(0x15, 0x14, 0x02),
	DSI_CMD_SHORT(0x15, 0x15, 0x56),
	DSI_CMD_SHORT(0x15, 0x16, 0x02),
	DSI_CMD_SHORT(0x15, 0x17, 0x89),
	DSI_CMD_SHORT(0x15, 0x18, 0x02),
	DSI_CMD_SHORT(0x15, 0x19, 0xAA),
	DSI_CMD_SHORT(0x15, 0x1A, 0x02),
	DSI_CMD_SHORT(0x15, 0x1B, 0xD8),
	DSI_CMD_SHORT(0x15, 0x1C, 0x02),
	DSI_CMD_SHORT(0x15, 0x1D, 0xF8),
	DSI_CMD_SHORT(0x15, 0x1E, 0x03),
	DSI_CMD_SHORT(0x15, 0x1F, 0x21),
	DSI_CMD_SHORT(0x15, 0x20, 0x03),
	DSI_CMD_SHORT(0x15, 0x21, 0x2C),
	DSI_CMD_SHORT(0x15, 0x22, 0x03),
	DSI_CMD_SHORT(0x15, 0x23, 0x3D),
	DSI_CMD_SHORT(0x15, 0x24, 0x03),
	DSI_CMD_SHORT(0x15, 0x25, 0x4A),
	DSI_CMD_SHORT(0x15, 0x26, 0x03),
	DSI_CMD_SHORT(0x15, 0x27, 0x60),
	DSI_CMD_SHORT(0x15, 0x28, 0x03),
	DSI_CMD_SHORT(0x15, 0x29, 0x72),
	DSI_CMD_SHORT(0x15, 0x2A, 0x03),
	DSI_CMD_SHORT(0x15, 0x2B, 0x8F),
	DSI_CMD_SHORT(0x15, 0x2D, 0x03),
	DSI_CMD_SHORT(0x15, 0x2F, 0xA9),
	DSI_CMD_SHORT(0x15, 0x30, 0x03),
	DSI_CMD_SHORT(0x15, 0x31, 0xAC),
	DSI_CMD_SHORT(0x15, 0x32, 0x01),
	DSI_CMD_SHORT(0x15, 0x33, 0x06),
	DSI_CMD_SHORT(0x15, 0x34, 0x01),
	DSI_CMD_SHORT(0x15, 0x35, 0x0D),
	DSI_CMD_SHORT(0x15, 0x36, 0x01),
	DSI_CMD_SHORT(0x15, 0x37, 0x1D),
	DSI_CMD_SHORT(0x15, 0x38, 0x01),
	DSI_CMD_SHORT(0x15, 0x39, 0x2B),
	DSI_CMD_SHORT(0x15, 0x3A, 0x01),
	DSI_CMD_SHORT(0x15, 0x3B, 0x38),
	DSI_CMD_SHORT(0x15, 0x3D, 0x01),
	DSI_CMD_SHORT(0x15, 0x3F, 0x44),
	DSI_CMD_SHORT(0x15, 0x40, 0x01),
	DSI_CMD_SHORT(0x15, 0x41, 0x4F),
	DSI_CMD_SHORT(0x15, 0x42, 0x01),
	DSI_CMD_SHORT(0x15, 0x43, 0x59),
	DSI_CMD_SHORT(0x15, 0x44, 0x01),
	DSI_CMD_SHORT(0x15, 0x45, 0x62),
	DSI_CMD_SHORT(0x15, 0x46, 0x01),
	DSI_CMD_SHORT(0x15, 0x47, 0x84),
	DSI_CMD_SHORT(0x15, 0x48, 0x01),
	DSI_CMD_SHORT(0x15, 0x49, 0xA0),
	DSI_CMD_SHORT(0x15, 0x4A, 0x01),
	DSI_CMD_SHORT(0x15, 0x4B, 0xCD),
	DSI_CMD_SHORT(0x15, 0x4C, 0x01),
	DSI_CMD_SHORT(0x15, 0x4D, 0xF1),
	DSI_CMD_SHORT(0x15, 0x4E, 0x02),
	DSI_CMD_SHORT(0x15, 0x4F, 0x2C),
	DSI_CMD_SHORT(0x15, 0x50, 0x02),
	DSI_CMD_SHORT(0x15, 0x51, 0x60),
	DSI_CMD_SHORT(0x15, 0x52, 0x02),
	DSI_CMD_SHORT(0x15, 0x53, 0x61),
	DSI_CMD_SHORT(0x15, 0x54, 0x02),
	DSI_CMD_SHORT(0x15, 0x55, 0x90),
	DSI_CMD_SHORT(0x15, 0x56, 0x02),
	DSI_CMD_SHORT(0x15, 0x58, 0xC3),
	DSI_CMD_SHORT(0x15, 0x59, 0x02),
	DSI_CMD_SHORT(0x15, 0x5A, 0xE4),
	DSI_CMD_SHORT(0x15, 0x5B, 0x03),
	DSI_CMD_SHORT(0x15, 0x5C, 0x12),
	DSI_CMD_SHORT(0x15, 0x5D, 0x03),
	DSI_CMD_SHORT(0x15, 0x5E, 0x32),
	DSI_CMD_SHORT(0x15, 0x5F, 0x03),
	DSI_CMD_SHORT(0x15, 0x60, 0x5B),
	DSI_CMD_SHORT(0x15, 0x61, 0x03),
	DSI_CMD_SHORT(0x15, 0x62, 0x66),
	DSI_CMD_SHORT(0x15, 0x63, 0x03),
	DSI_CMD_SHORT(0x15, 0x64, 0x77),
	DSI_CMD_SHORT(0x15, 0x65, 0x03),
	DSI_CMD_SHORT(0x15, 0x66, 0x84),
	DSI_CMD_SHORT(0x15, 0x67, 0x03),
	DSI_CMD_SHORT(0x15, 0x68, 0x99),
	DSI_CMD_SHORT(0x15, 0x69, 0x03),
	DSI_CMD_SHORT(0x15, 0x6A, 0xAB),
	DSI_CMD_SHORT(0x15, 0x6B, 0x03),
	DSI_CMD_SHORT(0x15, 0x6C, 0xC9),
	DSI_CMD_SHORT(0x15, 0x6D, 0x03),
	DSI_CMD_SHORT(0x15, 0x6E, 0xE3),
	DSI_CMD_SHORT(0x15, 0x6F, 0x03),
	DSI_CMD_SHORT(0x15, 0x70, 0xE6),
	DSI_CMD_SHORT(0x15, 0x71, 0x00),
	DSI_CMD_SHORT(0x15, 0x72, 0x01),
	DSI_CMD_SHORT(0x15, 0x73, 0x00),
	DSI_CMD_SHORT(0x15, 0x74, 0x30),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x4F),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0x68),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0x81),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0x97),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0xAB),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xBC),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xCC),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xFF),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x27),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x66),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x99),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0xE6),
	DSI_CMD_SHORT(0x15, 0x8D, 0x02),
	DSI_CMD_SHORT(0x15, 0x8E, 0x1E),
	DSI_CMD_SHORT(0x15, 0x8F, 0x02),
	DSI_CMD_SHORT(0x15, 0x90, 0x1F),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x51),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x85),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0xA6),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0xD4),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xF4),
	DSI_CMD_SHORT(0x15, 0x9B, 0x03),
	DSI_CMD_SHORT(0x15, 0x9C, 0x1E),
	DSI_CMD_SHORT(0x15, 0x9D, 0x03),
	DSI_CMD_SHORT(0x15, 0x9E, 0x2A),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x39),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x48),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x5C),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x70),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x8D),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0xA9),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0xAC),
	DSI_CMD_SHORT(0x15, 0xAF, 0x00),
	DSI_CMD_SHORT(0x15, 0xB0, 0x67),
	DSI_CMD_SHORT(0x15, 0xB1, 0x00),
	DSI_CMD_SHORT(0x15, 0xB2, 0x96),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0xB3),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0xCC),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0xE3),
	DSI_CMD_SHORT(0x15, 0xB9, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0xF8),
	DSI_CMD_SHORT(0x15, 0xBB, 0x01),
	DSI_CMD_SHORT(0x15, 0xBC, 0x0B),
	DSI_CMD_SHORT(0x15, 0xBD, 0x01),
	DSI_CMD_SHORT(0x15, 0xBE, 0x1B),
	DSI_CMD_SHORT(0x15, 0xBF, 0x01),
	DSI_CMD_SHORT(0x15, 0xC0, 0x2A),
	DSI_CMD_SHORT(0x15, 0xC1, 0x01),
	DSI_CMD_SHORT(0x15, 0xC2, 0x59),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x7D),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0xB4),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0xDE),
	DSI_CMD_SHORT(0x15, 0xC9, 0x02),
	DSI_CMD_SHORT(0x15, 0xCA, 0x20),
	DSI_CMD_SHORT(0x15, 0xCB, 0x02),
	DSI_CMD_SHORT(0x15, 0xCC, 0x58),
	DSI_CMD_SHORT(0x15, 0xCD, 0x02),
	DSI_CMD_SHORT(0x15, 0xCE, 0x59),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x8B),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0xBE),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0xE0),
	DSI_CMD_SHORT(0x15, 0xD5, 0x03),
	DSI_CMD_SHORT(0x15, 0xD6, 0x0E),
	DSI_CMD_SHORT(0x15, 0xD7, 0x03),
	DSI_CMD_SHORT(0x15, 0xD8, 0x2E),
	DSI_CMD_SHORT(0x15, 0xD9, 0x03),
	DSI_CMD_SHORT(0x15, 0xDA, 0x58),
	DSI_CMD_SHORT(0x15, 0xDB, 0x03),
	DSI_CMD_SHORT(0x15, 0xDC, 0x64),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x73),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x82),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x96),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0xAA),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0xC7),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0xE3),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xE6),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

	/*CABC setting*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x05, 0x2D),
	DSI_CMD_SHORT(0x15, 0x21, 0xFF),
	DSI_CMD_SHORT(0x15, 0x22, 0xF7),
	DSI_CMD_SHORT(0x15, 0x23, 0xEF),
	DSI_CMD_SHORT(0x15, 0x24, 0xE7),
	DSI_CMD_SHORT(0x15, 0x25, 0xDF),
	DSI_CMD_SHORT(0x15, 0x26, 0xD7),
	DSI_CMD_SHORT(0x15, 0x27, 0xCF),
	DSI_CMD_SHORT(0x15, 0x28, 0xC7),
	DSI_CMD_SHORT(0x15, 0x29, 0xBF),
	DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x55, 0x83),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_init_sharp_unknow_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),
	/*this is porch setting for video mode
	DSI_CMD_LONG(0x39, porch),
	*/
	/*color enhancement 2.2*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x03),
	DSI_CMD_SHORT(0x15, 0xFE, 0x08),
	DSI_CMD_SHORT(0x15, 0x18, 0x00),
	DSI_CMD_SHORT(0x15, 0x19, 0x00),
	DSI_CMD_SHORT(0x15, 0x1A, 0x00),
	DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x15, 0xFE, 0x01),

	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),
	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

	DSI_CMD_SHORT(0x15, 0x53, 0x24),
	DSI_CMD_SHORT(0x15, 0x55, 0x80),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_init_auo_nt_c2_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),

        /*color enhancement 2.2*/
        DSI_CMD_SHORT(0x15, 0xFF, 0x03),
        DSI_CMD_SHORT(0x15, 0xFE, 0x08),
        DSI_CMD_SHORT(0x15, 0x18, 0x00),
        DSI_CMD_SHORT(0x15, 0x19, 0x00),
        DSI_CMD_SHORT(0x15, 0x1A, 0x00),
        DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

        DSI_CMD_SHORT(0x15, 0xFB, 0x01),
        DSI_CMD_SHORT(0x15, 0xFF, 0x00),
        DSI_CMD_SHORT(0x15, 0xFE, 0x01),

	/*frame rate 60HZ*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x05),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0x02, 0x8E),
	DSI_CMD_SHORT(0x15, 0x03, 0x8E),
	DSI_CMD_SHORT(0x15, 0x04, 0x8E),

	/*gamma V3.5*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0x01, 0x33),
	DSI_CMD_SHORT(0x15, 0x02, 0x53),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0xEA),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0xF1),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0xF9),
	DSI_CMD_SHORT(0x15, 0x7B, 0x01),
	DSI_CMD_SHORT(0x15, 0x7C, 0x04),
	DSI_CMD_SHORT(0x15, 0x7D, 0x01),
	DSI_CMD_SHORT(0x15, 0x7E, 0x0F),
	DSI_CMD_SHORT(0x15, 0x7F, 0x01),
	DSI_CMD_SHORT(0x15, 0x80, 0x17),
	DSI_CMD_SHORT(0x15, 0x81, 0x01),
	DSI_CMD_SHORT(0x15, 0x82, 0x1E),
	DSI_CMD_SHORT(0x15, 0x83, 0x01),
	DSI_CMD_SHORT(0x15, 0x84, 0x29),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x32),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x50),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x69),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0x98),
	DSI_CMD_SHORT(0x15, 0x8D, 0x01),
	DSI_CMD_SHORT(0x15, 0x8E, 0xBD),
	DSI_CMD_SHORT(0x15, 0x8F, 0x01),
	DSI_CMD_SHORT(0x15, 0x90, 0xFD),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x2E),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x30),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0x5D),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0x91),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xB2),
	DSI_CMD_SHORT(0x15, 0x9B, 0x02),
	DSI_CMD_SHORT(0x15, 0x9C, 0xDF),
	DSI_CMD_SHORT(0x15, 0x9D, 0x02),
	DSI_CMD_SHORT(0x15, 0x9E, 0xFF),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x29),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x38),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x48),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x59),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x66),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0x88),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0x97),
	DSI_CMD_SHORT(0x15, 0xAF, 0x03),
	DSI_CMD_SHORT(0x15, 0xB0, 0xC2),
	DSI_CMD_SHORT(0x15, 0xB1, 0x03),
	DSI_CMD_SHORT(0x15, 0xB2, 0xCB),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0xEA),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0xF1),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0xF9),
	DSI_CMD_SHORT(0x15, 0xB9, 0x01),
	DSI_CMD_SHORT(0x15, 0xBA, 0x04),
	DSI_CMD_SHORT(0x15, 0xBB, 0x01),
	DSI_CMD_SHORT(0x15, 0xBC, 0x0F),
	DSI_CMD_SHORT(0x15, 0xBD, 0x01),
	DSI_CMD_SHORT(0x15, 0xBE, 0x17),
	DSI_CMD_SHORT(0x15, 0xBF, 0x01),
	DSI_CMD_SHORT(0x15, 0xC0, 0x1E),
	DSI_CMD_SHORT(0x15, 0xC1, 0x01),
	DSI_CMD_SHORT(0x15, 0xC2, 0x29),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x32),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x50),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x69),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0x98),
	DSI_CMD_SHORT(0x15, 0xCB, 0x01),
	DSI_CMD_SHORT(0x15, 0xCC, 0xBD),
	DSI_CMD_SHORT(0x15, 0xCD, 0x01),
	DSI_CMD_SHORT(0x15, 0xCE, 0xFD),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x2E),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x30),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0x5D),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0x91),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xB2),
	DSI_CMD_SHORT(0x15, 0xD9, 0x02),
	DSI_CMD_SHORT(0x15, 0xDA, 0xDF),
	DSI_CMD_SHORT(0x15, 0xDB, 0x02),
	DSI_CMD_SHORT(0x15, 0xDC, 0xFF),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x29),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x38),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x48),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x59),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x66),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0x88),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0x97),
	DSI_CMD_SHORT(0x15, 0xEB, 0x03),
	DSI_CMD_SHORT(0x15, 0xEC, 0xC2),
	DSI_CMD_SHORT(0x15, 0xED, 0x03),
	DSI_CMD_SHORT(0x15, 0xEE, 0xCB),
	DSI_CMD_SHORT(0x15, 0xEF, 0x01),
	DSI_CMD_SHORT(0x15, 0xF0, 0x00),
	DSI_CMD_SHORT(0x15, 0xF1, 0x01),
	DSI_CMD_SHORT(0x15, 0xF2, 0x06),
	DSI_CMD_SHORT(0x15, 0xF3, 0x01),
	DSI_CMD_SHORT(0x15, 0xF4, 0x10),
	DSI_CMD_SHORT(0x15, 0xF5, 0x01),
	DSI_CMD_SHORT(0x15, 0xF6, 0x16),
	DSI_CMD_SHORT(0x15, 0xF7, 0x01),
	DSI_CMD_SHORT(0x15, 0xF8, 0x1E),
	DSI_CMD_SHORT(0x15, 0xF9, 0x01),
	DSI_CMD_SHORT(0x15, 0xFA, 0x26),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0x00, 0x01),
	DSI_CMD_SHORT(0x15, 0x01, 0x2E),
	DSI_CMD_SHORT(0x15, 0x02, 0x01),
	DSI_CMD_SHORT(0x15, 0x03, 0x35),
	DSI_CMD_SHORT(0x15, 0x04, 0x01),
	DSI_CMD_SHORT(0x15, 0x05, 0x3C),
	DSI_CMD_SHORT(0x15, 0x06, 0x01),
	DSI_CMD_SHORT(0x15, 0x07, 0x57),
	DSI_CMD_SHORT(0x15, 0x08, 0x01),
	DSI_CMD_SHORT(0x15, 0x09, 0x70),
	DSI_CMD_SHORT(0x15, 0x0A, 0x01),
	DSI_CMD_SHORT(0x15, 0x0B, 0x99),
	DSI_CMD_SHORT(0x15, 0x0C, 0x01),
	DSI_CMD_SHORT(0x15, 0x0D, 0xBE),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0xFA),
	DSI_CMD_SHORT(0x15, 0x10, 0x02),
	DSI_CMD_SHORT(0x15, 0x11, 0x2B),
	DSI_CMD_SHORT(0x15, 0x12, 0x02),
	DSI_CMD_SHORT(0x15, 0x13, 0x2D),
	DSI_CMD_SHORT(0x15, 0x14, 0x02),
	DSI_CMD_SHORT(0x15, 0x15, 0x5B),
	DSI_CMD_SHORT(0x15, 0x16, 0x02),
	DSI_CMD_SHORT(0x15, 0x17, 0x8F),
	DSI_CMD_SHORT(0x15, 0x18, 0x02),
	DSI_CMD_SHORT(0x15, 0x19, 0xB1),
	DSI_CMD_SHORT(0x15, 0x1A, 0x02),
	DSI_CMD_SHORT(0x15, 0x1B, 0xDF),
	DSI_CMD_SHORT(0x15, 0x1C, 0x02),
	DSI_CMD_SHORT(0x15, 0x1D, 0xFF),
	DSI_CMD_SHORT(0x15, 0x1E, 0x03),
	DSI_CMD_SHORT(0x15, 0x1F, 0x28),
	DSI_CMD_SHORT(0x15, 0x20, 0x03),
	DSI_CMD_SHORT(0x15, 0x21, 0x35),
	DSI_CMD_SHORT(0x15, 0x22, 0x03),
	DSI_CMD_SHORT(0x15, 0x23, 0x43),
	DSI_CMD_SHORT(0x15, 0x24, 0x03),
	DSI_CMD_SHORT(0x15, 0x25, 0x52),
	DSI_CMD_SHORT(0x15, 0x26, 0x03),
	DSI_CMD_SHORT(0x15, 0x27, 0x63),
	DSI_CMD_SHORT(0x15, 0x28, 0x03),
	DSI_CMD_SHORT(0x15, 0x29, 0x76),
	DSI_CMD_SHORT(0x15, 0x2A, 0x03),
	DSI_CMD_SHORT(0x15, 0x2B, 0x87),
	DSI_CMD_SHORT(0x15, 0x2D, 0x03),
	DSI_CMD_SHORT(0x15, 0x2F, 0x9A),
	DSI_CMD_SHORT(0x15, 0x30, 0x03),
	DSI_CMD_SHORT(0x15, 0x31, 0xCB),
	DSI_CMD_SHORT(0x15, 0x32, 0x01),
	DSI_CMD_SHORT(0x15, 0x33, 0x00),
	DSI_CMD_SHORT(0x15, 0x34, 0x01),
	DSI_CMD_SHORT(0x15, 0x35, 0x06),
	DSI_CMD_SHORT(0x15, 0x36, 0x01),
	DSI_CMD_SHORT(0x15, 0x37, 0x10),
	DSI_CMD_SHORT(0x15, 0x38, 0x01),
	DSI_CMD_SHORT(0x15, 0x39, 0x16),
	DSI_CMD_SHORT(0x15, 0x3A, 0x01),
	DSI_CMD_SHORT(0x15, 0x3B, 0x1E),
	DSI_CMD_SHORT(0x15, 0x3D, 0x01),
	DSI_CMD_SHORT(0x15, 0x3F, 0x26),
	DSI_CMD_SHORT(0x15, 0x40, 0x01),
	DSI_CMD_SHORT(0x15, 0x41, 0x2E),
	DSI_CMD_SHORT(0x15, 0x42, 0x01),
	DSI_CMD_SHORT(0x15, 0x43, 0x35),
	DSI_CMD_SHORT(0x15, 0x44, 0x01),
	DSI_CMD_SHORT(0x15, 0x45, 0x3C),
	DSI_CMD_SHORT(0x15, 0x46, 0x01),
	DSI_CMD_SHORT(0x15, 0x47, 0x57),
	DSI_CMD_SHORT(0x15, 0x48, 0x01),
	DSI_CMD_SHORT(0x15, 0x49, 0x70),
	DSI_CMD_SHORT(0x15, 0x4A, 0x01),
	DSI_CMD_SHORT(0x15, 0x4B, 0x99),
	DSI_CMD_SHORT(0x15, 0x4C, 0x01),
	DSI_CMD_SHORT(0x15, 0x4D, 0xBE),
	DSI_CMD_SHORT(0x15, 0x4E, 0x01),
	DSI_CMD_SHORT(0x15, 0x4F, 0xFA),
	DSI_CMD_SHORT(0x15, 0x50, 0x02),
	DSI_CMD_SHORT(0x15, 0x51, 0x2B),
	DSI_CMD_SHORT(0x15, 0x52, 0x02),
	DSI_CMD_SHORT(0x15, 0x53, 0x2D),
	DSI_CMD_SHORT(0x15, 0x54, 0x02),
	DSI_CMD_SHORT(0x15, 0x55, 0x5B),
	DSI_CMD_SHORT(0x15, 0x56, 0x02),
	DSI_CMD_SHORT(0x15, 0x58, 0x8F),
	DSI_CMD_SHORT(0x15, 0x59, 0x02),
	DSI_CMD_SHORT(0x15, 0x5A, 0xB1),
	DSI_CMD_SHORT(0x15, 0x5B, 0x02),
	DSI_CMD_SHORT(0x15, 0x5C, 0xDF),
	DSI_CMD_SHORT(0x15, 0x5D, 0x02),
	DSI_CMD_SHORT(0x15, 0x5E, 0xFF),
	DSI_CMD_SHORT(0x15, 0x5F, 0x03),
	DSI_CMD_SHORT(0x15, 0x60, 0x28),
	DSI_CMD_SHORT(0x15, 0x61, 0x03),
	DSI_CMD_SHORT(0x15, 0x62, 0x35),
	DSI_CMD_SHORT(0x15, 0x63, 0x03),
	DSI_CMD_SHORT(0x15, 0x64, 0x43),
	DSI_CMD_SHORT(0x15, 0x65, 0x03),
	DSI_CMD_SHORT(0x15, 0x66, 0x52),
	DSI_CMD_SHORT(0x15, 0x67, 0x03),
	DSI_CMD_SHORT(0x15, 0x68, 0x63),
	DSI_CMD_SHORT(0x15, 0x69, 0x03),
	DSI_CMD_SHORT(0x15, 0x6A, 0x76),
	DSI_CMD_SHORT(0x15, 0x6B, 0x03),
	DSI_CMD_SHORT(0x15, 0x6C, 0x87),
	DSI_CMD_SHORT(0x15, 0x6D, 0x03),
	DSI_CMD_SHORT(0x15, 0x6E, 0x9A),
	DSI_CMD_SHORT(0x15, 0x6F, 0x03),
	DSI_CMD_SHORT(0x15, 0x70, 0xCB),
	DSI_CMD_SHORT(0x15, 0x71, 0x00),
	DSI_CMD_SHORT(0x15, 0x72, 0x00),
	DSI_CMD_SHORT(0x15, 0x73, 0x00),
	DSI_CMD_SHORT(0x15, 0x74, 0x2F),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x4F),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0x5F),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0x72),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0x89),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0x9A),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xAC),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xBD),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xEF),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x19),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x5A),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x8D),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0xDC),
	DSI_CMD_SHORT(0x15, 0x8D, 0x02),
	DSI_CMD_SHORT(0x15, 0x8E, 0x17),
	DSI_CMD_SHORT(0x15, 0x8F, 0x02),
	DSI_CMD_SHORT(0x15, 0x90, 0x19),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x4D),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x84),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0xA7),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0xD5),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xF5),
	DSI_CMD_SHORT(0x15, 0x9B, 0x03),
	DSI_CMD_SHORT(0x15, 0x9C, 0x20),
	DSI_CMD_SHORT(0x15, 0x9D, 0x03),
	DSI_CMD_SHORT(0x15, 0x9E, 0x2E),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x3A),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x4A),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x60),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x71),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x95),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0xAA),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0xCB),
	DSI_CMD_SHORT(0x15, 0xAF, 0x00),
	DSI_CMD_SHORT(0x15, 0xB0, 0x00),
	DSI_CMD_SHORT(0x15, 0xB1, 0x00),
	DSI_CMD_SHORT(0x15, 0xB2, 0x2F),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0x4F),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0x5F),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0x72),
	DSI_CMD_SHORT(0x15, 0xB9, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0x89),
	DSI_CMD_SHORT(0x15, 0xBB, 0x00),
	DSI_CMD_SHORT(0x15, 0xBC, 0x9A),
	DSI_CMD_SHORT(0x15, 0xBD, 0x00),
	DSI_CMD_SHORT(0x15, 0xBE, 0xAC),
	DSI_CMD_SHORT(0x15, 0xBF, 0x00),
	DSI_CMD_SHORT(0x15, 0xC0, 0xBD),
	DSI_CMD_SHORT(0x15, 0xC1, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0xEF),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x19),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x5A),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x8D),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0xDC),
	DSI_CMD_SHORT(0x15, 0xCB, 0x02),
	DSI_CMD_SHORT(0x15, 0xCC, 0x17),
	DSI_CMD_SHORT(0x15, 0xCD, 0x02),
	DSI_CMD_SHORT(0x15, 0xCE, 0x19),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x4D),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x84),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0xA7),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0xD5),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xF5),
	DSI_CMD_SHORT(0x15, 0xD9, 0x03),
	DSI_CMD_SHORT(0x15, 0xDA, 0x20),
	DSI_CMD_SHORT(0x15, 0xDB, 0x03),
	DSI_CMD_SHORT(0x15, 0xDC, 0x2E),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x3A),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x4A),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x60),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x71),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x95),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0xAA),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xCB),
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),

	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

        /*CABC setting*/
        DSI_CMD_SHORT(0x15, 0xFF, 0x04),
        DSI_CMD_SHORT(0x15, 0x05, 0x2D),
        DSI_CMD_SHORT(0x15, 0x21, 0xFF),
        DSI_CMD_SHORT(0x15, 0x22, 0xF7),
        DSI_CMD_SHORT(0x15, 0x23, 0xEF),
        DSI_CMD_SHORT(0x15, 0x24, 0xE7),
        DSI_CMD_SHORT(0x15, 0x25, 0xDF),
        DSI_CMD_SHORT(0x15, 0x26, 0xD7),
        DSI_CMD_SHORT(0x15, 0x27, 0xCF),
        DSI_CMD_SHORT(0x15, 0x28, 0xC7),
        DSI_CMD_SHORT(0x15, 0x29, 0xBF),
        DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
        DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x53, 0x2C),
	DSI_CMD_SHORT(0x15, 0x55, 0x83),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_init_auo_nt_x7_cmd[]= {
	DSI_CMD_SHORT(0x15, 0xC2, 0x08),

        /*color enhancement 2.2*/
        DSI_CMD_SHORT(0x15, 0xFF, 0x03),
        DSI_CMD_SHORT(0x15, 0xFE, 0x08),
        DSI_CMD_SHORT(0x15, 0x18, 0x00),
        DSI_CMD_SHORT(0x15, 0x19, 0x00),
        DSI_CMD_SHORT(0x15, 0x1A, 0x00),
        DSI_CMD_SHORT(0x15, 0x25, 0x26),

	DSI_CMD_SHORT(0x15, 0x00, 0x00),
	DSI_CMD_SHORT(0x15, 0x01, 0x05),
	DSI_CMD_SHORT(0x15, 0x02, 0x10),
	DSI_CMD_SHORT(0x15, 0x03, 0x17),
	DSI_CMD_SHORT(0x15, 0x04, 0x22),
	DSI_CMD_SHORT(0x15, 0x05, 0x26),
	DSI_CMD_SHORT(0x15, 0x06, 0x29),
	DSI_CMD_SHORT(0x15, 0x07, 0x29),
	DSI_CMD_SHORT(0x15, 0x08, 0x26),
	DSI_CMD_SHORT(0x15, 0x09, 0x23),
	DSI_CMD_SHORT(0x15, 0x0A, 0x17),
	DSI_CMD_SHORT(0x15, 0x0B, 0x12),
	DSI_CMD_SHORT(0x15, 0x0C, 0x06),
	DSI_CMD_SHORT(0x15, 0x0D, 0x02),
	DSI_CMD_SHORT(0x15, 0x0E, 0x01),
	DSI_CMD_SHORT(0x15, 0x0F, 0x00),

        DSI_CMD_SHORT(0x15, 0xFB, 0x01),
        DSI_CMD_SHORT(0x15, 0xFF, 0x00),
        DSI_CMD_SHORT(0x15, 0xFE, 0x01),

	/*frame rate 60HZ*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x05),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0x02, 0x8E),
	DSI_CMD_SHORT(0x15, 0x03, 0x8E),
	DSI_CMD_SHORT(0x15, 0x04, 0x8E),

	/*gamma V3.6*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0x01, 0x33),
	DSI_CMD_SHORT(0x15, 0x02, 0x53),
	DSI_CMD_SHORT(0x15, 0x75, 0x01),
	DSI_CMD_SHORT(0x15, 0x76, 0x29),
	DSI_CMD_SHORT(0x15, 0x77, 0x01),
	DSI_CMD_SHORT(0x15, 0x78, 0x2D),
	DSI_CMD_SHORT(0x15, 0x79, 0x01),
	DSI_CMD_SHORT(0x15, 0x7A, 0x31),
	DSI_CMD_SHORT(0x15, 0x7B, 0x01),
	DSI_CMD_SHORT(0x15, 0x7C, 0x3E),
	DSI_CMD_SHORT(0x15, 0x7D, 0x01),
	DSI_CMD_SHORT(0x15, 0x7E, 0x44),
	DSI_CMD_SHORT(0x15, 0x7F, 0x01),
	DSI_CMD_SHORT(0x15, 0x80, 0x4A),
	DSI_CMD_SHORT(0x15, 0x81, 0x01),
	DSI_CMD_SHORT(0x15, 0x82, 0x52),
	DSI_CMD_SHORT(0x15, 0x83, 0x01),
	DSI_CMD_SHORT(0x15, 0x84, 0x57),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x5F),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x77),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x8C),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0xB8),
	DSI_CMD_SHORT(0x15, 0x8D, 0x01),
	DSI_CMD_SHORT(0x15, 0x8E, 0xD6),
	DSI_CMD_SHORT(0x15, 0x8F, 0x02),
	DSI_CMD_SHORT(0x15, 0x90, 0x0F),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x3B),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x3C),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0x69),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0x9B),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xBC),
	DSI_CMD_SHORT(0x15, 0x9B, 0x02),
	DSI_CMD_SHORT(0x15, 0x9C, 0xE8),
	DSI_CMD_SHORT(0x15, 0x9D, 0x03),
	DSI_CMD_SHORT(0x15, 0x9E, 0x09),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x34),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x3E),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x4A),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x5A),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x67),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0x7A),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0x8B),
	DSI_CMD_SHORT(0x15, 0xAF, 0x03),
	DSI_CMD_SHORT(0x15, 0xB0, 0x9C),
	DSI_CMD_SHORT(0x15, 0xB1, 0x03),
	DSI_CMD_SHORT(0x15, 0xB2, 0xD1),
	DSI_CMD_SHORT(0x15, 0xB3, 0x01),
	DSI_CMD_SHORT(0x15, 0xB4, 0x29),
	DSI_CMD_SHORT(0x15, 0xB5, 0x01),
	DSI_CMD_SHORT(0x15, 0xB6, 0x2D),
	DSI_CMD_SHORT(0x15, 0xB7, 0x01),
	DSI_CMD_SHORT(0x15, 0xB8, 0x31),
	DSI_CMD_SHORT(0x15, 0xB9, 0x01),
	DSI_CMD_SHORT(0x15, 0xBA, 0x3E),
	DSI_CMD_SHORT(0x15, 0xBB, 0x01),
	DSI_CMD_SHORT(0x15, 0xBC, 0x44),
	DSI_CMD_SHORT(0x15, 0xBD, 0x01),
	DSI_CMD_SHORT(0x15, 0xBE, 0x4A),
	DSI_CMD_SHORT(0x15, 0xBF, 0x01),
	DSI_CMD_SHORT(0x15, 0xC0, 0x52),
	DSI_CMD_SHORT(0x15, 0xC1, 0x01),
	DSI_CMD_SHORT(0x15, 0xC2, 0x57),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x5F),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x77),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x8C),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0xB8),
	DSI_CMD_SHORT(0x15, 0xCB, 0x01),
	DSI_CMD_SHORT(0x15, 0xCC, 0xD6),
	DSI_CMD_SHORT(0x15, 0xCD, 0x02),
	DSI_CMD_SHORT(0x15, 0xCE, 0x0F),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x3B),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x3C),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0x69),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0x9B),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xBC),
	DSI_CMD_SHORT(0x15, 0xD9, 0x02),
	DSI_CMD_SHORT(0x15, 0xDA, 0xE8),
	DSI_CMD_SHORT(0x15, 0xDB, 0x03),
	DSI_CMD_SHORT(0x15, 0xDC, 0x09),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x34),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x3E),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x4A),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x5A),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x67),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0x7A),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0x8B),
	DSI_CMD_SHORT(0x15, 0xEB, 0x03),
	DSI_CMD_SHORT(0x15, 0xEC, 0x9C),
	DSI_CMD_SHORT(0x15, 0xED, 0x03),
	DSI_CMD_SHORT(0x15, 0xEE, 0xD1),
	DSI_CMD_SHORT(0x15, 0xEF, 0x01),
	DSI_CMD_SHORT(0x15, 0xF0, 0x35),
	DSI_CMD_SHORT(0x15, 0xF1, 0x01),
	DSI_CMD_SHORT(0x15, 0xF2, 0x38),
	DSI_CMD_SHORT(0x15, 0xF3, 0x01),
	DSI_CMD_SHORT(0x15, 0xF4, 0x3F),
	DSI_CMD_SHORT(0x15, 0xF5, 0x01),
	DSI_CMD_SHORT(0x15, 0xF6, 0x45),
	DSI_CMD_SHORT(0x15, 0xF7, 0x01),
	DSI_CMD_SHORT(0x15, 0xF8, 0x4C),
	DSI_CMD_SHORT(0x15, 0xF9, 0x01),
	DSI_CMD_SHORT(0x15, 0xFA, 0x52),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0x00, 0x01),
	DSI_CMD_SHORT(0x15, 0x01, 0x58),
	DSI_CMD_SHORT(0x15, 0x02, 0x01),
	DSI_CMD_SHORT(0x15, 0x03, 0x5E),
	DSI_CMD_SHORT(0x15, 0x04, 0x01),
	DSI_CMD_SHORT(0x15, 0x05, 0x64),
	DSI_CMD_SHORT(0x15, 0x06, 0x01),
	DSI_CMD_SHORT(0x15, 0x07, 0x7A),
	DSI_CMD_SHORT(0x15, 0x08, 0x01),
	DSI_CMD_SHORT(0x15, 0x09, 0x8E),
	DSI_CMD_SHORT(0x15, 0x0A, 0x01),
	DSI_CMD_SHORT(0x15, 0x0B, 0xB2),
	DSI_CMD_SHORT(0x15, 0x0C, 0x01),
	DSI_CMD_SHORT(0x15, 0x0D, 0xD1),
	DSI_CMD_SHORT(0x15, 0x0E, 0x02),
	DSI_CMD_SHORT(0x15, 0x0F, 0x06),
	DSI_CMD_SHORT(0x15, 0x10, 0x02),
	DSI_CMD_SHORT(0x15, 0x11, 0x34),
	DSI_CMD_SHORT(0x15, 0x12, 0x02),
	DSI_CMD_SHORT(0x15, 0x13, 0x35),
	DSI_CMD_SHORT(0x15, 0x14, 0x02),
	DSI_CMD_SHORT(0x15, 0x15, 0x61),
	DSI_CMD_SHORT(0x15, 0x16, 0x02),
	DSI_CMD_SHORT(0x15, 0x17, 0x93),
	DSI_CMD_SHORT(0x15, 0x18, 0x02),
	DSI_CMD_SHORT(0x15, 0x19, 0xB5),
	DSI_CMD_SHORT(0x15, 0x1A, 0x02),
	DSI_CMD_SHORT(0x15, 0x1B, 0xE2),
	DSI_CMD_SHORT(0x15, 0x1C, 0x03),
	DSI_CMD_SHORT(0x15, 0x1D, 0x02),
	DSI_CMD_SHORT(0x15, 0x1E, 0x03),
	DSI_CMD_SHORT(0x15, 0x1F, 0x2B),
	DSI_CMD_SHORT(0x15, 0x20, 0x03),
	DSI_CMD_SHORT(0x15, 0x21, 0x37),
	DSI_CMD_SHORT(0x15, 0x22, 0x03),
	DSI_CMD_SHORT(0x15, 0x23, 0x44),
	DSI_CMD_SHORT(0x15, 0x24, 0x03),
	DSI_CMD_SHORT(0x15, 0x25, 0x52),
	DSI_CMD_SHORT(0x15, 0x26, 0x03),
	DSI_CMD_SHORT(0x15, 0x27, 0x63),
	DSI_CMD_SHORT(0x15, 0x28, 0x03),
	DSI_CMD_SHORT(0x15, 0x29, 0x76),
	DSI_CMD_SHORT(0x15, 0x2A, 0x03),
	DSI_CMD_SHORT(0x15, 0x2B, 0x87),
	DSI_CMD_SHORT(0x15, 0x2D, 0x03),
	DSI_CMD_SHORT(0x15, 0x2F, 0x9A),
	DSI_CMD_SHORT(0x15, 0x30, 0x03),
	DSI_CMD_SHORT(0x15, 0x31, 0xCB),
	DSI_CMD_SHORT(0x15, 0x32, 0x01),
	DSI_CMD_SHORT(0x15, 0x33, 0x35),
	DSI_CMD_SHORT(0x15, 0x34, 0x01),
	DSI_CMD_SHORT(0x15, 0x35, 0x38),
	DSI_CMD_SHORT(0x15, 0x36, 0x01),
	DSI_CMD_SHORT(0x15, 0x37, 0x3F),
	DSI_CMD_SHORT(0x15, 0x38, 0x01),
	DSI_CMD_SHORT(0x15, 0x39, 0x45),
	DSI_CMD_SHORT(0x15, 0x3A, 0x01),
	DSI_CMD_SHORT(0x15, 0x3B, 0x4C),
	DSI_CMD_SHORT(0x15, 0x3D, 0x01),
	DSI_CMD_SHORT(0x15, 0x3F, 0x52),
	DSI_CMD_SHORT(0x15, 0x40, 0x01),
	DSI_CMD_SHORT(0x15, 0x41, 0x58),
	DSI_CMD_SHORT(0x15, 0x42, 0x01),
	DSI_CMD_SHORT(0x15, 0x43, 0x5E),
	DSI_CMD_SHORT(0x15, 0x44, 0x01),
	DSI_CMD_SHORT(0x15, 0x45, 0x64),
	DSI_CMD_SHORT(0x15, 0x46, 0x01),
	DSI_CMD_SHORT(0x15, 0x47, 0x7A),
	DSI_CMD_SHORT(0x15, 0x48, 0x01),
	DSI_CMD_SHORT(0x15, 0x49, 0x8E),
	DSI_CMD_SHORT(0x15, 0x4A, 0x01),
	DSI_CMD_SHORT(0x15, 0x4B, 0xB2),
	DSI_CMD_SHORT(0x15, 0x4C, 0x01),
	DSI_CMD_SHORT(0x15, 0x4D, 0xD1),
	DSI_CMD_SHORT(0x15, 0x4E, 0x02),
	DSI_CMD_SHORT(0x15, 0x4F, 0x06),
	DSI_CMD_SHORT(0x15, 0x50, 0x02),
	DSI_CMD_SHORT(0x15, 0x51, 0x34),
	DSI_CMD_SHORT(0x15, 0x52, 0x02),
	DSI_CMD_SHORT(0x15, 0x53, 0x35),
	DSI_CMD_SHORT(0x15, 0x54, 0x02),
	DSI_CMD_SHORT(0x15, 0x55, 0x61),
	DSI_CMD_SHORT(0x15, 0x56, 0x02),
	DSI_CMD_SHORT(0x15, 0x58, 0x93),
	DSI_CMD_SHORT(0x15, 0x59, 0x02),
	DSI_CMD_SHORT(0x15, 0x5A, 0xB5),
	DSI_CMD_SHORT(0x15, 0x5B, 0x02),
	DSI_CMD_SHORT(0x15, 0x5C, 0xE2),
	DSI_CMD_SHORT(0x15, 0x5D, 0x03),
	DSI_CMD_SHORT(0x15, 0x5E, 0x02),
	DSI_CMD_SHORT(0x15, 0x5F, 0x03),
	DSI_CMD_SHORT(0x15, 0x60, 0x2B),
	DSI_CMD_SHORT(0x15, 0x61, 0x03),
	DSI_CMD_SHORT(0x15, 0x62, 0x37),
	DSI_CMD_SHORT(0x15, 0x63, 0x03),
	DSI_CMD_SHORT(0x15, 0x64, 0x44),
	DSI_CMD_SHORT(0x15, 0x65, 0x03),
	DSI_CMD_SHORT(0x15, 0x66, 0x52),
	DSI_CMD_SHORT(0x15, 0x67, 0x03),
	DSI_CMD_SHORT(0x15, 0x68, 0x63),
	DSI_CMD_SHORT(0x15, 0x69, 0x03),
	DSI_CMD_SHORT(0x15, 0x6A, 0x76),
	DSI_CMD_SHORT(0x15, 0x6B, 0x03),
	DSI_CMD_SHORT(0x15, 0x6C, 0x87),
	DSI_CMD_SHORT(0x15, 0x6D, 0x03),
	DSI_CMD_SHORT(0x15, 0x6E, 0x9A),
	DSI_CMD_SHORT(0x15, 0x6F, 0x03),
	DSI_CMD_SHORT(0x15, 0x70, 0xCB),
	DSI_CMD_SHORT(0x15, 0x71, 0x00),
	DSI_CMD_SHORT(0x15, 0x72, 0x00),
	DSI_CMD_SHORT(0x15, 0x73, 0x00),
	DSI_CMD_SHORT(0x15, 0x74, 0x2F),
	DSI_CMD_SHORT(0x15, 0x75, 0x00),
	DSI_CMD_SHORT(0x15, 0x76, 0x4F),
	DSI_CMD_SHORT(0x15, 0x77, 0x00),
	DSI_CMD_SHORT(0x15, 0x78, 0x5F),
	DSI_CMD_SHORT(0x15, 0x79, 0x00),
	DSI_CMD_SHORT(0x15, 0x7A, 0x76),
	DSI_CMD_SHORT(0x15, 0x7B, 0x00),
	DSI_CMD_SHORT(0x15, 0x7C, 0x8D),
	DSI_CMD_SHORT(0x15, 0x7D, 0x00),
	DSI_CMD_SHORT(0x15, 0x7E, 0x9C),
	DSI_CMD_SHORT(0x15, 0x7F, 0x00),
	DSI_CMD_SHORT(0x15, 0x80, 0xB0),
	DSI_CMD_SHORT(0x15, 0x81, 0x00),
	DSI_CMD_SHORT(0x15, 0x82, 0xC1),
	DSI_CMD_SHORT(0x15, 0x83, 0x00),
	DSI_CMD_SHORT(0x15, 0x84, 0xF3),
	DSI_CMD_SHORT(0x15, 0x85, 0x01),
	DSI_CMD_SHORT(0x15, 0x86, 0x1B),
	DSI_CMD_SHORT(0x15, 0x87, 0x01),
	DSI_CMD_SHORT(0x15, 0x88, 0x5F),
	DSI_CMD_SHORT(0x15, 0x89, 0x01),
	DSI_CMD_SHORT(0x15, 0x8A, 0x8F),
	DSI_CMD_SHORT(0x15, 0x8B, 0x01),
	DSI_CMD_SHORT(0x15, 0x8C, 0xDD),
	DSI_CMD_SHORT(0x15, 0x8D, 0x02),
	DSI_CMD_SHORT(0x15, 0x8E, 0x19),
	DSI_CMD_SHORT(0x15, 0x8F, 0x02),
	DSI_CMD_SHORT(0x15, 0x90, 0x1A),
	DSI_CMD_SHORT(0x15, 0x91, 0x02),
	DSI_CMD_SHORT(0x15, 0x92, 0x4D),
	DSI_CMD_SHORT(0x15, 0x93, 0x02),
	DSI_CMD_SHORT(0x15, 0x94, 0x83),
	DSI_CMD_SHORT(0x15, 0x95, 0x02),
	DSI_CMD_SHORT(0x15, 0x96, 0xA6),
	DSI_CMD_SHORT(0x15, 0x97, 0x02),
	DSI_CMD_SHORT(0x15, 0x98, 0xD3),
	DSI_CMD_SHORT(0x15, 0x99, 0x02),
	DSI_CMD_SHORT(0x15, 0x9A, 0xF3),
	DSI_CMD_SHORT(0x15, 0x9B, 0x03),
	DSI_CMD_SHORT(0x15, 0x9C, 0x1E),
	DSI_CMD_SHORT(0x15, 0x9D, 0x03),
	DSI_CMD_SHORT(0x15, 0x9E, 0x2E),
	DSI_CMD_SHORT(0x15, 0x9F, 0x03),
	DSI_CMD_SHORT(0x15, 0xA0, 0x3A),
	DSI_CMD_SHORT(0x15, 0xA2, 0x03),
	DSI_CMD_SHORT(0x15, 0xA3, 0x4A),
	DSI_CMD_SHORT(0x15, 0xA4, 0x03),
	DSI_CMD_SHORT(0x15, 0xA5, 0x60),
	DSI_CMD_SHORT(0x15, 0xA6, 0x03),
	DSI_CMD_SHORT(0x15, 0xA7, 0x71),
	DSI_CMD_SHORT(0x15, 0xA9, 0x03),
	DSI_CMD_SHORT(0x15, 0xAA, 0x95),
	DSI_CMD_SHORT(0x15, 0xAB, 0x03),
	DSI_CMD_SHORT(0x15, 0xAC, 0xAA),
	DSI_CMD_SHORT(0x15, 0xAD, 0x03),
	DSI_CMD_SHORT(0x15, 0xAE, 0xCB),
	DSI_CMD_SHORT(0x15, 0xAF, 0x00),
	DSI_CMD_SHORT(0x15, 0xB0, 0x00),
	DSI_CMD_SHORT(0x15, 0xB1, 0x00),
	DSI_CMD_SHORT(0x15, 0xB2, 0x2F),
	DSI_CMD_SHORT(0x15, 0xB3, 0x00),
	DSI_CMD_SHORT(0x15, 0xB4, 0x4F),
	DSI_CMD_SHORT(0x15, 0xB5, 0x00),
	DSI_CMD_SHORT(0x15, 0xB6, 0x5F),
	DSI_CMD_SHORT(0x15, 0xB7, 0x00),
	DSI_CMD_SHORT(0x15, 0xB8, 0x76),
	DSI_CMD_SHORT(0x15, 0xB9, 0x00),
	DSI_CMD_SHORT(0x15, 0xBA, 0x8D),
	DSI_CMD_SHORT(0x15, 0xBB, 0x00),
	DSI_CMD_SHORT(0x15, 0xBC, 0x9C),
	DSI_CMD_SHORT(0x15, 0xBD, 0x00),
	DSI_CMD_SHORT(0x15, 0xBE, 0xB0),
	DSI_CMD_SHORT(0x15, 0xBF, 0x00),
	DSI_CMD_SHORT(0x15, 0xC0, 0xC1),
	DSI_CMD_SHORT(0x15, 0xC1, 0x00),
	DSI_CMD_SHORT(0x15, 0xC2, 0xF3),
	DSI_CMD_SHORT(0x15, 0xC3, 0x01),
	DSI_CMD_SHORT(0x15, 0xC4, 0x1B),
	DSI_CMD_SHORT(0x15, 0xC5, 0x01),
	DSI_CMD_SHORT(0x15, 0xC6, 0x5F),
	DSI_CMD_SHORT(0x15, 0xC7, 0x01),
	DSI_CMD_SHORT(0x15, 0xC8, 0x8F),
	DSI_CMD_SHORT(0x15, 0xC9, 0x01),
	DSI_CMD_SHORT(0x15, 0xCA, 0xDD),
	DSI_CMD_SHORT(0x15, 0xCB, 0x02),
	DSI_CMD_SHORT(0x15, 0xCC, 0x19),
	DSI_CMD_SHORT(0x15, 0xCD, 0x02),
	DSI_CMD_SHORT(0x15, 0xCE, 0x1A),
	DSI_CMD_SHORT(0x15, 0xCF, 0x02),
	DSI_CMD_SHORT(0x15, 0xD0, 0x4D),
	DSI_CMD_SHORT(0x15, 0xD1, 0x02),
	DSI_CMD_SHORT(0x15, 0xD2, 0x83),
	DSI_CMD_SHORT(0x15, 0xD3, 0x02),
	DSI_CMD_SHORT(0x15, 0xD4, 0xA6),
	DSI_CMD_SHORT(0x15, 0xD5, 0x02),
	DSI_CMD_SHORT(0x15, 0xD6, 0xD3),
	DSI_CMD_SHORT(0x15, 0xD7, 0x02),
	DSI_CMD_SHORT(0x15, 0xD8, 0xF3),
	DSI_CMD_SHORT(0x15, 0xD9, 0x03),
	DSI_CMD_SHORT(0x15, 0xDA, 0x1E),
	DSI_CMD_SHORT(0x15, 0xDB, 0x03),
	DSI_CMD_SHORT(0x15, 0xDC, 0x2E),
	DSI_CMD_SHORT(0x15, 0xDD, 0x03),
	DSI_CMD_SHORT(0x15, 0xDE, 0x3A),
	DSI_CMD_SHORT(0x15, 0xDF, 0x03),
	DSI_CMD_SHORT(0x15, 0xE0, 0x4A),
	DSI_CMD_SHORT(0x15, 0xE1, 0x03),
	DSI_CMD_SHORT(0x15, 0xE2, 0x60),
	DSI_CMD_SHORT(0x15, 0xE3, 0x03),
	DSI_CMD_SHORT(0x15, 0xE4, 0x71),
	DSI_CMD_SHORT(0x15, 0xE5, 0x03),
	DSI_CMD_SHORT(0x15, 0xE6, 0x95),
	DSI_CMD_SHORT(0x15, 0xE7, 0x03),
	DSI_CMD_SHORT(0x15, 0xE8, 0xAA),
	DSI_CMD_SHORT(0x15, 0xE9, 0x03),
	DSI_CMD_SHORT(0x15, 0xEA, 0xCB),
	DSI_CMD_SHORT(0x15, 0xFF, 0x01),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x02),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0xFB, 0x01),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	/*pwm frequency adjust*/
	DSI_CMD_SHORT(0x15, 0xFF, 0x04),
	DSI_CMD_SHORT(0x15, 0x0A, 0x07),
	DSI_CMD_SHORT(0x15, 0x09, 0x20),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x05, 0x11, 0x00),
	DSI_DLY_MS(125),

	DSI_CMD_SHORT(0x15, 0x35, 0x00),

	DSI_CMD_SHORT(0x15, 0xFF, 0xEE),
	DSI_CMD_SHORT(0x15, 0x12, 0x50),
	DSI_CMD_SHORT(0x15, 0x13, 0x02),
	DSI_CMD_SHORT(0x15, 0x6A, 0x60),
	DSI_CMD_SHORT(0x15, 0xFF, 0x00),
	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(42),
	DSI_CMD_SHORT(0x15, 0xBA, 0x01),

        /*CABC setting*/
        DSI_CMD_SHORT(0x15, 0xFF, 0x04),
        DSI_CMD_SHORT(0x15, 0x05, 0x2D),
        DSI_CMD_SHORT(0x15, 0x21, 0xFF),
        DSI_CMD_SHORT(0x15, 0x22, 0xF7),
        DSI_CMD_SHORT(0x15, 0x23, 0xEF),
        DSI_CMD_SHORT(0x15, 0x24, 0xE7),
        DSI_CMD_SHORT(0x15, 0x25, 0xDF),
        DSI_CMD_SHORT(0x15, 0x26, 0xD7),
        DSI_CMD_SHORT(0x15, 0x27, 0xCF),
        DSI_CMD_SHORT(0x15, 0x28, 0xC7),
        DSI_CMD_SHORT(0x15, 0x29, 0xBF),
        DSI_CMD_SHORT(0x15, 0x2A, 0xB7),
        DSI_CMD_SHORT(0x15, 0xFF, 0x00),

	DSI_CMD_SHORT(0x15, 0x53, 0x2C),
	DSI_CMD_SHORT(0x15, 0x55, 0x83),
	DSI_CMD_SHORT(0x15, 0x5E, 0x06),
};

static struct tegra_dsi_cmd dsi_early_suspend_cmd[] = {
	DSI_CMD_SHORT(0x05, 0x28, 0x00),
	DSI_DLY_MS(20),
#if(DC_CTRL_MODE & TEGRA_DC_OUT_ONE_SHOT_MODE)
	DSI_CMD_SHORT(0x05, 0x34, 0x00),
#endif
};

static struct tegra_dsi_cmd dsi_late_resume_cmd[] = {
#if(DC_CTRL_MODE & TEGRA_DC_OUT_ONE_SHOT_MODE)
	DSI_CMD_SHORT(0x15, 0x35, 0x00),
#endif
	DSI_CMD_SHORT(0x05, 0x29, 0x00),
	DSI_DLY_MS(40),
};

static struct tegra_dsi_cmd dsi_suspend_cmd[] = {
	DSI_CMD_SHORT(0x05, 0x28, 0x00),
	DSI_DLY_MS(20),
#if(DC_CTRL_MODE & TEGRA_DC_OUT_ONE_SHOT_MODE)
	DSI_CMD_SHORT(0x05, 0x34, 0x00),
#endif
	DSI_CMD_SHORT(0x05, 0x10, 0x00),
	DSI_DLY_MS(130),
};

struct tegra_dsi_out evitareul_dsi = {
	.n_data_lanes = 2,
	.pixel_format = TEGRA_DSI_PIXEL_FORMAT_24BIT_P,
#if(DC_CTRL_MODE & TEGRA_DC_OUT_ONE_SHOT_MODE)
	/* For one-shot mode, actual refresh rate is decided by the
	 * frequency of TE signal. Although the frequency of TE is
	 * expected running at rated_refresh_rate (typically 60Hz),
	 * it may vary. Mismatch between freq of DC and TE signal
	 * would cause frame drop. We increase refresh_rate to the
	 * value larger than maximum TE frequency to avoid missing
	 * any TE signal. The value of refresh_rate is also used to
	 * calculate the pixel clock.
	 */
	.refresh_rate = 66,
	.rated_refresh_rate = 60,
#else
	.refresh_rate = 60,
#endif
	.virtual_channel = TEGRA_DSI_VIRTUAL_CHANNEL_0,

	.panel_has_frame_buffer = true,
	.dsi_instance = 0,

	.panel_reset = DSI_PANEL_RESET,
	.power_saving_suspend = true,
	.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_nt_c2_9a_cmd),
	.dsi_init_cmd = dsi_init_sharp_nt_c2_9a_cmd,

	.n_early_suspend_cmd = ARRAY_SIZE(dsi_early_suspend_cmd),
	.dsi_early_suspend_cmd = dsi_early_suspend_cmd,

	.n_late_resume_cmd = ARRAY_SIZE(dsi_late_resume_cmd),
	.dsi_late_resume_cmd = dsi_late_resume_cmd,

	.n_suspend_cmd = ARRAY_SIZE(dsi_suspend_cmd),
	.dsi_suspend_cmd = dsi_suspend_cmd,
	.video_clock_mode = TEGRA_DSI_VIDEO_CLOCK_TX_ONLY,
	.video_data_type = TEGRA_DSI_VIDEO_TYPE_COMMAND_MODE,
	.lp_cmd_mode_freq_khz = 20000,

	/* TODO: Get the vender recommended freq */
	.lp_read_cmd_mode_freq_khz = 200000,
};

static struct tegra_stereo_out evitareul_stereo = {
	.set_mode		= &evitareul_stereo_set_mode,
	.set_orientation	= &evitareul_stereo_set_orientation,
};

#ifdef CONFIG_TEGRA_DC
static struct tegra_dc_mode evitareul_dsi_modes[] = {
	{
		.pclk = 20000000,
		.h_ref_to_sync = 4,
		.v_ref_to_sync = 1,
		.h_sync_width = 16,
		.v_sync_width = 1,
		.h_back_porch = 29,
		.v_back_porch = 1,
		.h_active = 720,
		.v_active = 1280,
		.h_front_porch = 55,
		.v_front_porch = 2,
	},
};

static struct tegra_fb_data evitareul_dsi_fb_data = {
	.win		= 0,
	.xres		= 720,
	.yres		= 1280,
	.bits_per_pixel	= 32,
	.flags		= TEGRA_FB_FLIP_ON_PROBE,
};

static struct tegra_dc_out evitareul_disp1_out = {
	.align		= TEGRA_DC_ALIGN_MSB,
	.order		= TEGRA_DC_ORDER_RED_BLUE,
	.sd_settings	= &evitareul_sd_settings,

	.flags		= DC_CTRL_MODE,

	.type		= TEGRA_DC_OUT_DSI,

	.modes		= evitareul_dsi_modes,
	.n_modes	= ARRAY_SIZE(evitareul_dsi_modes),

	.dsi		= &evitareul_dsi,
	.stereo		= &evitareul_stereo,

	.enable		= evitareul_dsi_panel_enable,
	.disable	= evitareul_dsi_panel_disable,
	.postsuspend	= evitareul_dsi_panel_postsuspend,

	.width		= 53,
	.height		= 95,
	/*TODO let power-on sequence wait until dsi hardware init*/
	.bridge_reset = bridge_reset,
	.ic_reset = ic_reset,

	.power_wakeup = POWER_WAKEUP_ENR,
	.performance_tuning = 1,
	.video_min_bw = 51000000,
};
static struct tegra_dc_platform_data evitareul_disp1_pdata = {
	.flags		= TEGRA_DC_FLAG_ENABLED,
	.default_out	= &evitareul_disp1_out,
	.emc_clk_rate	= 204000000,
	.fb		= &evitareul_dsi_fb_data,
};

static struct nvhost_device evitareul_disp1_device = {
	.name		= "tegradc",
	.id		= 0,
	.resource	= evitareul_disp1_resources,
	.num_resources	= ARRAY_SIZE(evitareul_disp1_resources),
	.dev = {
		.platform_data = &evitareul_disp1_pdata,
	},
};

static int evitareul_disp1_check_fb(struct device *dev, struct fb_info *info)
{
	return info->device == &evitareul_disp1_device.dev;
}

static struct nvhost_device evitareul_disp2_device = {
	.name		= "tegradc",
	.id		= 1,
	.resource	= evitareul_disp2_resources,
	.num_resources	= ARRAY_SIZE(evitareul_disp2_resources),
	.dev = {
		.platform_data = &evitareul_disp2_pdata,
	},
};
#endif

#if defined(CONFIG_TEGRA_NVMAP)
static struct nvmap_platform_carveout evitareul_carveouts[] = {
	[0] = NVMAP_HEAP_CARVEOUT_IRAM_INIT,
	[1] = {
		.name		= "generic-0",
		.usage_mask	= NVMAP_HEAP_CARVEOUT_GENERIC,
		.base		= 0,	/* Filled in by evitareul_panel_init() */
		.size		= 0,	/* Filled in by evitareul_panel_init() */
		.buddy_size	= SZ_32K,
	},
};

static struct nvmap_platform_data evitareul_nvmap_data = {
	.carveouts	= evitareul_carveouts,
	.nr_carveouts	= ARRAY_SIZE(evitareul_carveouts),
};

static struct platform_device evitareul_nvmap_device = {
	.name	= "tegra-nvmap",
	.id	= -1,
	.dev	= {
		.platform_data = &evitareul_nvmap_data,
	},
};
#endif

static struct platform_device *evitareul_gfx_devices[] __initdata = {
#if defined(CONFIG_TEGRA_NVMAP)
	&evitareul_nvmap_device,
#endif
	&tegra_pwfm0_device,
};

static struct platform_device *evitareul_bl_devices[]  = {
	&evitareul_disp1_backlight_device,
};

static void bkl_do_work(struct work_struct *work)
{
	struct backlight_device *bl = platform_get_drvdata(&evitareul_disp1_backlight_device);
	if (bl) {
		DISP_DEBUG_LN("set backlight after resume");
		bl->props.bkl_on = 1;
		backlight_update_status(bl);
	}
}


static void bkl_update(unsigned long data) {
	queue_work(bkl_wq, &bkl_work);
}

#ifdef CONFIG_HAS_EARLYSUSPEND
/* put early_suspend/late_resume handlers here for the display in order
 * to keep the code out of the display driver, keeping it closer to upstream
 */
struct early_suspend evitareul_panel_early_suspender;

static void evitareul_panel_early_suspend(struct early_suspend *h)
{
	DISP_INFO_IN();

	struct backlight_device *bl = platform_get_drvdata(&evitareul_disp1_backlight_device);
	if (bl && bl->props.bkl_on) {
		bl->props.bkl_on = 0;
		del_timer_sync(&bkl_timer);
		flush_workqueue(bkl_wq);
	}

	/* power down LCD, add use a black screen for HDMI */
	if (num_registered_fb > 0)
		fb_blank(registered_fb[0], FB_BLANK_POWERDOWN);
	if (num_registered_fb > 1)
		fb_blank(registered_fb[1], FB_BLANK_NORMAL);
#ifdef CONFIG_TEGRA_CONVSERVATIVE_GOV_ON_EARLYSUPSEND
	cpufreq_save_default_governor();
	cpufreq_set_conservative_governor();
	cpufreq_set_conservative_governor_param("up_threshold",
			SET_CONSERVATIVE_GOVERNOR_UP_THRESHOLD);

	cpufreq_set_conservative_governor_param("down_threshold",
			SET_CONSERVATIVE_GOVERNOR_DOWN_THRESHOLD);

	cpufreq_set_conservative_governor_param("freq_step",
			SET_CONSERVATIVE_GOVERNOR_FREQ_STEP);
#endif

	DISP_INFO_OUT();
}



static void evitareul_panel_late_resume(struct early_suspend *h)
{
	DISP_INFO_IN();

	unsigned i;

#ifdef CONFIG_TEGRA_CONVSERVATIVE_GOV_ON_EARLYSUPSEND
	cpufreq_restore_default_governor();
#endif
	for (i = 0; i < num_registered_fb; i++)
		fb_blank(registered_fb[i], FB_BLANK_UNBLANK);

	mod_timer(&bkl_timer, jiffies + msecs_to_jiffies(50));
	DISP_INFO_OUT();
}
#endif

#define CAB_LOW		1
#define CAB_DEF		2
#define CAB_HIGH	3

static struct dentry *bkl_debugfs_root;

static int bkl_calibration_get(void *data, u64 *val)
{
	DISP_INFO_LN("def_pwm = %d\n",def_pwm);
	return 0;
}

static int bkl_calibration_set(void *data, u64 val)
{
	struct backlight_device *bl = platform_get_drvdata(&evitareul_disp1_backlight_device);
	switch (val) {
		case CAB_LOW:
			def_pwm = MAP_PWM_LOW_DEF;
		break;
		case CAB_HIGH:
			def_pwm = MAP_PWM_HIGH_DEF;
		break;
		case CAB_DEF:
		default:
			def_pwm = MAP_PWM_DEF;
	}
	backlight_update_status(bl);

	return 0;
}

DEFINE_SIMPLE_ATTRIBUTE(bkl_calibration_fops, bkl_calibration_get,
			bkl_calibration_set, "%llu\n");

int __init evitareul_panel_init(void)
{
	int err;
	struct resource __maybe_unused *res;
	struct board_info board_info;

	DISP_INFO_IN();

	err = gpio_request_array(panel_init_gpios, ARRAY_SIZE(panel_init_gpios));
	if(err) {
		DISP_ERR("gpio request failed\n");
		goto failed;
	}
	int i = 0;
	int pin_count = ARRAY_SIZE(panel_init_gpios);
	for (i = 0; i < pin_count; i++) {
		tegra_gpio_enable(panel_init_gpios[i].gpio);
	}

	tegra_get_board_info(&board_info);

	BUILD_BUG_ON(ARRAY_SIZE(evitareul_bl_output_measured_a03) != 256);
	BUILD_BUG_ON(ARRAY_SIZE(evitareul_bl_output_measured_a02) != 256);

	if (board_info.fab >= BOARD_FAB_A03) {
		evitareul_disp1_backlight_data.clk_div = 0x1D;
		bl_output = evitareul_bl_output_measured_a03;
	} else
		bl_output = evitareul_bl_output_measured_a02;

	evitareul_dsi.chip_id = tegra_get_chipid();
	evitareul_dsi.chip_rev = tegra_get_revision();

#if defined(CONFIG_TEGRA_NVMAP)
	evitareul_carveouts[1].base = tegra_carveout_start;
	evitareul_carveouts[1].size = tegra_carveout_size;
#endif

	tegra_gpio_enable(evitareul_hdmi_hpd);
	gpio_request(evitareul_hdmi_hpd, "hdmi_hpd");
	gpio_direction_input(evitareul_hdmi_hpd);

	tegra_gpio_enable(evitareul_lcd_2d_3d);
	gpio_request(evitareul_lcd_2d_3d, "lcd_2d_3d");
	gpio_direction_output(evitareul_lcd_2d_3d, 0);
	evitareul_stereo_set_mode(evitareul_stereo.mode_2d_3d);

	tegra_gpio_enable(evitareul_lcd_swp_pl);
	gpio_request(evitareul_lcd_swp_pl, "lcd_swp_pl");
	gpio_direction_output(evitareul_lcd_swp_pl, 0);
	evitareul_stereo_set_orientation(evitareul_stereo.orientation);

#if !(DC_CTRL_MODE & TEGRA_DC_OUT_ONE_SHOT_MODE)
	tegra_gpio_enable(LCM_TE);
	gpio_request(evitareul_lcd_swp_pl, "lcd_te");
	gpio_direction_input(LCM_TE);
#endif

#ifdef CONFIG_HAS_EARLYSUSPEND
	evitareul_panel_early_suspender.suspend = evitareul_panel_early_suspend;
	evitareul_panel_early_suspender.resume = evitareul_panel_late_resume;
	evitareul_panel_early_suspender.level = EARLY_SUSPEND_LEVEL_DISABLE_FB;
	register_early_suspend(&evitareul_panel_early_suspender);
#endif

#ifdef CONFIG_TEGRA_GRHOST
	err = tegra3_register_host1x_devices();
	if (err)
		return err;
#endif

	err = platform_add_devices(evitareul_gfx_devices,
				ARRAY_SIZE(evitareul_gfx_devices));

#if defined(CONFIG_TEGRA_GRHOST) && defined(CONFIG_TEGRA_DC)
	res = nvhost_get_resource_byname(&evitareul_disp1_device,
					 IORESOURCE_MEM, "fbmem");
	if (res) {
		res->start = tegra_fb_start;
		res->end = tegra_fb_start + tegra_fb_size - 1;
	}
#endif

	/* Copy the bootloader fb to the fb. */
	tegra_move_framebuffer(tegra_fb_start, tegra_bootloader_fb_start,
		min(tegra_fb_size, tegra_bootloader_fb_size));

        /*switch PWM_setting by panel_id*/
        switch (g_panel_id & BKL_CAB_MASK) {
		case BKL_CAB_LOW:
			def_pwm = MAP_PWM_LOW_DEF;
		break;
		case BKL_CAB_HIGH:
			def_pwm = MAP_PWM_HIGH_DEF;
		break;
		case BKL_CAB_OFF:
		case BKL_CAB_DEF:
		default:
			def_pwm = MAP_PWM_DEF;
        }

	DISP_INFO_LN("def_pwm = %d\n",def_pwm);

	g_panel_id &= ~BKL_CAB_MASK;

	/*switch initial command by panel_id*/
	switch (PANEL_MASK(g_panel_id)) {
		case PANEL_ID_SHARP_HX_C3:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_hx_c3_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_hx_c3_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(hx_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = hx_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = hx_still_mode_cmd;
		break;
		case PANEL_ID_SHARP_HX_C4:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_hx_c4_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_hx_c4_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(hx_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = hx_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = hx_still_mode_cmd;
		break;
		case PANEL_ID_SHARP_HX_C5:
		case PANEL_ID_SHARP_HX:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_hx_c5_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_hx_c5_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(hx_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = hx_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = hx_still_mode_cmd;
		break;
		case PANEL_ID_SONY_NT_C1:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sony_nt_c1_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sony_nt_c1_cmd;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(nt_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = nt_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = nt_still_mode_cmd;
			evitareul_dsi.n_cabc_dimming_on_cmd = ARRAY_SIZE(dimming_on_cmd);
			evitareul_dsi.dsi_cabc_dimming_on_cmd = dimming_on_cmd;
			evitareul_disp1_backlight_data.dimming_off_cmd = dimming_off_cmd;
			evitareul_disp1_backlight_data.n_dimming_off_cmd = ARRAY_SIZE(dimming_off_cmd);
		break;
		case PANEL_ID_SONY_NT_C2:
		case PANEL_ID_SONY:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sony_nt_c2_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sony_nt_c2_cmd;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(nt_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = nt_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = nt_still_mode_cmd;
			evitareul_dsi.n_cabc_dimming_on_cmd = ARRAY_SIZE(dimming_on_cmd);
			evitareul_dsi.dsi_cabc_dimming_on_cmd = dimming_on_cmd;
			evitareul_disp1_backlight_data.dimming_off_cmd = dimming_off_cmd;
			evitareul_disp1_backlight_data.n_dimming_off_cmd = ARRAY_SIZE(dimming_off_cmd);
		break;
		case PANEL_ID_SHARP_NT_C1:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_nt_c1_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_nt_c1_cmd;
			evitareul_dsi.refresh_rate = 60;
			evitareul_dsi_modes[0].h_front_porch = 29;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(nt_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = nt_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = nt_still_mode_cmd;
			evitareul_dsi.n_cabc_dimming_on_cmd = ARRAY_SIZE(dimming_on_cmd);
			evitareul_dsi.dsi_cabc_dimming_on_cmd = dimming_on_cmd;
			evitareul_disp1_backlight_data.dimming_off_cmd = dimming_off_cmd;
			evitareul_disp1_backlight_data.n_dimming_off_cmd = ARRAY_SIZE(dimming_off_cmd);
		break;
		case PANEL_ID_SHARP_NT_C2:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_nt_c2_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_nt_c2_cmd;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(nt_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = nt_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = nt_still_mode_cmd;
			evitareul_dsi.n_cabc_dimming_on_cmd = ARRAY_SIZE(dimming_on_cmd);
			evitareul_dsi.dsi_cabc_dimming_on_cmd = dimming_on_cmd;
			evitareul_disp1_backlight_data.dimming_off_cmd = dimming_off_cmd;
			evitareul_disp1_backlight_data.n_dimming_off_cmd = ARRAY_SIZE(dimming_off_cmd);
		break;
		case PANEL_ID_SHARP_NT_C2_9A:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_nt_c2_9a_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_nt_c2_9a_cmd;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
			evitareul_dsi.n_cabc_cmd = ARRAY_SIZE(nt_moving_mode_cmd);
			evitareul_dsi.dsi_cabc_moving_mode = nt_moving_mode_cmd;
			evitareul_dsi.dsi_cabc_still_mode = nt_still_mode_cmd;
			evitareul_dsi.n_cabc_dimming_on_cmd = ARRAY_SIZE(dimming_on_cmd);
			evitareul_dsi.dsi_cabc_dimming_on_cmd = dimming_on_cmd;
			evitareul_disp1_backlight_data.dimming_off_cmd = dimming_off_cmd;
			evitareul_disp1_backlight_data.n_dimming_off_cmd = ARRAY_SIZE(dimming_off_cmd);
		break;
		case PANEL_ID_SHARP:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_unknow_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_unknow_cmd;
		break;
		case PANEL_ID_AUO_NT_C2:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_auo_nt_c2_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_auo_nt_c2_cmd;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
		break;
		case PANEL_ID_AUO_NT_X7:
		case PANEL_ID_AUO:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_auo_nt_x7_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_auo_nt_x7_cmd;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
		break;
		default:
			evitareul_dsi.n_init_cmd = ARRAY_SIZE(dsi_init_sharp_nt_c2_9a_cmd);
			evitareul_dsi.dsi_init_cmd = dsi_init_sharp_nt_c2_9a_cmd;

			evitareul_dsi.n_osc_off_cmd = ARRAY_SIZE(osc_off_cmd);
			evitareul_dsi.osc_off_cmd = osc_off_cmd;
			evitareul_dsi.n_osc_on_cmd = ARRAY_SIZE(osc_on_cmd);
			evitareul_dsi.osc_on_cmd = osc_on_cmd;
	}

#if defined(CONFIG_TEGRA_GRHOST) && defined(CONFIG_TEGRA_DC)
	if (!err)
		err = nvhost_device_register(&evitareul_disp1_device);

	res = nvhost_get_resource_byname(&evitareul_disp2_device,
					 IORESOURCE_MEM, "fbmem");
	if (res) {
		res->start = tegra_fb2_start;
		res->end = tegra_fb2_start + tegra_fb2_size - 1;
	}

	if (!err)
		err = nvhost_device_register(&evitareul_disp2_device);
#endif

#if defined(CONFIG_TEGRA_GRHOST) && defined(CONFIG_TEGRA_NVAVP)
	if (!err)
		err = nvhost_device_register(&nvavp_device);
#endif

	if( (board_mfg_mode() == BOARD_MFG_MODE_OFFMODE_CHARGING) ) {
		if (board_zchg_mode() & 0x1)	/*off-mode charge with china sku, need to draw battery*/
			evitareul_disp1_backlight_data.backlight_status = BACKLIGHT_SKIP_WHEN_PROBE;
		else				/*off-mode charge without china sku, do not need to open backlight */
			evitareul_disp1_backlight_data.backlight_status = BACKLIGHT_DISABLE;
	}

	if (!err)
		err = platform_add_devices(evitareul_bl_devices,
				ARRAY_SIZE(evitareul_bl_devices));
	INIT_WORK(&bkl_work, bkl_do_work);
	bkl_wq = create_workqueue("bkl_wq");
	setup_timer(&bkl_timer, bkl_update, NULL);

	bkl_debugfs_root = debugfs_create_dir("backlight", NULL);

	if (!debugfs_create_file("calibration", 0644,
				 bkl_debugfs_root, NULL, &bkl_calibration_fops))
		goto failed;
failed:
	DISP_INFO_OUT();

	return err;
}
