一、问题描述
LCD屏幕点不亮
二、相关配置
timing获取:(1280x800)
最好的获取方式是通过询问LCD屏厂获得确切的时序参考值。其次或是从屏手册或者Driver IC手册中查找(向屏厂索要这些文档)。
至少需要从屏厂获得Width(屏宽),Height(屏高),HBP,HFP,HSW,VBP,VFP,VSW的数值。
在从原厂屏获得的手册中找到以下信息:
由原厂资料得:
Width:1280,Height:800,HBP:88,HFP:72,HSW:4 ,VBP:23,VFP:15,VSW:4
lcd_x ---------------------> Width(1280)
lcd_y ---------------------> Height(800)
lcd_hspw ------------------> Hsw(4)
lcd_hbp -------------------> HBP+HSW(88+4=92)
lcd_ht --------------------> Width+HSW+HBP+HFP(1280+4+88+72=1444)
lcd_vspw ------------------> VSW(4)
lcd_vbp -------------------> VBP+VSW(23+4=27)
lcd_vt --------------------> Height+VSW+VBP+VFP(800+4+23+15=842)
lcd_sclk_freq -------------> lcd_ht * lcd_vt * fps,fps一般是60,结果取整,单位是MHz(1444*842*60=72950880=73M)
那么,对board.dts文件中的屏时序相关参数配置如下:
--- a/device/config/chips/t527/configs/demo_car/linux-5.15/board.dts
+++ b/device/config/chips/t527/configs/demo_car/linux-5.15/board.dts
@@ -2685,7 +2685,7 @@ chn_cfg_mode : Hardware DE channel allocation config. 0:single display with
lcd_y = <800>;
lcd_width = <150>;
lcd_height = <94>;
- lcd_dclk_freq = <75>;
+ lcd_dclk_freq = <73>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <4>;
@@ -2694,12 +2694,12 @@ chn_cfg_mode : Hardware DE channel allocation config. 0:single display with
lcd_pwm_max_limit = <255>;
lcd_pwm_name = "lvds0_backlight";
- lcd_hbp = <88>;
- lcd_ht = <1451>;
- lcd_hspw = <18>;
- lcd_vbp = <23>;
- lcd_vt = <860>;
- lcd_vspw = <10>;
+ lcd_hbp = <92>;
+ lcd_ht = <1444>;
+ lcd_hspw = <4>;
+ lcd_vbp = <27>;
+ lcd_vt = <842>;
+ lcd_vspw = <4>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
查看显示信息:cat /sys/class/disp/disp/attr/sys
三、具体原因
屏幕背光未使能,第一版LCD屏幕背光由MCU控制,未使用T527去控制,所以目前采用硬件上拉的方式,下一版更改为SOC控制
四、解决方法
1、将PI2-PP3V3-GPIO断开,J72 pin3串接10K电阻飞线接到PP5V0_LCD_DUT上
2、焊接R3403电阻,硬件上拉
软件(MCU):
PTC16脚控制,软件上进行拉高