通常情况下lcm的avdd默认5.4v,某些屏幕对avdd要求不同,需要进行修改
驱动程序路径:
kernel-4.14/drivers/misc/mediatek/lcm/lcm_pmic.c
int display_bias_enable(void) { int ret = 0; int retval = 0; display_bias_regulator_init(); ret = regulator_set_voltage(disp_bias_pos, 5800000, 5800000);//修改avdd峰值 if (ret < 0) pr_info("set voltage disp_bias_pos fail, ret = %dn", ret); retval |= ret; ret = regulator_set_voltage(disp_bias_neg, 5800000, 5800000);//修改avee峰值 if (ret < 0) pr_info("set voltage disp_bias_neg fail, ret = %dn", ret); retval |= ret; .........
修改后效果如下:
我们可以明显的看到,AVDD拉高后有一个阶梯,分别为5.4v和5.8v,那是因为在启动时lk里的电压设置没有修改,导致在lk中AVDD峰值为5.4v,启动后峰值为5.8v;
lk程序路径:
vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/lcm_pmic.c
int display_bias_enable(void) { int ret = 0; ret = PMU_REG_MASK(0xB2, (0x3 << 6), (0x3 << 6)); //修改avdd 5.8v,(4v+36*0.05v) ret = PMU_REG_MASK(0xB3, 36, (0x3F << 0)); if (ret < 0) LCM_LOGI("nt35695----tps6132----cmd=%0x--i2c write error----n", 0xB3); else LCM_LOGI("nt35695----tps6132----cmd=%0x--i2c write success----n", 0xB3); ret = PMU_REG_MASK(0xB4, 36, (0x3F << 0)); if (ret < 0) LCM_LOGI("nt35695----tps6132----cmd=%0x--i2c write error----n", 0xB4); else LCM_LOGI("nt35695----tps6132----cmd=%0x--i2c write success----n", 0xB4); .............
修改后效果如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)