本文主要是介绍调试LCD及Touchscreen硬件错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天客户提了一个产品的升级的设想,并带来了一个新的10寸 LCD 及 Touchscrenn需要更换。
由于LCD挂在I2C上的地址,及中断线的IO都未变,所以可以直接在板级文件中,设置新LCD参数:
arch/arm/mach-mx5/mx53_ard.c
board/freescale/mx53_ard/mx53_ard.c
数据位于fb_videomode:
static struct fb_videomode lvds_wvga = {
//"CLAA-WVGA", 57, 800, 480, 37037, 46, 210, 23, 22, 20, 10,
"CLAA-WVGA", 57, 1024, 600, 51200, 320, 0, 35, 0, 20, 10, //lsh change according to lcd's spec
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,
};
//"CLAA-WVGA", 57, 800, 480, 37037, 46, 210, 23, 22, 20, 10,
"CLAA-WVGA", 57, 1024, 600, 51200, 320, 0, 35, 0, 20, 10, //lsh change according to lcd's spec
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,
};
#elif defined(CONFIG_BOARD_CIVIACSR_BC1) || defined(CONFIG_BOARD_CIVIACSR_3C3) || defined(CONFIG_BOARD_CIVIACSR_3C5)
static struct fb_videomode video_modes[] = {
{
/* 800x480 @ 57 Hz , pixel clk @ 27MHz */
//"CLAA-WVGA", 63, 800, 480, 37037, 70, 30, 25, 0, 20, 10,
"CLAA-WVGA", 63, 1024, 600, 51200, 320, 0, 35, 0, 20, 10,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
设置后,屏幕白屏无信号,更改驱动无变化,这说明十有八九是硬件问题。
static struct fb_videomode video_modes[] = {
{
/* 800x480 @ 57 Hz , pixel clk @ 27MHz */
//"CLAA-WVGA", 63, 800, 480, 37037, 70, 30, 25, 0, 20, 10,
"CLAA-WVGA", 63, 1024, 600, 51200, 320, 0, 35, 0, 20, 10,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
使用示波器检测LCD控制芯片,发现输出引脚果然波形不对。联系LCD生产商,发送一个新的IC,焊接至原来位置,正常显示。
这篇关于调试LCD及Touchscreen硬件错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!