MT6735平台LCM调试

             上司给了一块新屏及其初始化代码,要求在MT6735平台上调试好新屏。

              新屏的初始化代码如下:

//*************************************************//
//LCDD (Peripheral) Setting ILI9881C+hsd5.0HD
//*************************************************//


      Generic_Long_Write_3P(0xFF,0x98,0x81,0x03);                                  
      Generic_Short_Write_1P(0x01,0x00);

      ...................................................................

      Generic_Short_Write_1P(0xD2,0x65);
      Generic_Short_Write_1P(0xD3,0x39);


      Generic_Long_Write_3P(0xFF,0x98,0x81,0x00);
      Generic_Short_Write_NP(0x35); //TE on


//Sleep Out
DCS_Short_Write_NP(0x11);
Delay(120);


//Display ON
DCS_Short_Write_NP(0x29);
Delay(20);


        根据第二行 ILI9881C+hsd5.0HD ,我想这块屏应该属于ILI9881系列,应该在之前已调好的ILI9881屏代码的基础上修改初始化代码,于是我在原平台代码中找到一块名为ili9881_hd_dsi_vdo_cmi_yx的屏代码,其内部初始化代码格式为:

{0xFF, 3, {0x98,0x81,0x03}},
      {0x01, 1, {0x00}},
     ..................................

 {0xFF, 3, {0x98,0x81,0x00}},
 {0x35, 0, {0x00}},

//Sleep Out
 {0x11, 0, {0x00}},
 {REGFLAG_DELAY, 120, {}},

 //Display ON
 {0x29, 0, {0x00}},
 {REGFLAG_DELAY, 20, {}},
 {REGFLAG_END_OF_TABLE, 0x00, {}}

      将厂商提供的初始化代码改成平台识别的格式,方法一看便知,数据没变,变得只是格式。但值得注意的是:

      Generic_Short_Write_NP  对应于 0,

      DCS_Short_Write_NP(0x11) 对应于{0x11, 0, {0x00}}

      Delay(120) 对应于{REGFLAG_DELAY, 120, {}}

将初始化代码修改保存后,编译,使用flashtool 刷机,开机后正常显示了第一帧画面,然后就重启了。


        借助MyCommTool串口调试工具,在其生成的log文件中查找error: ,发现错误如下:

      ...............................................................................................................................

[   15.074292] [name:fault&][0000dead] *pgd=00000000bd819003, *pud=00000000bd819003, *pmd=00000000bd81a003, *pte=0000000000000000


[   15.075725] <0>-(0)[184:gt1x_auto_updat][name:traps&]Internal error: Oops: 96000045 [#1] PREEMPT SMP


[   15.076872] [name:aee&]disable aee kernel api

........................................................................................................................................................................................................

        分析结论:GTP启动失败导致重启,将GTP关闭

         解决办法:在配置文件中将以下几行注释掉

# CONFIG_TOUCHSCREEN_MTK_GT1151 is not set 
# CONFIG_GT1151_FIRMWARE="firmware1"
# CONFIG_GT1151_CONFIG="config2"
# CONFIG_GTP_DRIVER_SEND_CFG=y
# CONFIG_GTP_CUSTOM_CFG=y
# CONFIG_GTP_HOTKNOT=y
# CONFIG_GTP_AUTO_UPDATE=y
# CONFIG_GTP_HEADER_FW_UPDATE=y
# CONFIG_GTP_CREATE_WR_NODE=y
# CONFIG_GTP_POWER_CTRL_SLEEP=y

         之后屏就调好了。     

你可能感兴趣的:(MTK驱动相关)