static int __init mipi_video_lgit_wvga_pt_init(void) { int ret; #ifdef CONFIG_FB_MSM_MIPI_PANEL_DETECT if (msm_fb_detect_client("mipi_video_lgit_wvga")) return 0; #endif pinfo.xres = 720; pinfo.yres = 1280; pinfo.type = MIPI_VIDEO_PANEL; pinfo.pdest = DISPLAY_1; pinfo.wait_cycle = 0; pinfo.bpp = 24; pinfo.lcdc.h_back_porch = 88; pinfo.lcdc.h_front_porch = 99;//12; pinfo.lcdc.h_pulse_width = 4; pinfo.lcdc.v_back_porch = 32; pinfo.lcdc.v_front_porch = 8; pinfo.lcdc.v_pulse_width = 2; pinfo.lcdc.border_clr = 0; /* blk */ pinfo.lcdc.underflow_clr = 0xff; /* blue */ pinfo.lcdc.hsync_skew = 0; pinfo.bl_max = 0x7F; pinfo.bl_min = 0; pinfo.fb_num = 2; pinfo.mipi.mode = DSI_VIDEO_MODE; pinfo.mipi.pulse_mode_hsa_he = TRUE; /* Modify code to apply IEF function */ #if defined(LGIT_IEF) pinfo.mipi.hfp_power_stop = FALSE; pinfo.mipi.hbp_power_stop = FALSE; pinfo.mipi.hsa_power_stop = FALSE; #else pinfo.mipi.hfp_power_stop = TRUE; pinfo.mipi.hbp_power_stop = TRUE; pinfo.mipi.hsa_power_stop = TRUE; #endif 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_BGR; pinfo.mipi.data_lane0 = TRUE; pinfo.mipi.data_lane1 = TRUE; pinfo.mipi.data_lane2 = TRUE; pinfo.mipi.data_lane3 = TRUE; #if defined(DSI_BIT_CLK_425MHZ) pinfo.mipi.t_clk_post = 0x22; pinfo.mipi.t_clk_pre = 0x35; pinfo.clk_rate = 425000000;//433560000; pinfo.mipi.frame_rate = 60; #endif /*DSI_BIT_CLK_425MHZ*/ #if defined(DSI_BIT_CLK_450MHZ) pinfo.mipi.t_clk_post = 0x22; pinfo.mipi.t_clk_pre = 0x36; pinfo.clk_rate = 450000000; pinfo.mipi.frame_rate = 70; #endif /*DSI_BIT_CLK_450MHZ*/ #if defined(DSI_BIT_CLK_392MHZ) pinfo.mipi.t_clk_post = 0x22; pinfo.mipi.t_clk_pre = 0x35; pinfo.clk_rate = 400000000; pinfo.mipi.frame_rate = 60; #endif /*DSI_BIT_CLK_392MHZ*/ pinfo.mipi.stream = 0; /* dma_p */ pinfo.mipi.mdp_trigger = DSI_CMD_TRIGGER_SW; pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW; pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db; /*to maintain MIPI clock in HS mode always */ pinfo.mipi.force_clk_lane_hs = 1; ret = mipi_lgit_device_register(&pinfo, MIPI_DSI_PRIM, MIPI_DSI_PANEL_WVGA_PT); if (ret) printk(KERN_ERR "%s: failed to register device!\n", __func__); return ret; }
static int __init mipi_video_lgit_wxga_pt_init(void) { int ret; #ifdef CONFIG_FB_MSM_MIPI_PANEL_DETECT if (msm_fb_detect_client("mipi_video_lgit_wxga")) return 0; #endif pinfo.xres = 768; pinfo.yres = 1280; pinfo.type = MIPI_VIDEO_PANEL; pinfo.pdest = DISPLAY_1; pinfo.wait_cycle = 0; pinfo.bpp = 24; pinfo.lcdc.h_back_porch = 180; pinfo.lcdc.h_front_porch = 8; pinfo.lcdc.h_pulse_width = 4; pinfo.lcdc.v_back_porch = 22; pinfo.lcdc.v_front_porch = 8; pinfo.lcdc.v_pulse_width = 2; pinfo.lcdc.border_clr = 0; /* blk */ pinfo.lcdc.underflow_clr = 0; /* black */ pinfo.lcdc.hsync_skew = 0; pinfo.bl_max = 0x71; pinfo.bl_min = 0; pinfo.fb_num = 2; pinfo.mipi.mode = DSI_VIDEO_MODE; pinfo.mipi.pulse_mode_hsa_he = FALSE; /* jinho.jang 2011.03.22, Modify code to apply IEF function */ pinfo.mipi.hfp_power_stop = FALSE;//TRUE; pinfo.mipi.hbp_power_stop = FALSE;//TRUE; pinfo.mipi.hsa_power_stop = FALSE;//TRUE; pinfo.mipi.eof_bllp_power_stop = FALSE; 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; #if defined(DSI_BIT_CLK_458MHZ) pinfo.mipi.t_clk_post = 0x22; pinfo.mipi.t_clk_pre = 0x36; pinfo.clk_rate = 453770000; pinfo.mipi.frame_rate = 60; #endif pinfo.mipi.esc_byte_ratio = 6; /* if bllp_power_stop is true, esc_clk enabling is needed. */ pinfo.mipi.stream = 0; /* dma_p */ pinfo.mipi.mdp_trigger = 0;//DSI_CMD_TRIGGER_SW; pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW; pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db; ret = mipi_lgit_device_register(&pinfo, MIPI_DSI_PRIM, MIPI_DSI_PANEL_WXGA); if (ret) printk(KERN_ERR "%s: failed to register device!\n", __func__); return ret; }
static int __init mipi_video_lgit_fhd_pt_init(void) { int ret; #ifdef CONFIG_FB_MSM_MIPI_PANEL_DETECT if (msm_fb_detect_client("mipi_video_lgit_fhd")) return 0; #endif pinfo.xres = 1080; pinfo.yres = 1920; pinfo.type = MIPI_VIDEO_PANEL; pinfo.pdest = DISPLAY_1; pinfo.wait_cycle = 0; pinfo.bpp = 24; #if defined(CONFIG_MACH_APQ8064_GVDCM) || defined(CONFIG_MACH_APQ8064_GVKT) pinfo.lcdc.h_back_porch = 105; pinfo.lcdc.h_front_porch = 120; #elif defined(CONFIG_MACH_APQ8064_GKATT) || defined(CONFIG_MACH_APQ8064_GKOPENHK) pinfo.lcdc.h_back_porch = 144; /* 106 */ pinfo.lcdc.h_front_porch = 152; /* 95 */ #elif defined(CONFIG_MACH_APQ8064_GKU) || defined(CONFIG_MACH_APQ8064_GKKT) || defined(CONFIG_MACH_APQ8064_GKSK) if (lge_get_board_revno() == HW_REV_C) { pinfo.lcdc.h_back_porch = 85; /* 106 */ pinfo.lcdc.h_front_porch = 100; /* 95 */ } else { pinfo.lcdc.h_back_porch = 150; pinfo.lcdc.h_front_porch = 179; } #endif pinfo.lcdc.h_pulse_width = 4; pinfo.lcdc.v_back_porch = 9; pinfo.lcdc.v_front_porch = 3; 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 = 0xFF; pinfo.bl_min = 0; pinfo.fb_num = 2; pinfo.mipi.mode = DSI_VIDEO_MODE; pinfo.mipi.pulse_mode_hsa_he = FALSE; /* jinho.jang 2011.03.22, Modify code to apply IEF function */ pinfo.mipi.hfp_power_stop = FALSE;//TRUE; // FALSE; //TRUE; pinfo.mipi.hbp_power_stop = FALSE;//TRUE; // FALSE; //TRUE; pinfo.mipi.hsa_power_stop = FALSE;//FALSE; //TRUE; pinfo.mipi.esc_byte_ratio = 6; pinfo.mipi.eof_bllp_power_stop = TRUE; //FALSE; //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; #if defined(DSI_BIT_CLK_900MHZ) pinfo.mipi.t_clk_post = 0x21; pinfo.mipi.t_clk_pre = 0x3C; #if defined(CONFIG_MACH_APQ8064_GVDCM) || defined(CONFIG_MACH_APQ8064_GVKT) pinfo.clk_rate = 910000000; #elif defined(CONFIG_MACH_APQ8064_GKATT) || defined(CONFIG_MACH_APQ8064_GKOPENHK) pinfo.clk_rate = 960000000; #elif defined(CONFIG_MACH_APQ8064_GKU) || defined(CONFIG_MACH_APQ8064_GKKT) || defined(CONFIG_MACH_APQ8064_GKSK) if (lge_get_board_revno() == HW_REV_C) pinfo.clk_rate = 884000000; else pinfo.clk_rate = 983000000; #endif pinfo.mipi.frame_rate = 60; #endif pinfo.mipi.stream = 0; /* dma_p */ pinfo.mipi.mdp_trigger = 0; /* DSI_CMD_TRIGGER_SW */ pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW; #if defined(CONFIG_MACH_APQ8064_GKU) || defined(CONFIG_MACH_APQ8064_GKKT) || defined(CONFIG_MACH_APQ8064_GKSK) if (lge_get_board_revno() == HW_REV_C) pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db_domestic_rev_c; else pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db; #else pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db; #endif ret = mipi_lgit_device_register(&pinfo, MIPI_DSI_PRIM, MIPI_DSI_PANEL_FHD); if (ret) printk(KERN_ERR "%s: failed to register device!\n", __func__); return ret; }
static int __init mipi_video_lgit_wxga_pt_init(void) { int ret; struct platform_disp_info info = { .id = DISPLAY_PRIMARY, .dest = DISPLAY_1 }; #ifdef CONFIG_FB_MSM_MIPI_PANEL_DETECT if (msm_fb_detect_client("mipi_video_lgit_wxga", &info)) return 0; #endif pinfo.xres = 768; pinfo.yres = 1280; pinfo.type = MIPI_VIDEO_PANEL; pinfo.pdest = info.dest; pinfo.disp_id = info.id; pinfo.wait_cycle = 0; pinfo.bpp = 24; pinfo.lcdc.h_back_porch = 180; pinfo.lcdc.h_front_porch = 8; pinfo.lcdc.h_pulse_width = 4; pinfo.lcdc.v_back_porch = 22; pinfo.lcdc.v_front_porch = 8; pinfo.lcdc.v_pulse_width = 2; pinfo.lcdc.border_clr = 0; /* blk */ pinfo.lcdc.underflow_clr = 0x0; /* black */ pinfo.lcdc.hsync_skew = 0; pinfo.bl_max = 0x72; pinfo.bl_min = 0x02; pinfo.fb_num = 2; pinfo.mipi.mode = DSI_VIDEO_MODE; pinfo.mipi.pulse_mode_hsa_he = FALSE; 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; 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 = 0x22; pinfo.mipi.t_clk_pre = 0x36; pinfo.clk_rate = 453770000; pinfo.mipi.esc_byte_ratio = 6; pinfo.mipi.frame_rate = 60; pinfo.mipi.stream = 0; pinfo.mipi.mdp_trigger = 0; pinfo.mipi.dma_trigger = DSI_CMD_TRIGGER_SW; pinfo.mipi.dsi_phy_db = &dsi_video_mode_phy_db; ret = mipi_lgit_device_register(&pinfo, MIPI_DSI_PRIM, MIPI_DSI_PANEL_WXGA); if (ret) pr_err("%s: failed to register device!\n", __func__); return ret; }