mtk智能机平台LCM,CTP的ESD防护处理

一 LCM ESD防护
1 TE方法
屏幕定义TE中断脚
dts文件中定义中断脚:
  dsi_te: dsi_te {
    compatible = "mediatek, dsi_te-eint";
    interrupt-parent = <&eintc>;
    interrupts = <44 IRQ_TYPE_EDGE_RISING>;      //修改为44
    debounce = <44 0>;
    status = "okay";
   };

primary_display.c文件中,
void primary_display_esd_check_enable(int enable)函数下检测是否是使能

2读取寄存器方式
在primary_display.c的primary_display_esd_check_worker_kthread 函数里面检测

lcd初始化代码写入
params->dsi.esd_check_enable = 1;//TE方式始能
params->dsi.customization_esd_check_enable = 1; //读取寄存器方式始能
以下找屏厂FAE提供
params->dsi.PLL_CLOCK = 230;//208;
params->dsi.lcm_esd_check_table[0].cmd          = 0x0A; 
params->dsi.lcm_esd_check_table[0].count        = 1;
params->dsi.lcm_esd_check_table[0].para_list[0] = 0x9C;

编译后,打印kernel log有esd循环检查
如:
<7>[  114.369654]  (5)[240:disp_check][DISP][ESD]ESD check begin
<7>[  114.392798]  (5)[240:disp_check][DISP]DSI read long packet size: 1
<7>[  114.392831]  (5)[240:disp_check][DISP]DSI read long packet size: 1
<7>[  114.392848]  (5)[240:disp_check][DISP]DSI read long packet size: 1
<7>[  114.392921]  (5)[240:disp_check][DISP][ESD]ESD check end, ret = 0

二 CTP ESD防护
以gt1151为例 
定义CONFIG_GTP_ESD_PROTECT
定义1S查询一次寄存器
void gt1x_init_esd_protect(void)
{
    /*HZ: clock ticks in 1 second generated by system*/
    esd_work_cycle = 2 * HZ;
    GTP_INFO("Clock ticks for an esd cycle: %d", esd_work_cycle);
    INIT_DELAYED_WORK(&esd_check_work, gt1x_esd_check_func);
    mutex_init(&esd_lock);
}

通过static void gt1x_esd_check_func(struct work_struct *work)读取寄存器,实施复位操作
如果void gt1x_power_reset(void)无效果可以做更深入的复位动作.有时可以用亮屏推出睡眠方式s32 gt1x_wakeup_sleep(void)重新唤醒后可以恢复.
抓log检查是否在循环检测
如:
<6>[  420.294543]  (4)[608:kworker/u16:15]<<GTP-INF>>[gt1x_esd_check_func:1634] [Esd]0x8040 = 0xFF, 0x8043 = 0xAA
<6>[  422.374850]  (7)[613:kworker/u16:20]<<GTP-INF>>[gt1x_esd_check_func:1634] [Esd]0x8040 = 0xFF, 0x8043 = 0xAA
<6>[  424.454341]  (5)[452:kworker/u16:10]<<GTP-INF>>[gt1x_esd_check_func:1634] [Esd]0x8040 = 0xFF, 0x8043 = 0xAA

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosir_zhong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值