VGL VGH 2个电压值 变大 这样液晶2端得电压变大,液晶翻转会变快,
VCOM 的值修改 水波纹 更明显,VGL VGH 只是辅助
55H IE 有图片颜色增强
36H 图片正反扫
VCOM 调整鬼影 残影 水波纹 一般是中间值高一点 即可
上或下 边框不满则 修小rgb_timing proc获取值 前或后 的值
闪屏可以 调整PCLK 的值
机器开机白屏,如果没做兼容 基本可以肯定是 焊接的问题,很少出现 代码不正确。
只亮背光 可能情况
1、是初始化不正确
2、lan 的数不对‘
有的屏出现了 明显的 黑色竖线,需要FAE 确认是否是屏坏的 了
开始动画出现画屏 输入00000000
当屏出现黑屏时候,需要一个截图,截图的数据是BUFFER 里面的 ,如果没有 图或图不正常,是指应用上层传输的数据有问题,
图片正常说明,是驱动或者是屏本身的问题
屏幕出现竖条纹,(在视觉上给人的感觉是屏幕出现轻微的闪烁),这个可以调节vcom电压,来调节这个电压值,可以修复竖条纹.
但是无论怎么修改都没怎么改善屏闪现象,可修改像素点的翻转方式,一般屏幕默认的翻转方式是列翻转,可以修改为点翻转,可完全修复竖条纹,但是带来的不良影响是可能屏幕会出现轻微的很条纹,如果屏幕的玻璃和ic都支持兼容点翻转,则屏幕厂商推荐的像素点翻转方式是点翻转
截图 :adb shell screencap -p | sed 's/\r$//' > /home/liweicong/screen.png
视频:adb shell screenrecord /sdcard/demo.mp4
adb pull /sdcard/demo.mp4
在 /alps/kernel-3.18/drivers/misc/mediatek/video/common/mtkfb.c 这个文件中添加下面的代码
uint32_t color1 = 0xFFFFFFFF;;
void mtkfb_lcm_white(void)
{
unsigned int i = 0;
unsigned long fbVirAddr;
uint32_t fbsize;
int r = 0;
unsigned int *fb_buffer;
struct mtkfb_device *fbdev = (struct mtkfb_device *)mtkfb_fbi->par;
struct fb_var_screeninfo var;
fbVirAddr = (unsigned long)fbdev->fb_va_base;
fb_buffer = (unsigned int *)fbVirAddr;
memcpy(&var, &(mtkfb_fbi->var), sizeof(var));
var.activate = FB_ACTIVATE_NOW;
var.bits_per_pixel = 32;
var.transp.offset = 24;
var.transp.length = 8;
var.red.offset = 16;
var.red.length = 8;
var.green.offset = 8;
var.green.length = 8;
var.blue.offset = 0;
var.blue.length = 8;
r = mtkfb_check_var(&var, mtkfb_fbi);
if (r != 0)
PRNERR("failed to mtkfb_check_var\n");
mtkfb_fbi->var = var;
fbsize = ALIGN_TO(DISP_GetScreenWidth(), MTK_FB_ALIGNMENT) * DISP_GetScreenHeight() * MTK_FB_PAGES;
for (i = 0; i < fbsize; i++)
*fb_buffer++ = color1;
mtkfb_pan_display_impl(&mtkfb_fbi->var, mtkfb_fbi);
}
然后在
/* PM suspend */
static int mtkfb_suspend(struct device *pdev, pm_message_t mesg)
{
/* NOT_REFERENCED(pdev); */
MSG_FUNC_ENTER();
//mtkfb_lcm_white();
MTKFB_LOG("[FB Driver] mtkfb_suspend(): 0x%x\n", mesg.event);
ovl2mem_wait_done();
MSG_FUNC_LEAVE();
return 0;
}
这个函数中添加使用mtkfb_lcm_white();
实现功能是 在睡眠之后的唤醒,唤醒时候刷一帧白屏,使其晶体中 的电荷放完,防止液晶极化,如果要验证是否编译成功,把机器
adb shell
在睡眠的时候执行下面指令,把背光给打开,然后按键唤醒,就会看到刷出来的一帧屏显示
cat 255 >>sys/class/leds/lcd-backlight/brightness
问题:在打开背光调节之后,背光渐渐的 变暗
关键点:背光动画由于在不同的界面的速度不一样,导致的,需要应用去查,背光动画渐变速度