static int mipi_video_hx8389b_qhd_pt_init(void)
{
	int ret;

	printk(KERN_ERR "mipi_video_hx8389b_qhd_pt_init\n");

	pinfo.xres = 540;
	pinfo.yres = 960;
	pinfo.type = MIPI_VIDEO_PANEL;
	pinfo.pdest = DISPLAY_1;
	pinfo.wait_cycle = 0;
	pinfo.bpp = 24;

	pinfo.lcdc.h_back_porch = 40;
	pinfo.lcdc.h_front_porch = 53;
	pinfo.lcdc.h_pulse_width = 20;
	pinfo.lcdc.v_back_porch = 6;
	pinfo.lcdc.v_front_porch = 45;
	pinfo.lcdc.v_pulse_width = 1;
	pinfo.clk_rate = 311860000;
	pinfo.mipi.data_lane0 = TRUE;
	pinfo.mipi.data_lane1 = TRUE;
	pinfo.mipi.data_lane2 = TRUE;

	pinfo.lcdc.border_clr = 0;	/* blk */
	pinfo.lcdc.underflow_clr = 0xff;	/* blue */
	/* number of dot_clk cycles HSYNC active edge is
	delayed from VSYNC active edge */
	pinfo.lcdc.hsync_skew = 0;

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

	pinfo.mipi.mode = DSI_VIDEO_MODE;
	/* send HSA and HE following VS/VE packet */
	pinfo.mipi.pulse_mode_hsa_he = TRUE;
	pinfo.mipi.hfp_power_stop = FALSE; /* LP-11 during the HFP period */
	pinfo.mipi.hbp_power_stop = FALSE; /* LP-11 during the HBP period */
	pinfo.mipi.hsa_power_stop = FALSE; /* LP-11 during the HSA period */
	/* LP-11 or let Command Mode Engine send packets in
	HS or LP mode for the BLLP of the last line of a frame */
	pinfo.mipi.eof_bllp_power_stop = TRUE;
	/* LP-11 or let Command Mode Engine send packets in
	HS or LP mode for packets sent during BLLP period */
	pinfo.mipi.bllp_power_stop = TRUE;

	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; /* RGB */
	pinfo.mipi.dlane_swap = 0x01;

	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_NONE;
	pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
	pinfo.mipi.frame_rate = 60; /* FIX ME */

	pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db;
	/* append EOT at the end of data burst */
	pinfo.mipi.tx_eot_append = 0x01;
	pinfo.mipi.esc_byte_ratio = 2;

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

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

	return ret;
}
Beispiel #2
0
static int mipi_video_hx8389b_qhd_pt_init(void)
{
    int ret;

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

    pinfo.xres = 480;
    pinfo.yres = 800;
    pinfo.type = MIPI_VIDEO_PANEL;
    pinfo.pdest = DISPLAY_1;
    pinfo.wait_cycle = 0;
    pinfo.bpp = 24;
    pinfo.lcdc.h_back_porch = 50;
    pinfo.lcdc.h_front_porch = 50;
    pinfo.lcdc.h_pulse_width = 50;
    pinfo.lcdc.v_back_porch = 9;
    pinfo.lcdc.v_front_porch = 14;
    pinfo.lcdc.v_pulse_width = 4;
    pinfo.lcdc.border_clr = 0;	/* blk */
    pinfo.lcdc.underflow_clr = 0xff;	/* blue */
    /* number of dot_clk cycles HSYNC active edge is
    delayed from VSYNC active edge */
    pinfo.lcdc.hsync_skew = 0;
    pinfo.clk_rate = 335000000;
    pinfo.bl_max = 147;
    pinfo.bl_min = 1;
    pinfo.fb_num = 2;

    pinfo.mipi.mode = DSI_VIDEO_MODE;
    /* send HSA and HE following VS/VE packet */
#if 0 //for LP mode from jangsu
    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 = FALSE;
#else
    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 = FALSE;
    pinfo.mipi.bllp_power_stop = TRUE;

#endif
//LGE_CHANGE_S [Kiran] Change LCD sleep sequence

    pinfo.mipi.traffic_mode = DSI_NON_BURST_SYNCH_EVENT;//DSI_NON_BURST_SYNCH_PULSE;//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.t_clk_post = 0x04;
    pinfo.mipi.t_clk_pre = 0x17;
    pinfo.mipi.stream = 0; /* dma_p */
    pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_SW; /*DSI_CMD_TRIGGER_SW;*/
    pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW;
    pinfo.mipi.frame_rate = 60;	/* 60fps, 50fps, 30fps */

    pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db;
    pinfo.mipi.dlane_swap = 0x01;
    pinfo.mipi.tx_eot_append = 0x01;


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

    return ret;
}