微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 在做两款屏的兼容的时候,个自的lcm_compare_id()函数在什么时候被调用?

在做两款屏的兼容的时候,个自的lcm_compare_id()函数在什么时候被调用?

时间:10-02 整理:3721RD 点击:
在做两款屏的兼容的时候,个自的LCM_compare_id()函数在什么时候被调用?从串口的打印信息来看,两款屏各自的lcm_compare_id()函数里的打印信息都没有被打印出来,这是为什么,怎么解决,请大侠指导!谢谢!

你现在兼容是怎么做的?看看你是不是哪里配错了?

如何实现lcm兼容设计?
1:打开alps\mediatek\config\PROJECT_NAME\ProjectConfig.mk ,
            修改其中的 CUSTOM_UBOOT_LCM   and   CUSTOM_KERNEL_LCM 定义
2:在mt65xx_lcm_list.c 添加extern declaration,并将对应的lcm driver 添加到lcm_driver_list[]
3: 添加lcm_compare_id()函数来判断当前连接的lcm。
4 :编译,执行new 操作。

两款屏各自的lcm_compare_id()函数里的打印信息都没有被打印出来,这是为什么?

uboot里面打log,要用BUILD_UBOOT的宏来包住,用printf来打
kernel 是用printk,只要你mk里面加了两个LCM,lcm驱动里面也加compare ID就可以了

我对LCD的id是在退出睡眠的时候读的。先保证,能读到ID,在做兼容,就很好做了。

在退出睡眠中读ID时,函数不要带RESET。否则出问题。

谢谢各位的回答,lcm_compare_id()函数在哪里被调用呢?

在disp_drv.c上的disp_drv_get_lcm_driver函数中
在各自的LCM驱动文件上lcm_compare_id上加好打印语句吧,如上所说,uboot用printf,kernel用printk

disp_drv.c    if(lcm->compare_id != NULL && lcm->compare_id())
                                {
                                        printk("\t\t[success]\n");
                                        isLCMFound = TRUE;
                                        lcm_drv = lcm;
                                   u4IndexOfLCMList = i;
                                        goto done;
                                }
                                else
                                {
                               
                                        if(LCM_TYPE_DSI == lcm_params->type)
                                                DSI_Deinit();
                                        printk("\t\t[fail]\n");
                                }

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top