1.如何添加新的kernel模块:
参考 [FAQ08517]
(1)create new folder
alps\mediatek\custom\common\kernel\newdevice\device_a
-->notice need create 2 folder: newdevice\device_a
(2) copy your code in device_a(code can not include makefile file)
(3) Add CUSTOM_KERNEL_NEWDEVICE=device_a to projectconfig.mk
(4) compiling kernel
2.时钟周期和时钟频率的换算问题
F代表频率,单位是Hz; T代表周期,单位是s
频率等于一除以周期, 写成公式就是: F (Hz) = 1 / T (s) ,
所以倒过来就有周期等于一除以频率,写成公式就是:T = 1 / F
120MHZ = 120x10^6HZ
所以 T = 1/(120x10^6) = 8.3 x 10^(-9) s = 8.3ns
执行时间/时钟周期 = 周期数
执行时间*时钟频率 = 周期数
时钟周期 = 1/时钟频率
举例说明:
dws中的Keypress_Perio是消抖周期,基准时钟是32K。如果是1024个周期,则消抖时间是32ms;
即:消抖时间 =(1/32000)*1024 s =0.032s =32ms
3.触摸屏的供电配置
VDD VGP 供电区别
4.TP上实现虚拟按键功能:
参考[FAQ02518]
添加tp的virtual key,需在tp对应的头文件中添加如下设置:
1.定义宏TPD_HAVE_BUTTON;
2.定义TPD_BUTTON_HEIGHT,TPD_KEY_COUNT,TPD_KEYS和TPD_KEYS_DIM,分别用于定义button被识 别的纵向坐标,button的个数,对应的功能键,和每个功能键的坐标。
配置示例:
#define TPD_HAVE_BUTTON
#define TPD_BUTTON_HEIGHT 480 //这个不小于LCD的分辨率的height
#define TPD_KEY_COUNT 4
#define TPD_KEYS {KEY_MENU, KEY_HOME, KEY_BACK, KEY_SEARCH}
#define TPD_KEYS_DIM {{40,500,40,60},{120,500,40,60},{200,500,40,60},{280,500,40,60}}
其中,{40,500,40,60}对应了KEY_MENU的坐标, (40,50)是该key center的坐标,40是该键的宽度 ,60是该键的高度
3.button定义初始化成功后,通过adb shell,可以在/sys/board_properties/virtualkeys.mtk- tpd中看到这些button的定义
5.TP虚拟按键背光灯时间控制:
adjust powermanagerservice.java define LONG_KEYLIGHT_DELAY value
6.I2C传输数据速率设定方式:
在进行i2c 传输前设置,i2c_client->timing = timing_number;
备注:
1.当设备不支持快速mode timing_number <= 100;
2.当设备支持快速mode timing_number <= 400;