在做两款屏的兼容的时候,个自的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");
}
