大家好,
我目前使用的BSP版本为L4.1.15-2.1.0,芯片为imx6solo,之前打了如下补丁:https://community.nxp.com/docs/DOC-98109,实现了HDMI从uboot显示logo到kernel,效果非常棒!
但是目前需要使用LVDS显示,所以开启LVDS开关。LVDS配置的是RGB666模式,800*600分辨率,LVDS 0通道,所以配置为IPU_NUM=1,DI_NUM=0,LVDS_PORT=0。设备树中使用的也是:“ipu1-di0”,命令行参数配置为:"video=mxcfb0:dev=ldb,800x600M@60,if=RGB666,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off"。
目前发现比较奇怪的现象:在uboot启动过程中,logo没有显示。在uboot命令行停下来,要过很久,logo才会显示出来,图片颜色正常,但是纯色背景出现栅格。如果不在uboot命令行阶段停下来,等到kernel运行文件系统的时候,才开始显示logo,且logo显示不正常。在文件系统发现/dev/fb0节点没有生成。
测量pwm信号,在uboot正常,kernel起来后就一直保持保持高电平,如果这样,uboot应该是要显示logo的,但是没有显示出来。同一个patch,为什么HDMI显示正常,LVDS显示不正常呢?请各位大神指点,谢谢。
问题已解决。
主要原因有两个:
1.背光控制有三个pin,另一个由stm32控制,设置较晚导致logo显示较迟。
2.kernel显示logo不正常,原因在于lvds设备树配置错误,修改后显示正常。
目前lvds已实现从uboot显示到kernel,但是在显示过程中会出现亮度明暗变化。测量PWM信号发现,在uboot中前期为PWM波形输出,后期则一直为高电平输出。故直接修改PWM信号为GPIO口输出高电平,则不会出现亮度明暗变化。但是会出现闪烁,仔细观察PWM GPIO输出,发现会出现一个3ms的低电平,正好对应屏幕闪烁的时刻,请问这是怎么回事呢?是uboot到kernel阶段,PWM脚被复位了吗?请教各位大神协助,感激不尽!