MTK配置LCM

为了方便,我用$(name)表示变量,代表里面值你需要根据自己具体情况更改

1.首先确定你的kernel版本,一般是kernel-4.14,kernel-4.19,kernel-5.10

device/mediateksample/$(yourprojectname)/ProjectConfig.mk文件里搜索LINUX_KERNEL_VERSION即可得到你的kernel版本,后续都要在对应kernel文件夹中配置驱动

不过配置屏也需要配置分辨率

BOOT_LOGO = hdplus1600        对应分辨率名称

LCM_HEIGHT = 1600                       屏高
LCM_WIDTH = 720                            屏宽

hdplus1600与1600x720是对应的,具体看你屏分辨率

vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo里面是相关的分辨率对应

比如fwvga对应480x854,你可以点开对应文件夹,右键查看图片属性

2.配置两个config文件夹,最好是user和userdebug一起改,方便调试以及发布软件

以及注意项目是32位还是64位,对应arm与arm64,你在你项目config文件在哪个arm里面就好了

本项目为32位,对应arm,,64位arm改成arm64,其他一样

$(LINUX_KERNEL_VERSION)/arch/arm/configs/$(yourprojectname)_debug_defconfig

$(LINUX_KERNEL_VERSION)/arch/arm/configs/$(yourprojectname)_defconfig

CONFIG_CUSTOM_KERNEL_LCM="$(lcm_name)"里面补充你需要点亮的屏的驱动名字

CONFIG_LCM_HEIGHT与CONFIG_LCM_WIDTH与上面分辨率对应

3.添加对应的屏驱动文件夹

$(LINUX_KERNEL_VERSION)/drivers/misc/mediatek/lcm/$(lcm_name)/

里面一般包含makefile与厂家给的.c文件,原则上.c文件可以随便命名,只要在makefile文件对应就行,但我建议你与驱动名保持一致

注意.c文件里面

LCM_DRIVER $(lcm_name)_lcm_drv=        //lcm_drv别掉了,与下面驱动定义对应
{
    .name               = "$(lcm_name)",
    .set_util_funcs     = lcm_set_util_funcs,
    .get_params         = lcm_get_params,
    .init                       = lcm_init,
    .suspend            = lcm_suspend,
    .resume             = lcm_resume,
    .compare_id         = lcm_compare_id,
}

4.添加驱动的定义与声明

$(LINUX_KERNEL_VERSION)/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c

#if defined($(LCM_NAME))       //就是驱动名全改成大写
    &$(lcm_name)_lcm_drv,      //驱动名,注意后面的lcm_dev别掉了,与驱动里面.c文件对应的
#endif

$(LINUX_KERNEL_VERSION)/drivers/misc/mediatek/lcm/mt65xx_lcm_list.h

extern struct LCM_DRIVER  $(lcm_name)_lcm_drv;      //lcm_drv注意

5.kernel层配置好了,接下来三lk部分

vendor/mediatek/proprietary/bootable/bootloader/lk/project/$(yourprojectname).mk

CUSTOM_LK_LCM="$(lcm_name)"  //这个不改到时候屏只要背光显示,没有画面

BOOT_LOGO :=  hdplus1600                //分辨率别忘了对应,根据你的实际来

6.与kernel层一样添加驱动,不过不能把kernel层驱动直接拷贝过来,文件结构有些不一样

vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/$(lcm_name)

7.添加lk层驱动的定义与声明,不过这个是在同一个文件里面

vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/mt65xx_lcm_list.c

extern struct LCM_DRIVER $(lcm_name)_lcm_drv;             //注意lcm_drv

#if defined($(LCM_NAME))                                  //大写
    &$(lcm_name)_lcm_drv,                               //注意lcm_drv
#endif

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值