高通安卓调试LCD几方面总结(一)

本文介绍了在高通平台进行安卓4.0和2.3版本的LCD驱动移植,涉及kernel和bootloader两部分。在kernel层,主要修改LCD驱动代码、board文件以及配置文件,包括GPIO设置、初始化序列等。在bootloader层,注意LK中的splash.h文件更换以及相关编译选项。
摘要由CSDN通过智能技术生成

    来公司上班现在已经整整一个月了,蔽人不才,能力有限,学习进度缓慢,不过也是有一点点的收获与心得,在这里写出来与大家分享,养成良好的记录习惯也免得后忘记。

   不啰嗦了,开入正题。来公司一个月左右的时间,主要接触了高通android4.0和android2.3的LCD驱动,当然在bootloader下LCD的驱动我也调试的。

 

   (1) kernel

   先来说一下kernel里LCD的移植,之前从来没有接触过LINUX里LCD的驱动,所以刚一开始我竟然连MIPI接口、LCDC接口这些最基本的都不知道,鄙视一下我自己,呵呵。感觉android2.3和android4.0在kernel里LCD驱动上的区别不是特别大。只是android2.3里多了一个late_display.c这个文件,背光和MDP的开关以及屏的初始化都是在这个文件里调用的

       因为高通给的codebase本身包含有一些LCD芯片的驱动,我在2.3上用的是MIPI接口的,是根据truly的例子来做的。在2.3上我们使用的是MIPI CMD模式,从truly的例子移植的时候代码的大体结构不需要改动,一般只是需要针对要更改的屏的文档作一些参数与配置的修改就可以了。我是照着truly的在/kernel/drivers/video/msm下创建mipi_hx8369a.cMipi_hx8369a_cmd_wvga_pt.c这两个文件,从truly的例子中把内容拷过来,把名字全改成hx8369a,的mipi_hx8369a.c里面,主要就是GPIO_HX8369A_LCD_RESET的宏,根据原理图来定义正确的RESET管脚,然后还有mipi_hx8369a_lcd_reset()里LCD初始化之前reset的时序要根据lcd芯片的spec来,初始化之前的reset对lcd非常重要;最后就是根据FAE给的初始化指令填好初始化数组。

          在Mipi_hx8369a_cmd_wvga_pt.c文件里有一些要传到frame_buffer中去的一些参数,这些参数与所选用的显示屏有关,在这里把最主要的一些列出来:

  

pinfo.xres = 480;	// LCD的x方向宽度
pinfo.yres = 800;	// LCD的y方向高度
pinfo.type = MIPI_CMD_PANEL;  // LCD接口是哪种类型,如MIPI_VIDEO_PANEL,LCDC_PANEL
pinfo.pdest = DISPLAY_1;// 应该是系统中的第几个屏(我自己猜测的)
pinfo.bpp = 24;//每个像素的bit位数,即是多少位色
//下面几个porch值可以从FAE要到
pinfo.lcdc.h_back_porch = 16;
pinfo.lcdc.h_front_porch = 16;
pinfo.lcdc.h_pulse_width = 16;
pinfo.lcdc.v_back_porch = 4;
p
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值