高通LCD LK几点笔记

解决问题:

1、pinfo->mipi.cmds_post_tg = 1;先发video数据

cmds_post_tg用于设置是先发初始化代码(命令)还是先发video数据

2、panelstruct->paneldata->panel_lp11_init = 1;MIPI初始化状态设置为LP11模式

高通LCD LK几点笔记_第1张图片

 

3、LK开启高速模式:

+++ b/bootable/bootloader/lk/platform/msm_shared/mipi_dsi.c

@@ -493,7 +493,8 @@ int mdss_dsi_panel_initialize(struct mipi_panel_info *mipi, uint32_t

{

int status = 0;

uint32_t ctrl_mode = 0;

-

+ uint32_t ctrl_mode_1 = 0;//add by sunshine_liu

+

#if (DISPLAY_TYPE_MDSS == 1)

if (!mipi->panel_on_cmds)

goto end;

@@ -504,8 +505,22 @@ int mdss_dsi_panel_initialize(struct mipi_panel_info *mipi, uint32_t

writel(ctrl_mode | 0x04, mipi->ctl_base + CTRL);

if (broadcast)

writel(ctrl_mode | 0x04, mipi->sctl_base + CTRL);

+

+ //add by sunshine_liu start for hs mode open

+ ctrl_mode_1 = readl(mipi->ctl_base + 0x3c);

+ ctrl_mode_1&= ~BIT(26);

+ writel(ctrl_mode_1 | 0x04, mipi->ctl_base + 0x3c);

+ //add by sunshine_liu end for hs mode open

+

status = mdss_dsi_cmds_tx(mipi, mipi->panel_on_cmds,

mipi->num_of_panel_on_cmds, broadcast);

+

+ //add by sunshine_liu start for hs mode close

+ ctrl_mode_1 = readl(mipi->ctl_base + 0x3c);

+ ctrl_mode_1|= BIT(26);

+ writel(ctrl_mode_1 | 0x04, mipi->ctl_base + 0x3c);

+ //add by sunshine_liu start for hs mode close

+

writel(ctrl_mode, mipi->ctl_base + CTRL);

if (broadcast)

writel(ctrl_mode, mipi->sctl_base + CTRL);

 

4、修改麻点问题:修改发送命令

 

 

 

pinfo->mipi.cmds_post_tg = 0的时候再mipi_dsi_config函数里就发送初始化代码了

lk\platform\msm_shared\display.c: msm_display_init->mdss_dsi_config->mdss_dsi_panel_initialize->mdss_dsi_cmds_tx

pinfo->mipi.cmds_post_tg = 1的时候则是在mdss_dsi_post_on函数里就发送初始化代码了

lk\platform\msm_shared\display.c: msm_display_init->msm_display_on->mdss_dsi_panel_initialize->mdss_dsi_cmds_tx

mdp_dsi_video_on这里开启video的地方lk\platform\msm_shared\display.c: msm_display_init->mdp_dsi_video_on再到msm_display_on

 

 

 

lk\app\aboot\aboot.c :aboot_init->target_display_init->gcdb_display_init->msm_display_init(lk\platform\msm_shared\display.c) ->oem_panel_select->init_panel_data(选择参数)

 

读取platform_hw等信息,oem_panel_select会用到通过board_hardware_id()

lk\kernel\main.c:kmain->platform_early_init->board_init->platform_detect

 

59

qcom,mdss-dsi-panel-timings = [DB 34 22 00 62 66 28 36 2B 03 04 00];

 

你可能感兴趣的:(显示屏)