MTK Android Driver :lcm
1.1怎样新建一个LCD驱动
LCD模组主要包括LCD显示屏和驱动IC。比如LF040DNYB16a模组的驱动IC型号为NT35510。要在MTK6577平台上新建这个lcd的驱动,步骤如下:
A. 新建文件夹nt35510:
/mediatek/custom/common/kernel/lcm/ nt35510
/mediatek/custom/common/lk/lcm/ nt35510 ///mediatek/custom/common/uboot/lcm/nt35510
B.修改/mediatek/custom/common/kernel/lcm/ mt65xx_lcm_list.c, 在lcm_driver_list [ lcm_count ] 中增加nt35510_lcm_drv。
C.打开mediatek/config/prj/ProjectConfig.mk:
BUILD_LK=yes //BUILD_UBOOT=yes
BOOT_LOGO=wsvganl
CUSTOM_KERNEL_LCM = nt35510
CUSTOM_LK_LCM= nt35510 // CUSTOM_UBOOT_LCM =nt35510
LCM_WIDTH=600
LCM_HEIGHT=1024
驱动文件移植原则:
根据具体平台,填充对应的函数,不能直接复制整个文件,避免不必要编译和接口错误。
1.3 LCD显示旋转(横竖屏旋转,关联到很多界面,需要统一修改)
方式一:横竖屏分辨率修改(还需要修改TP驱动):
LCM_WIDTH=1024
LCM_HEIGHT=600
方式二:lcm显示旋转,只需要修改:(还需要旋转camera驱动)
MTK_LCM_PHYSICAL_ROTATION=90
MTK_TOUCH_PHYSICAL_ROTATION_RELATIVE_TO_LCM=90
camera 旋转
/alps/mediatek/custom/prj/hal/imgsensor/src/cfg_setting_imgsensor.cpp
static SensorOrientation_T const inst = {
u4Degree_0 : 180,//90, // main sensor in degree (0, 90,180, 270)
u4Degree_1 : 0,//90, // sub sensor in degree (0, 90, 180, 270)
1.4 lcm参数修改
/mediatek/custom/common/kernel/lcm/rgb_mt8193
staticvoid lcm_get_params(LCM_PARAMS *params){}
lcd rgb频率:
//params->dpi.mipi_pll_clk_ref =536870912;
params->dpi.mipi_pll_clk_ref= (33.3*(16777216*8*2))/26; //33.3MHz
//params->dpi.mipi_pll_clk_ref= 536870912; //52.0MHz
colorformat 修改
params->dpi.format = LCM_DPI_FORMAT_RGB888; // format is 24 bit//LCM_DPI_FORMAT_RGB666
1.5 修改显示分辨率:
1.5.1配置修改:
打开mediatek/config/prj/ProjectConfig.mk:
LCM_WIDTH=600
LCM_HEIGHT=1024
Lk_logo= wsvganl
15.2 lcm驱动分辨率修改(注意横竖数值对应)
对应的lcm :/mediatek/custom/common/kernel/lcm/rgb_mt8193
#defineFRAME_WIDTH (1024)
#defineFRAME_HEIGHT (600)
15.3 tpsensor driver修改,对应分辨率(sensor fae提供修改方式)。
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 03-21虎牙2023年全年营收70亿元
- 03-21未来,政企深度用云需要一朵怎样的“云”?
- 03-21知乎盐言故事推出“3A计划”:加速AI应用 自
- 03-21苹果CEO库克:对于苹果供应链,没有比中国更
- 03-21华为与伙伴共探全光网络“三进三退”千亿新