コード例 #1
0
static int __init mipi_cmd_orise_720p_pt_init(void)
{
	int ret;

	if (msm_fb_detect_client("mipi_cmd_orise_720p"))
		return 0;

	pinfo.xres = 720;
	pinfo.yres = 1280;
	pinfo.type = MIPI_CMD_PANEL;
	pinfo.pdest = DISPLAY_1;
	pinfo.wait_cycle = 0;
	pinfo.bpp = 24;
	pinfo.lcdc.h_back_porch = 160;
	pinfo.lcdc.h_front_porch = 160;
	pinfo.lcdc.h_pulse_width = 8;
	pinfo.lcdc.v_back_porch = 32;
	pinfo.lcdc.v_front_porch = 32;
	pinfo.lcdc.v_pulse_width = 1;
	pinfo.lcdc.border_clr = 0;	
	pinfo.lcdc.underflow_clr = 0xff;	
	pinfo.lcdc.hsync_skew = 0;
	pinfo.bl_max = 200;
	pinfo.bl_min = 1;
	pinfo.fb_num = 2;
	pinfo.clk_rate = 507000000;
	pinfo.lcd.vsync_enable = TRUE;
	pinfo.lcd.hw_vsync_mode = TRUE;
	pinfo.lcd.refx100 = 6000; 
	pinfo.lcd.v_back_porch = 32;
	pinfo.lcd.v_front_porch = 32;
	pinfo.lcd.v_pulse_width = 1;

	pinfo.mipi.mode = DSI_CMD_MODE;
	pinfo.mipi.dst_format = DSI_CMD_DST_FORMAT_RGB888;
	pinfo.mipi.vc = 0;
	pinfo.mipi.data_lane0 = TRUE;
	pinfo.mipi.data_lane1 = TRUE;
	pinfo.mipi.data_lane2 = TRUE;
	pinfo.mipi.data_lane3 = TRUE;
	pinfo.mipi.t_clk_post = 0x04;
	pinfo.mipi.t_clk_pre = 0x1e;
	pinfo.mipi.stream = 0;	
	pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_NONE;
	pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.te_sel = 1; 
	pinfo.mipi.interleave_max = 1;
	pinfo.mipi.insert_dcs_cmd = TRUE;
	pinfo.mipi.wr_mem_continue = 0x3c;
	pinfo.mipi.wr_mem_start = 0x2c;
	pinfo.mipi.dsi_phy_db = &dsi_cmd_mode_phy_db;

	ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
						MIPI_DSI_PANEL_720P_PT);
	if (ret)
		pr_err("%s: failed to register device!\n", __func__);

	return ret;
}
コード例 #2
0
static int __init mipi_video_orise_720p_pt_init(void)
{
	int ret;

	if (msm_fb_detect_client("mipi_video_orise_720p"))
		return 0;

	pinfo.xres = 720;
	pinfo.yres = 1280;
	pinfo.lcdc.xres_pad = 0;
	pinfo.lcdc.yres_pad = 0;

	pinfo.type = MIPI_VIDEO_PANEL;
	pinfo.pdest = DISPLAY_1;
	pinfo.wait_cycle = 0;
	pinfo.bpp = 24;
	pinfo.lcdc.h_back_porch = 160;
	pinfo.lcdc.h_front_porch = 160;
	pinfo.lcdc.h_pulse_width = 8;
	pinfo.lcdc.v_back_porch = 32;
	pinfo.lcdc.v_front_porch = 32;
	pinfo.lcdc.v_pulse_width = 1;
	pinfo.lcdc.border_clr = 0;	/* blk */
	pinfo.lcdc.underflow_clr = 0xff;	/* blue */
	pinfo.lcdc.hsync_skew = 0;
	pinfo.bl_max = 255;//200;
	pinfo.bl_min = 1;
	pinfo.fb_num = 2;

	pinfo.mipi.mode = DSI_VIDEO_MODE;
	pinfo.mipi.pulse_mode_hsa_he = TRUE;
	pinfo.mipi.hfp_power_stop = TRUE;
	pinfo.mipi.hbp_power_stop = TRUE;
	pinfo.mipi.hsa_power_stop = FALSE;
	pinfo.mipi.eof_bllp_power_stop = TRUE;
	pinfo.mipi.bllp_power_stop = TRUE;
	pinfo.mipi.traffic_mode = DSI_NON_BURST_SYNCH_EVENT;
	pinfo.mipi.dst_format = DSI_VIDEO_DST_FORMAT_RGB888;
	pinfo.mipi.vc = 0;
	pinfo.mipi.rgb_swap = DSI_RGB_SWAP_RGB;
	pinfo.mipi.data_lane0 = TRUE;
	pinfo.mipi.data_lane1 = TRUE;
	pinfo.mipi.data_lane2 = TRUE;
	pinfo.mipi.data_lane3 = TRUE;
	pinfo.mipi.t_clk_post = 0x04;
	pinfo.mipi.t_clk_pre = 0x1c;
	pinfo.mipi.stream = 0; /* dma_p */
	pinfo.mipi.mdp_trigger = 0;
	pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.frame_rate = 55;
	pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db;
	pinfo.mipi.tx_eot_append = TRUE;
	pinfo.mipi.esc_byte_ratio = 4;

	ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
						MIPI_DSI_PANEL_720P_PT);
	if (ret)
		printk(KERN_ERR "%s: failed to register device!\n", __func__);

	return ret;
}
コード例 #3
0
static int __init mipi_cmd_orise_720p_pt_init(void)
{
    int ret;

    if (msm_fb_detect_client("mipi_cmd_orise_720p"))
        return 0;
    pr_info("Neal N1 mipi_cmd_orise_720p_pt_init init\n");
    pinfo.xres = 1080;
    pinfo.yres = 1920;
    pinfo.type = MIPI_CMD_PANEL;
    pinfo.pdest = DISPLAY_1;
    pinfo.wait_cycle = 0;
    pinfo.bpp = 24;
    pinfo.mipi.data_lane2 = TRUE;

    pinfo.lcdc.h_back_porch = 120;
    //pinfo.lcdc.h_front_porch = 100;
	//pinfo.lcdc.h_back_porch = 101;
    pinfo.lcdc.h_front_porch = 100;
    pinfo.lcdc.h_pulse_width = 8;
    pinfo.lcdc.v_back_porch = 11;
    pinfo.lcdc.v_front_porch = 10;
    pinfo.lcdc.v_pulse_width = 5;
    pinfo.lcdc.border_clr = 0;  //blk

    pinfo.lcdc.underflow_clr = 0xff;    /* blue */
    pinfo.lcdc.hsync_skew = 0;
    pinfo.bl_max = 255;
    pinfo.bl_min = 0;
    pinfo.fb_num = 2;
    //pinfo.clk_rate = 550000000;
    //pinfo.clk_rate = 499000000;
    pinfo.clk_rate = 900000000;
    pinfo.mipi.esc_byte_ratio = 4;
    pinfo.lcd.vsync_enable = TRUE;
    pinfo.lcd.hw_vsync_mode = TRUE;
    pinfo.lcd.refx100 = 6300; /* adjust refx100 to prevent tearing */
	//pinfo.lcd.refx100 = 6204;
    //pinfo.lcd.refx100 = 6105;
    //pinfo.lcd.refx100 = 6205;
    pinfo.mipi.mode = DSI_CMD_MODE;
    pinfo.mipi.dst_format = DSI_CMD_DST_FORMAT_RGB888;
    pinfo.mipi.vc = 0;
    pinfo.mipi.rgb_swap = DSI_RGB_SWAP_RGB;
    pinfo.mipi.data_lane0 = TRUE;
    pinfo.mipi.data_lane1 = TRUE;
    pinfo.mipi.data_lane2 = TRUE;
    pinfo.mipi.data_lane3 = TRUE;
    //pinfo.mipi.t_clk_post = 0x04;
    //pinfo.mipi.t_clk_pre = 0x1d;
	pinfo.mipi.t_clk_post = 0x20;
	pinfo.mipi.t_clk_pre = 0x2F;
    pinfo.mipi.stream = 0; /* dma_p */
    pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_SW;
    pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	//pinfo.mipi.traffic_mode = DSI_BURST_MODE;
	//pinfo.mipi.traffic_mode = DSI_NON_BURST_SYNCH_EVENT;
	//pinfo.mipi.dsi_pclk_rate = ;
	//pinfo.mipi.frame_rate = 60;
    pinfo.mipi.te_sel = 1; /* TE from vsync gpio */
    pinfo.mipi.interleave_max = 1;
    pinfo.mipi.insert_dcs_cmd = TRUE;
    pinfo.mipi.wr_mem_continue = 0x3c;
    pinfo.mipi.wr_mem_start = 0x2c;
    pinfo.mipi.dsi_phy_db = &dsi_cmd_mode_phy_db_1080p;
    pinfo.mipi.tx_eot_append = 0x01;
    pinfo.mipi.rx_eot_ignore = 0x0;


    ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
                                     MIPI_DSI_PANEL_720P_PT);
    if (ret)
        pr_err("%s: failed to register device!\n", __func__);

    return ret;
}
コード例 #4
0
static int __init mipi_cmd_orise_pt_init(void)
{
	int ret;
	pr_info("[DISPLAY] +%s\n", __func__);

	pinfo.xres = 480;
	pinfo.yres = 854;
	pinfo.type = MIPI_CMD_PANEL;
	pinfo.pdest = DISPLAY_1;
	pinfo.wait_cycle = 0;
	pinfo.bpp = 24;

/* MM-VH-DISPLAY-NICKI14*[ */
	pinfo.lcdc.h_back_porch = 44;
	pinfo.lcdc.h_front_porch = 46;
	pinfo.lcdc.h_pulse_width = 4;
	pinfo.lcdc.v_back_porch = 16;
	pinfo.lcdc.v_front_porch = 15;
	pinfo.lcdc.v_pulse_width = 1;
/* MM-VH-DISPLAY-NICKI14*] */

	/* Make sure change this value after modified pinfo.pll*/

	pinfo.clk_rate = 400000000;
	pinfo.lcdc.border_clr = 0;	/* blk */
	pinfo.lcdc.underflow_clr = 0xf0;	/* blue */
	pinfo.lcdc.hsync_skew = 0;
	/* MM-KW-Backlight-02+{ */
	pinfo.bl_max = 255;
	/* MM-KW-Backlight-02-} */
	pinfo.bl_min = 1;
	pinfo.fb_num = 2;
	/* MM-KW-Logo-00+{ */
	pinfo.width = 50;
	pinfo.height = 89;
	/* MM-KW-Logo-00-} */
	pinfo.mipi.mode = DSI_CMD_MODE;
	pinfo.mipi.dst_format = DSI_CMD_DST_FORMAT_RGB888;
	pinfo.mipi.vc = 0;
	pinfo.mipi.rgb_swap = DSI_RGB_SWAP_RGB;
	pinfo.mipi.data_lane0 = TRUE;
	pinfo.mipi.data_lane1 = TRUE;
	pinfo.mipi.data_lane2 = FALSE;
	pinfo.mipi.data_lane3 = FALSE;
	pinfo.mipi.tx_eot_append = TRUE;
	pinfo.mipi.t_clk_post = 0x5;
	pinfo.mipi.t_clk_pre = 0x18;
	pinfo.mipi.stream = 0; /* dma_p */
	pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.frame_rate = 60;
	pinfo.mipi.dsi_phy_db = &dsi_cmd_mode_phy_db;
	pinfo.mipi.dlane_swap = 0x01;
	//pinfo.lcdc.xres_pad = 0;
	//pinfo.lcdc.yres_pad = 0;
	pinfo.lcd.refx100 = 7000; /* adjust refx100 to prevent tearing */
	pinfo.mipi.te_sel = 1; /* TE from vsync gpio *///
	pinfo.mipi.interleave_max = 1;
	pinfo.mipi.insert_dcs_cmd = TRUE;
	pinfo.mipi.wr_mem_continue = 0x3c;
	pinfo.mipi.wr_mem_start = 0x2c;
	//pinfo.mipi.rx_eot_ignore = 0;
	pinfo.lcd.vsync_enable = TRUE;
	pinfo.lcd.hw_vsync_mode = TRUE;
	//pinfo.mipi.dsi_pclk_rate = 12000000;
	pinfo.mipi.esc_byte_ratio = 4;
/* MM-VH-DISPLAY-NICKI18*] */
	ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
						MIPI_DSI_PANEL_FWVGA_PT);
	if (ret)
		pr_err("%s: failed to register device!\n", __func__);

	return ret;
}
コード例 #5
0
static int __init mipi_video_orise_pt_init(void)
{
	int ret;

	printk(KERN_ERR "[DISPLAY] Enter %s\n", __func__);
	pinfo.xres = 480;
	pinfo.yres = 854;
	pinfo.type = MIPI_VIDEO_PANEL;
	pinfo.pdest = DISPLAY_1;
	pinfo.wait_cycle = 0;
	pinfo.bpp = 24;
	pinfo.lcdc.h_back_porch = 80;
	pinfo.lcdc.h_front_porch = 24;
	pinfo.lcdc.h_pulse_width = 15;
	pinfo.lcdc.v_back_porch = 50;
	pinfo.lcdc.v_front_porch = 8;
	pinfo.lcdc.v_pulse_width = 1;
	pinfo.clk_rate = 499000000;
	pinfo.lcdc.border_clr = 0;	/* blk */
	pinfo.lcdc.underflow_clr = 0xf0;	/* blue */
	pinfo.lcdc.hsync_skew = 0;
	pinfo.bl_max = 10;
	pinfo.bl_min = 1;
	pinfo.fb_num = 2;
/* FIH-SW-MM-VH-DISPLAY-22+[ */
	pinfo.width = 50;
	pinfo.height = 89;
/* FIH-SW-MM-VH-DISPLAY-22+] */
	pinfo.mipi.mode = DSI_VIDEO_MODE;
	pinfo.mipi.pulse_mode_hsa_he = TRUE;
	pinfo.mipi.hfp_power_stop = FALSE;
	pinfo.mipi.hbp_power_stop = FALSE;
	pinfo.mipi.hsa_power_stop = FALSE;
	pinfo.mipi.eof_bllp_power_stop = TRUE;
	pinfo.mipi.bllp_power_stop = TRUE;
	pinfo.mipi.traffic_mode = DSI_NON_BURST_SYNCH_PULSE;
	pinfo.mipi.dst_format = DSI_VIDEO_DST_FORMAT_RGB888;
	pinfo.mipi.vc = 0;
	pinfo.mipi.rgb_swap = DSI_RGB_SWAP_RGB;
	pinfo.mipi.data_lane0 = TRUE;
	pinfo.mipi.data_lane1 = TRUE;
	pinfo.mipi.data_lane2 = FALSE;
	pinfo.mipi.data_lane3 = FALSE;

	pinfo.mipi.tx_eot_append = TRUE;
	pinfo.mipi.t_clk_post = 0x20;
	pinfo.mipi.t_clk_pre = 0x20;  /* FIH-SW2-MM-NC-LCM_INIT-02 */
	pinfo.mipi.stream = 0; /* dma_p */
	pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_NONE;
	pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
/* FIH-SW-MM-VH-DISPLAY-43*[ */
	pinfo.mipi.frame_rate = 61;
/* FIH-SW-MM-VH-DISPLAY-43*] */
	pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db;
	pinfo.mipi.dlane_swap = 0x01;

	ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
						MIPI_DSI_PANEL_FWVGA_PT);
	if (ret)
		pr_err("%s: failed to register device!\n", __func__);

	return ret;
}
コード例 #6
0
static int __init mipi_cmd_orise_oppo_n1_pt_init(void)
{
    int ret;

/* OPPO 2013-11-13 gousj Add begin for device information */
#ifdef CONFIG_VENDOR_EDIT
	register_device_proc("lcd", DEVICE_VERSION, DEVICE_MANUFACUTRE);
#endif
/* OPPO 2013-11-13 gousj Add end */
	
    if (msm_fb_detect_client("mipi_cmd_orise_oppo_n1"))
        return 0;
    pr_info("%s:\n", __func__);
    pinfo.xres = 1080;
    pinfo.yres = 1920;
    pinfo.type = MIPI_CMD_PANEL;
    pinfo.pdest = DISPLAY_1;
    pinfo.wait_cycle = 0;
    pinfo.bpp = 24;
    pinfo.mipi.data_lane2 = TRUE;

    pinfo.lcdc.h_back_porch = 120;
    //pinfo.lcdc.h_front_porch = 100;
	//pinfo.lcdc.h_back_porch = 101;
    pinfo.lcdc.h_front_porch = 100;
    pinfo.lcdc.h_pulse_width = 8;
    pinfo.lcdc.v_back_porch = 11;
    pinfo.lcdc.v_front_porch = 10;
    pinfo.lcdc.v_pulse_width = 5;
    pinfo.lcdc.border_clr = 0;  //blk

    pinfo.lcdc.underflow_clr = 0xff;    /* blue */
    pinfo.lcdc.hsync_skew = 0;
    pinfo.bl_max = 255;
    pinfo.bl_min = 0;
    pinfo.fb_num = 2;
    pinfo.clk_rate = 900000000;
    pinfo.mipi.esc_byte_ratio = 4;
    pinfo.lcd.vsync_enable = TRUE;
    pinfo.lcd.hw_vsync_mode = TRUE;
    /* OPPO 2013-12-10 gousj Add begin for new panel adaption increase frame rate */
    pinfo.lcd.refx100 = 6400; /* adjust refx100 to prevent tearing */
    /* OPPO 2013-12-10 gousj Add end */
    pinfo.mipi.mode = DSI_CMD_MODE;
    pinfo.mipi.dst_format = DSI_CMD_DST_FORMAT_RGB888;
    pinfo.mipi.vc = 0;
    pinfo.mipi.rgb_swap = DSI_RGB_SWAP_RGB;
    pinfo.mipi.data_lane0 = TRUE;
    pinfo.mipi.data_lane1 = TRUE;
    pinfo.mipi.data_lane2 = TRUE;
    pinfo.mipi.data_lane3 = TRUE;
    //pinfo.mipi.t_clk_post = 0x04;
    //pinfo.mipi.t_clk_pre = 0x1d;
	pinfo.mipi.t_clk_post = 0x20;
	pinfo.mipi.t_clk_pre = 0x2F;
    pinfo.mipi.stream = 0; /* dma_p */
    pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_SW;
    pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	//pinfo.mipi.traffic_mode = DSI_BURST_MODE;
	//pinfo.mipi.traffic_mode = DSI_NON_BURST_SYNCH_EVENT;
	//pinfo.mipi.dsi_pclk_rate = ;
	pinfo.mipi.frame_rate = 61;
    pinfo.mipi.te_sel = 1; /* TE from vsync gpio */
    pinfo.mipi.interleave_max = 1;
    pinfo.mipi.insert_dcs_cmd = TRUE;
    pinfo.mipi.wr_mem_continue = 0x3c;
    pinfo.mipi.wr_mem_start = 0x2c;
    pinfo.mipi.dsi_phy_db = &dsi_cmd_mode_phy_db_1080p;
    pinfo.mipi.tx_eot_append = 0x01;
    pinfo.mipi.rx_eot_ignore = 0x0;


    ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
                                     MIPI_DSI_PANEL_720P_PT);
    if (ret)
        pr_err("%s: failed to register device!\n", __func__);

    return ret;
}
コード例 #7
0
static int __init mipi_cmd_orise_qhd_pt_init(void)
{
	int ret;

	if (msm_fb_detect_client("mipi_cmd_orise_qhd"))
		return 0;
	PR_DISP_INFO("panel: mipi_cmd_orise_qhd\n");

	pinfo.xres = 540;
	pinfo.yres = 960;
	pinfo.type = MIPI_CMD_PANEL;
	pinfo.pdest = DISPLAY_1;
	pinfo.wait_cycle = 0;
	pinfo.bpp = 24;
	pinfo.width = 56;
	pinfo.height = 99;

	pinfo.lcdc.h_back_porch = 22;
	pinfo.lcdc.h_front_porch = 22;
	pinfo.lcdc.h_pulse_width = 1;
	pinfo.lcdc.v_back_porch = 3;
	pinfo.lcdc.v_front_porch = 3;
	pinfo.lcdc.v_pulse_width = 1;
	pinfo.lcdc.border_clr = 0;	
	pinfo.lcdc.underflow_clr = 0xff;	
	pinfo.lcdc.hsync_skew = 0;

	pinfo.bl_max = 255;
	pinfo.bl_min = 1;
	pinfo.fb_num = 2;
	pinfo.clk_rate = 482000000;

	pinfo.lcd.vsync_enable = TRUE;
	pinfo.lcd.hw_vsync_mode = TRUE;
	pinfo.lcd.refx100 = 6096; 

	pinfo.lcd.v_back_porch = 2;
	pinfo.lcd.v_front_porch = 2;
	pinfo.lcd.v_pulse_width = 2;

	pinfo.mipi.mode = DSI_CMD_MODE;
	pinfo.mipi.dst_format = DSI_CMD_DST_FORMAT_RGB888;
	pinfo.mipi.vc = 0;
	pinfo.mipi.data_lane0 = TRUE;
	pinfo.mipi.data_lane1 = TRUE;
	pinfo.mipi.esc_byte_ratio = 4;

	pinfo.mipi.t_clk_post = 0x0a;
	pinfo.mipi.t_clk_pre = 0x21;
	pinfo.mipi.stream = 0;	
	pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.te_sel = 1; 
	pinfo.mipi.interleave_max = 1;
	pinfo.mipi.insert_dcs_cmd = TRUE;
	pinfo.mipi.wr_mem_continue = 0x3c;
	pinfo.mipi.wr_mem_start = 0x2c;
	pinfo.mipi.tx_eot_append = 1; 
	pinfo.mipi.dsi_phy_db = &dsi_cmd_mode_phy_db;

	ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
						MIPI_DSI_PANEL_QHD_PT);

	if (ret)
		PR_DISP_ERR("%s: failed to register device!\n", __func__);

	return ret;
}
コード例 #8
0
static int __init mipi_video_orise_720p_pt_init(void)
{
	int ret;
	int rc = 0;
	if (msm_fb_detect_client("mipi_video_orise_720p"))
		return 0;
/*OPPO Neal add for sharp panel*/
	 rc = gpio_request(LCD_DIS_GPIO, "LCD_DIS_GPIO");
        if (rc < 0)
        {
            pr_err("MIPI GPIO LCD_TE_GPIO request failed: %d\n", rc);
            return -ENODEV;
        }
	 gpio_direction_output(LCD_DIS_GPIO,0);
	
	 dis = gpio_get_value(LCD_DIS_GPIO);
	 printk(KERN_ERR "mipi_orise_lcd_probe Neal ******************************: dis = %d\n", dis);
	 gpio_free(LCD_DIS_GPIO);
/*OPPO Neal add end*/

	pinfo.xres = 1080;
	pinfo.yres = 1920;
	pinfo.lcdc.xres_pad = 0;
	pinfo.lcdc.yres_pad = 0;

	pinfo.type = MIPI_VIDEO_PANEL;
	pinfo.pdest = DISPLAY_1;
	pinfo.wait_cycle = 0;
	pinfo.bpp = 24;
#if 1		
	/* OPPO 2013-03-07 Gousj Modify begin for solve the issue of lack of virtical pixel. */	
		//Gousj modified  h_back_porch  from 100 to 101 	
	/*OPPO Neal add for sharp panel*/

	if(get_panel_info() == 0)
		{
			pinfo.lcdc.h_back_porch = 100;//100;//80;
			pinfo.lcdc.v_back_porch = 5;	//must > 4,Otherwise,it will increase the burden of clock	huyu

			printk(KERN_ERR "%s: register sharp device!\n", __func__);
		}
	else
		{
			pinfo.lcdc.h_back_porch = 101;//100;//80;
			pinfo.lcdc.v_back_porch = 4;	//must > 4,Otherwise,it will increase the burden of clock	huyu
			printk(KERN_ERR "%s: register jdi device!\n", __func__);
		}	
	/*OPPO Neal add end*/

		pinfo.lcdc.h_front_porch = 130;//120		
		pinfo.lcdc.h_pulse_width = 8;		
		//Modified by Gousj on date 2013-3-4 ,the value of v_back_porch decreased from 5 to 4 .		
				
		pinfo.lcdc.v_front_porch = 3;		
		//Modified by Gousj on date 2013-3-4 ,the value of v_pulse_width decreased from 2 to 1 .		
		pinfo.lcdc.v_pulse_width = 1;//2;		
	/* OPPO 2013-03-07 Gousj Modify end */
#endif
	pinfo.lcdc.border_clr = 0;	/* blk */
	pinfo.lcdc.underflow_clr = 0xff;	/* blue */
	pinfo.lcdc.hsync_skew = 0;
	/* OPPO 2013-04-22 Gousj Modify for black light not light */
	pinfo.bl_max = 127;
	/* OPPO 2013-04-022 Gousj Modify end */
	pinfo.bl_min = 1;
	pinfo.fb_num = 2;

	pinfo.mipi.mode = DSI_VIDEO_MODE;
	pinfo.mipi.pulse_mode_hsa_he = FALSE;
	pinfo.mipi.hfp_power_stop = TRUE;
	pinfo.mipi.hbp_power_stop = FALSE;
	pinfo.mipi.hsa_power_stop = FALSE;
	pinfo.mipi.eof_bllp_power_stop = FALSE;
	pinfo.mipi.bllp_power_stop = FALSE;
	pinfo.mipi.traffic_mode = DSI_BURST_MODE;
	pinfo.mipi.dst_format = DSI_VIDEO_DST_FORMAT_RGB888;
	pinfo.mipi.vc = 0;
	pinfo.mipi.rgb_swap = DSI_RGB_SWAP_RGB;
	pinfo.mipi.data_lane0 = TRUE;
	pinfo.mipi.data_lane1 = TRUE;
	pinfo.mipi.data_lane2 = TRUE;
	pinfo.mipi.data_lane3 = TRUE;
	pinfo.mipi.t_clk_post = 0x25;//0x19;
	pinfo.mipi.t_clk_pre = 0x36;//0x37;
	pinfo.mipi.stream = 0; /* dma_p */
	pinfo.mipi.mdp_trigger = 0;
	pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.frame_rate = 60;
	pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db_1080p;
	pinfo.mipi.tx_eot_append = TRUE;
	pinfo.mipi.esc_byte_ratio = 4;

	ret = mipi_orise_device_register(&pinfo, MIPI_DSI_PRIM,
						MIPI_DSI_PANEL_720P_PT);
	if (ret)
		printk(KERN_ERR "%s: failed to register device!\n", __func__);

	return ret;
}