MTK平台MT6765 LCM屏调试详细步骤

(  /device/mediateksample/$projectname/projectconfig.mk

查看kenel_version  参数  就可以看到项目kernel版本   

 )

1 总MK配置LCM的相关尺寸

alps/device/mediateksample/k62v1_64_bsp/ProjectConfig.mk

BOOT_LOGO = hd720

LCM_HEIGHT = 1440

LCM_WIDTH = 720

2 cfg文件配置LCM的尺寸与编译LCD模块名称

alps/kernel-4.9/arch/arm64/configs/k62v1_64_bsp_defconfig

CONFIG_CUSTOM_KERNEL_LCM="ili9881c_hdp_dsi_vdo_ilitek_rt5081"

CONFIG_LCM_HEIGHT="1440"

CONFIG_LCM_WIDTH="720"

3 配置 bootloader的logo大小与编译LCD模块名称

alps/vendor/mediatek/proprietary/bootable/bootloader/lk/project/k62v1_64_bsp.mk

CUSTOM_LK_LCM="ili9881c_hdp_dsi_vdo_ilitek_rt5081"

BOOT_LOGO := hd720

(

修改分辨率 lcm_width lcm_height  还要修改对应的logo 

logo 所在文件夹 /vendor/mediatek/proprietary/bootable/bootloader/lk/dev/log

查看文件夹内图片的分辨率即可知道要改什么logo

)

4 根据上面的配置,添加对应的驱动文件。

kernel驱动文件ili9881c_hdp_dsi_vdo_ilitek_rt5081添加,将文件夹丢进kernel的alps/kernel-4.9/drivers/misc/mediatek/lcm/目录下;

alps/kernel-4.9/drivers/misc/mediatek/lcm/ili9881c_hdp_dsi_vdo_ilitek_rt5081/ili9881c_hdp_dsi_vdo_ilitek_rt5081.c

bootloader驱动文件ili9881c_hdp_dsi_vdo_ilitek_rt5081添加,将文件夹丢进bootloader的alps/kernel-4.9/drivers/misc/mediatek/lcm/目录下;

(

alps/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm 下有项目驱动我就,还包含了这些驱动的定义,找不到对于驱动文件,复制一个类似的修改即可,文件名文件内容都要改

)

alps/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/ili9881c_hdp_dsi_vdo_ilitek_rt5081/ili9881c_hdp_dsi_vdo_ilitek_rt5081.c

5 添加头文件定义

alps/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/mt65xx_lcm_list.h

extern struct LCM_DRIVER ili9881c_hdp_dsi_vdo_ilitek_rt5081_lcm_drv;

6 添加LCM驱动列表

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

struct LCM_DRIVER *lcm_driver_list[] = {

......

#if defined(ILI9881C_HDP_DSI_VDO_ILITEK_RT5081)

&ili9881c_hdp_dsi_vdo_ilitek_rt5081_lcm_drv,

#endif

......

}

7 接口检查与GPIO配置

RESET_PIN

存在兼容屏幕

(1)通过读取寄存器值

(2)通过GPIO电平判断:读取GPIO电平,对应LCM电路选择支持的屏幕

配置gpio输入模式与管脚定义

alps/kernel-4.9/arch/arm64/boot/dts/mediatek/k62v1_64_bsp.dts

8 背光问题

(1)直接控制PMIC输出背光,如:

if (enabled)

{

pmic_set_register_value(PMIC_RG_LDO_VLDO28_EN_0,1);

pmic_set_register_value(PMIC_RG_VCAMA_VOSEL,0x01);

pmic_set_register_value(PMIC_RG_LDO_VCAMA_EN,1);

}

else

{

pmic_set_register_value(PMIC_RG_LDO_VLDO28_EN_0,0);

pmic_set_register_value(PMIC_RG_LDO_VCAMA_EN,0);

}

(2)通过LCM背光芯片控制背光

配置GPIO,模拟IIC 实现寄存器读写 ,控制背光亮度与开关

(3)外加背光芯片,方法同(2)

8 适当调整MIPI速率,改善射频干扰

static void lcm_get_params(LCM_PARAMS *params)

{

......

#ifndef CONFIG_FPGA_EARLY_PORTING

#if (LCM_DSI_CMD_MODE)

params->dsi.PLL_CLOCK = 220;

#else

params->dsi.PLL_CLOCK = 255;

#endif

params->dsi.PLL_CK_CMD = 220;

params->dsi.PLL_CK_VDO = 255;

#else

params->dsi.pll_div1 = 0;

params->dsi.pll_div2 = 0;

params->dsi.fbk_div = 0x1;

#endif

....

}

9 串口调试方法

飞串口线路,LCM_LOGI()打印LOG.

LCM_LOGI("%s,ili9881c_id=0x%08x,version_id=0x%xn",

__func__, id, version_id);

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值