Background:
IO配置和官方包一致,或者已经修改好。
开始
struct fb_videomode {
const char *name; /* optional */
u32 refresh; /* optional */
u32 xres;
u32 yres;
u32 pixclock;
u32 left_margin;
u32 right_margin;
u32 upper_margin;
u32 lower_margin;
u32 hsync_len;
u32 vsync_len;
u32 sync;
u32 vmode;
u32 flag;
};
此结构体定义位于文件include/linux/fb.h中,我们需要修改的文件位于board/freescale/mx6ull_my_evk文件夹中,其中文件夹“mx6ull_my_evk”为我自定义的配置文件。
该结构体具体含义如下:

官方参数的配置为

例如,我使用的屏幕参数如下

则我的设置为

代码为
struct display_info_t const displays[] = {{
.bus = MX6UL_LCDIF1_BASE_ADDR,
.addr = 0,
.pixfmt = 24,
.detect = NULL,
.enable = do_enable_parallel_lcd,
.mode = {
.name = "my_lcd_test",
.xres = 800,
.yres = 480,
.pixclock = 32341,
.left_margin = 88,
.right_margin = 40,
.upper_margin = 32,
.lower_margin = 13,
.hsync_len = 48,
.vsync_len = 3,
.sync = 0,
.vmode = FB_VMODE_NONINTERLACED
} } };
编译下载,屏幕并不能显示,终端显示提示unsupported panel TFT43AB,注意上面结构体定义中,.name为“my_lcd_test”

打印环境变量,发现panel=TFT43AB,

修改pannel变量为“my_lcd_test”

重启,屏幕能够正常显示

3225

被折叠的 条评论
为什么被折叠?



