对于高通的项目,通话端和电源管理通常是放在moderm处理的,习惯称为bp,驱动和多媒体主要放在ap,lcd属于video部分,主要属于ap相关的部分。

跟lcd显示相关的高通平台通常包括三个地方的代码:屏幕正常显示,开机logo的显示和关机充电。正常显示部分主要是指驱动层的代码,芯片厂商提供了标准的msm_fb.c和fb_mem.c等文件,驱动移植主要关注的是配置初始化代码的驱动文件和板级相关的gpio信息代码。通常有board-xxxx.c和lcdc.c相关。开机logo主要是开机相关的文件夹,bootable/bootloader/lk中,其中高通平台的主要在msm_shared,相关logo的制作与屏幕的分辨率相关,按照需求做相对应的图片,文件夹下与启动相关的文件主要包括boot_lcd.c,里面包含了初始化代码和相关的gpio配置,这里的相关配置需要独立的完成,与正常显示不是一个途径。fastboot模式通常也在这里的文件夹下,具体的代码可以刷成需要的绿屏或者红屏,根据需要进行选择。注意位深的处理通常是有个独立的lcdc.c文件进行相关配置。第三个部分是关机充电的显示,这主要在所谓的bp端进行,主要的相关文件也是有一个相关的与初始化相关的代码,这里要求比开机logo中烧录模式的独立性更强,需要独立配置gpio,背光相关代码以及位深的调整,通常在一个文件中处理完成。大致完成一个新的平台lcd的相关工作量需要三个部分的调整。

lcd作为一个与客户感官很强的模块,显示效果主要与初始化代码相关,通过芯片完成对显示过程的控制。标准化的流程方法降低了开发的难度,这里需要注意的就是一些调试过程中的问题,效果通常与初始化代码相关,而屏幕的亮度,光线渐变通常与背光相关。目前智能机通常需要键盘灯,也主要放在lcd驱动代码中,申请电源进行键盘灯相关的操作。

对于花屏,区域闪烁可以通过调整屏幕reset的时间进行控制。也可以通过刷新framebuffer进行更好的显示。把握住前面所讲的三块应该可以说屏幕相关的功能问题应该算是完成。