MTK6515 android 配置GPIO, emmc, LCM, touch panel等
来源:互联网 发布:中兴通抵扣软件 编辑:程序博客网 时间:2024/06/11 14:24
转载:http://blog.sina.com.cn/s/blog_541e0ada0101aym5.html
一、配置GPIO
通过工具:
mediatek/source/dct/DrvGen.exe
配置并替换dws文件:
mediatek/custom/bbk75_emmc_gb2/kernel/dct/dct/codegen.dws
- 配置GPIO的主要目的是使系统在uboot,甚至preloader阶段时保持BB管脚的状态;在kernel启动阶段加载驱动模块时,不少驱动是会重新设置其用的gpio功能的,所以这一阶段并不要求非常严格,然而同时也必须要保证gpio所配置的初始状态不会影响到系统的启动,如死机、复位等等。
二、配置emmc
1、在下面文件的MTK6575标签栏添加对应的flash芯片型号信息:
mediatek/build/tools/emigen/MT6575/MemoryDeviceList_MT6575.xls
2、从以下文件获取flash芯片对应的序号(从第1列为0,开始数,如到第L列则为11): mediatek/build/tools/ptgen/emmc_region.xls
3、mediatek/custom/bbk15_td_ics/preloader/inc/custom_MemoryDevice.h
将上面的宏更改为MemoryDeviceList_MT6575.xls中对应的内容
4、mediatek/config/bbk15_td_ics/ProjectConfig.mk
将EMMC_CHIP更改为第2步获取的数值,如EMMC_CHIP = 11。
三、配置LCM
1、增加LCM驱动文件
(1)、配置mediatek/config/bbk15_td_ics/ProjectConfig.mk
(2)、增加 lcm 驱动目录及文件
mediatek/custom/common/kernel/lcm/sharp_S6D05A1X12_mcu/
- ps.如果是从其他平台拷贝而来,注意更改包含对应的头文件:
- 改为:
(3)、修改 mt65xx_lcm_list.c 使支持刚添加的驱动
mediatek/custom/common/kernel/lcm/mt65xx_lcm_list.c
- ps.对于2、3步,uboot lcm驱动对应的驱动目录mediatek/custom/common/uboot/lcm/本也要添加,不过现在我们这一版本uboot/lcm/就是link到kernel/lcm/的,故省去这一步
2、配置驱动文件
打开 mediatek/custom/common/kernel/lcm/sharp_S6D05A1X12_mcu/sharp_S6D05A1X12_mcu.c,根据BB管脚定义和实际硬件连接,更改如下GPIO宏定义:
3、配置背光
背光配置包括uboot和kernal中的文件:
mediatek/custom/bbk15_td_ics/kernel/leds/mt65xx/cust_leds.c
mediatek/custom/bbk15_td_ics/uboot/cust_leds.c
主要配置
中的响应函数"Cust_SetBacklight",在其中要保证背光能亮,由于是打版软件,这里只先配置成gpio让其保持最亮。
查背光IC datasheet可知,只需设置VFB为低、CE为高即可:
- ps.uboot/cust_leds.c中还要包含头文件"#include ",否则编译会出错
四、配置touch panel
1、通过dct配置gipo及其对应的别名
如:
2、配置mediatek/config/bbk15_td_ics/ProjectConfig.mk
3、增加 tp 驱动目录及驱动文件
添加头文件:
mediatek/custom/bbk15_td_ics/kernel/touchpanel/qt602240/
添加C文件:
mediatek/custom/common/kernel/touchpanel/qt602240/
4、配置刚刚添加的驱动文件
mediatek/custom/bbk15_td_ics/kernel/touchpanel/qt602240/
更改以下宏定义为对应平台:
check触摸屏驱动ic的i2c地址,确保代码与datasheet中保持一致:
- ps: 在mtk6575_dev.c中的地址必须是除去读写位后的地址,而force里的则里的从机地址则需包含读写位的8位标志,如0x94(即mtk对i2c地址的规定和其他地方不一样,一般情况下说i2c的地址都是不包含读写位的,但mtk则将最后一位读写标志算进去了,这点要注意一下).
另外注意check一下此头文件中的其他宏定义信息,确保触屏与LCM适配,如:
5、配置pmic供电
一般在对应的.detect(重新供电操作), .suspend(关闭供电操作), .resume(打开供电操作)中添加进行相关操作,供电功能函数如下:
另外也可直接在pmic的probe函数中配置(注意找对对应的pm电压输出口和电压大小):
mediatek/platform/mt6575/kernel/drivers/power/pmic_mt6329.c
五、注意事项
在配置完音量键后,每次开机都会进入recovery mode(这一点在显示屏无显示时可通过串口抓打印消息验证,显示屏能显示时当然就一目了然了)。
刚开始怀疑是硬件上的有问题,是不是哪里将音量键拉低了,因为我们是配置成开机时按住音量键才会进入recovery的,但电子的同事测试波形之后反馈说只有开机一小段时间输出低,后续便输出高了,于是再次将目光转到软件上来,后来我们查看dct得知连接volume的输入线芯片默认是内部拉低的,于是用dct将其配置成pull up,再开机,一切ok.
六、附录
1、i2C配置的两种方法
方法一:在force中进行i2c id的指定,然后用i2c_add_driver挂载到对应的i2c总线上去:
- 注意:若使用mtk的硬件i2c注意上面的i2c地址要包括读写标志位,如上述的0x4a应改为0x94.
方法二:在mediatek/platform/mt6575/kernel/core/mt6575_devs.c中进行设置:
2、将触屏配置成点触模式
qt602240ts在配置完成时默认是使用鼠标模式,此时可将以下文件push到 /system/usr/idc/ 即可设置为点触模式:
out/target/product/bbk15_td_ics/system/usr/idc/qt602240ts.idc
3、modem存放路径
将modem编译生成的bin档放在
4、配置preloader的调试log输出端口
调试时,可能需要配置使preloader的log从串口1输出,可更改文件:
zt:
- CUSTOM_KERNEL_TOUCHPANEL = FT5206
- alps\mediatek\custom\mt6571v1_phone_emmc\kernel\touchpanel\FT5206\tpd_custom_ft5206.h
- alps\mediatek\custom\common\kernel\touchpanel\FT5206\ft5206_driver.c
- static int __devinit tpd_probe(struct i2c_client *client, const struct i2c_device_id *id){
- ..上电
- hwPowerDown(MT65XX_POWER_LDO_VGP2, "TP");
- hwPowerOn(MT65XX_POWER_LDO_VGP2, VOL_2800, "TP");
- ..
- GPIO_CTP_RST_PIN复位
- GPIO_CTP_EINT_PIN中断设置
- ..
- }
- alps\mediatek\dct\DrvGen.exe
- alps\mediatek\custom\mt6571v1_phone_emmc\kernel\dct\dct\codegen.dws 配置
- 在GPIO 页面配置:
- GPIO_CTP_RST_PIN复位脚 GPIO模式
- GPIO_CTP_EINT_PIN中断脚 EINT模式 (Eint8)
- 在Eint 页面,还要配置 Eint8为TouchPanel ,响应时间为0 .
- MTK6515 android 配置GPIO, emmc, LCM, touch panel等
- zz android touch panel
- MTK6515 android打版软件配置
- 转:MTK6515 android打版软件配置
- MTK6515 android打版软件配置
- MTK6515 android打版软件配置
- [转]MTK6515 android打版软件配置
- Android Keyboard/Touch Panel分析
- mtk android touch panel调试
- Android Keyboard/Touch Panel分析
- MTK6515 android打版软件配置(DrvGen.exe 使用)
- MTK6515 android打版软件配置(DrvGen.exe 使用)
- MTK6515 配置lcd背光
- TOUCH PANEL
- Android 读取按键及Touch Panel
- NJY Touch Panel
- Touch Panel调试
- Sencha Touch 给 Panel 注册点击事件(tap)和其他touchstart,touchend 等事件
- 中国计算机学会(CCF)——推荐国际学术会议和期刊目录
- J2SE(一)面向对象的三大基本特征与五大基本原则
- 快速排序
- 培训第三节课笔记(DOM,)
- android 常用测试框架
- MTK6515 android 配置GPIO, emmc, LCM, touch panel等
- MDS(Multidimensional Scaling)
- HashMap源码注解 之 静态工具方法hash()、tableSizeFor()(四)
- tomcat单机多实例部署
- VMware Tools 安装,初学者容易犯错的地方
- opencv第六章 《图像变换》 知识点记忆总结
- 科普贴,告诉大家SGLTE、SVLTE、CSFB、SRLTE的意思
- 使用mapserver+qgis+openlayers搭建webGIS
- wordpress时间函数the_time的用法