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

 

 

问题:在打开背光调节之后,背光渐渐的 变暗

关键点:背光动画由于在不同的界面的速度不一样,导致的,需要应用去查,背光动画渐变速度