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
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/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)
    /* this value must be in MTK suggested table */
    params->dsi.PLL_CLOCK = 220;
#else
    /* this value must be in MTK suggested table */
    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%x\n",
        __func__, id, version_id);

MTK平台MT6765 LCM屏调试步骤相关推荐

  1. MTK平台的LCM防静电(esd-check)机制

    MTK平台的LCM防静电(esd-check)机制

  2. mtk lcd屏 调试步骤详解

    平台:mt65852 + Android 4.4 屏:HX8389B 那么首先来看的是如何配置lcd屏(在mtk中叫做lcm). 1. ProjectConfig.mk中配置 [cpp] view p ...

  3. MTK平台的LCM驱动移植

    一.Android系统开机启动过程及驱动概述: MTK平台的显示驱动分两块,一块在LK代码里面,一块在kernel代码里面: LK的lcm驱动路径在:vendor\mediatek\proprieta ...

  4. 如何在MTK平台(mt6765 android 11)新增raw data分区

    最近在调试MT6765平台,需要新增raw data分区,并且在lk和kernel可以读取到分区信息.感觉非常繁琐,而且做错一步要重新编译整个SDK,非常耗时.因此,记录下这个过程的关键点,希望大家能 ...

  5. 高通平台 mipi转接屏调试 (以转lvds icn6202例)

    mipi to lvds显示调试 调试前准备: 获取屏的规格书 获悉的关键信息 VDD 需要 3.3v RST 3.3v 拉低进 rst LVDS 4 组数据 差分信号,clk 一组差分信号 SELB ...

  6. MTK平台一个花屏重启问题的分析

    在正常使用过程中,出现了异常重启,当时在聊QQ之后退出到桌面,然后就重启了.另外插着USB充电,根据FAQ [FAQ14812]如何快速对系统重启问题进行归类 提供以下信息,附件有完整的 ZZ_INT ...

  7. linux系统LCD驱动(三):mtk lcd驱动lcm的加载以及初始化

    上一篇博文(linux系统LCD驱动(二):mtk lcd驱动fb_info初始化)https://blog.csdn.net/Ian22l/article/details/105929192 提到m ...

  8. 《TP基础篇——MTK平台》

    日期:2015.08.06 导言:在MTK平台的TP驱动调试里,最最基础的不是了解它的原理是怎么实现的,而是如何在这个平台上添加一个新的TP驱动代码. 一. 如何在MTK平台上添加一个新的TP驱动   ...

  9. ST7703 LCM显示屏调试--基于MT6765

    参考 st7703_hd720_dsi_vdo驱动 MTK驱动-----添加lcm液晶驱动 在mt6735平台下驱动LCD显示屏步骤 各种屏幕分辨率 基于MTK平台LCM的移植 mtk-lk disp ...

最新文章

  1. 权限认证php,2016年Linux认证基础知识:php做权限管理
  2. mysql库存先进先出_sql 先进先出 库存
  3. [轉]数据挖掘工具的选择
  4. 多线程常用操作及线程锁
  5. 当MySQL执行XA事务时遭遇崩溃,且看华为云如何保障数据一致性
  6. 三星电子宣布已开始大规模量产5nm芯片,并正在研发4nm工艺
  7. @DateTimeFormat 和 @JsonFormat 注解的区别和使用
  8. 读《C专家编程》笔记-关于内存泄漏
  9. 4场直播丨EsgynDB连接服务层、Oracle、openGauss
  10. linux交叉编译libnet,交叉编译samba(mipsel-linux) samba-3.3.3.tar.gz
  11. 服务器amd cpu性能排行,Ryzen处理器有哪些/性能排名如何?AMD Ryzen CPU天梯图解答...
  12. 基于MATLAB的机器人学、机器视觉与控制
  13. 绝地求生缺少xinput1_3.dll怎么办?
  14. 大象跳转:解析微信内自动跳转浏览器打开URL网页的操作步骤
  15. OpenCV在图片上画线和矩形
  16. cc1310实现wor接收发送低功耗模式
  17. 客户端登录阿里云mysql数据库_Mysql数据库之数据库术语和客户端登陆
  18. Nico的刷题日记(一)
  19. 小程序微信小程序设计注册页面
  20. 讲解Guitar Pro 7使用向导的技巧

热门文章

  1. linux dmidecode命令,Linux使用dmidecode命令查看内存型号
  2. vscode代码格式化、vetur代码格式化取消末尾添加逗号
  3. HDLBits 系列(7)——Sequential Logic(Counters、Shift Registers、More Circuits)
  4. 简单说明CGI是什么
  5. 插入mysql数据库时间相差14个小时
  6. java刷机教程,小米Mix2s刷机教程
  7. Transfomer XL翻译
  8. 期货资管分仓软件——期货子账户软件的构成架构以及实现的功能
  9. 基于cocos2d-x简易泡泡龙游戏
  10. 时间戳与日期相互转换