主题中讨论的其他器件:DA8XX
工具/软件:Linux
大家好、
最近、一位客户报告了基于 Linux EZSDK 6.0的 LCD 显示屏的问题。
此问题发生在客户生产板上。 如您所知、24位/16位的 AM335x 硬件连接具有不同的 RGB 分配。
因此、硬件设计应根据24/16位选择遵循特定的显示模式。
在此客户设计中、他们希望使用24位、但硬件连接基于16位设计。
因此、当它们使显示正常工作时、RGB 未正确显示。 它是 BGR、因为读取部分和蓝色部分由于连接错误而被交换。
此外、当他们想要将显示屏旋转90英寸时、结果是相同的。
之后、他们将尝试进行一些代码更改以解决此问题。
在 uboot 阶段、设置 DISPC_PIXELFORMAT_RGB24以启用24位。
2. 在内核 da8xx_fb.c 文件中、更改函数:
static int fb_check_var (struct fb_var_screeninfo *var、
struct fb_info *信息)
三、会议的报告
案例24:
//var->red.offset = 16;
VAR->red.offset = 0;
var->red.length = 8;
var->green.offset = 8;
var->green.length = 8;
/var/->blue.offset = 0;
VAR->blue.offset = 16;
VAR->blue.length = 8;
中断;
三、会议的报告
此代码更改使显示在使用 RGB 的正常显示中正常工作。
但是、当旋转90英寸时、颜色仍为 BGR。 他们不明白为什么。 因此、他们想知道是否有解决这一问题的方法?