Qualcomm msm8996 调试AMOLED屏

12 篇文章 0 订阅
2 篇文章 0 订阅

由调试AMOLED屏的重要点在于给屏提供的两个电,OVDD(4.6V)与OVSS(-2.9V),电是由平台的PMU pm8996提供的,由SWIRE信号控制,主要修改了供电的方式,先写在内核中点亮的过程。

点亮内核

在项目的dtsi文件中修改如下几个属性,其他的与LCD屏调试一样。

1.在msm-pmi8994.dtsi文件中添加如下属性。添加最后一行: qcom,disp-type-amoled;
注释掉属性
/qcom,en-ext-pfet-sc-pro;/

qcom,leds@d800 {
compatible = "qcom,qpnp-wled";
reg = <0xd800 0x100>,
..
qcom,en-ext-pfet-sc-pro;
qcom,cons-sync-write-delay-us = <1000>;
/*qcom,en-ext-pfet-sc-pro;*/
qcom,disp-type-amoled;
};

这里写图片描述


2.在项目dtsi中修如下属性。

labibb {
    qpnp,qpnp-labibb-mode = “lcd"; /* remove this line */
    qpnp,qpnp-labibb-mode = "amoled"; /* add this line */
    qpnp,swire-control; /* add this line*/
};

这里写图片描述

  1. 增加如下的节点,
&lab_regulator {
/delete-property/ qcom,qpnp-lab-ps-enable;
};

4.增加如下的节点,名字添加的屏的dtsi文件决定

&dsi_XXXX_1080p_video {
    qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
    qcom,mdss-dsi-bl-min-level = <1>;
    qcom,mdss-dsi-bl-max-level = <255>;
    qcom,mdss-brightness-max-level = <255>;
    qcom,cont-splash-enabled;
    qcom,panel-supply-entries = <&dsi_panel_pwr_supply_amoled>;
 };

5.修改dsi_panel_pwr_supply_amoled 的电压lab(4.6V)ibb(-2.9V)

qcom,supply-max-voltage = <46000000>;

qcom,supply-min-voltage = <2900000>;
qcom,supply-max-voltage = <2900000>;

点亮bootloader(lk)

1.在lk中只需要在panel_XXX_video.h 中增加如下数据结构

static struct labibb_desc panel_truly_1080p_video_labibb = {
    1, // lcd = 0, amoled = 1
    1, // force_config 0 to use default value
    2900000, // IBB minimum voltage in µV 这个电压由屏的SPEC决定。
    2900000, // IBB maximum voltage in µV
    4600000, // LAB minimum voltage in µV
    4600000, // LAB maximum voltage in µV
    3, // power up delay
    3, //power down delay
    1, //IBB discharge enable
    1 // SWIRE control
};

增加了这个节点后还是不能点亮。器测量电压发现LAB与IBB不受SWIRE信号控制。通过对比旧基线与新基线发现是高通代码bug,缺失了一部分代码,然后发现AVDD上电比较早导致时序不对.是mpp信号不对.在xbl中增加代码,拉低mpp.就可以了。

调节avdd的电压为5.8V,默认值为7.6V
在节点qcom,leds@d800中增加属性

qcom,ovp-mv = <17800>; //原来值29500
qcom,avdd-target-voltage-mv = <5800>;

在lk中修改如下

dev/qpnp_wled/include/qpnp_wled.h
#define QPNP_WLED_AVDD_DEFAULT_VOLTAGE_MV         5800
dev/qpnp_wled/qpnp_wled.c
wled->ovp_mv = QPNP_WLED_OVP_17800_MV;
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值