做Linux lcd驱动移植时,先找到lcd驱动的位置:grep "s702" -nR
例如:我的nanopc t3 plus可以看到:
可以看到,上面有相应的lcds.c,因为我们的开发板是nanopi t3 plus,即进入到nanopi3,看看里面的lcds.c的类型的s702的结构体即可,既是如下
static struct nxp_lcd wvga_s702 = {
.width = 800,
.height = 480,
.p_width = 155,
.p_height = 93,
.bpp = 24,
.freq = 61,
.timing = {
.h_fp = 44,
.h_bp = 26,
.h_sw = 20,
.v_fp = 22,
.v_fpe = 1,
.v_bp = 15,
.v_bpe = 1,
.v_sw = 8,
},
.polarity = {
.rise_vclk = 1,
.inv_hsync = 1,
.inv_vsync = 1,
.inv_vden = 0,
},
.gpio_init = s702_gpio_init,
};
上面的结构体是uboot的结构体,Linux内核中也有一样的lcd结构体,同样参考数据手册改成一样的参数即可。
s702是开发板的lcd屏幕的规格类型,找到之后找lcd屏幕厂家找到相应的datasheet,既是对应相应的规格书,对照着规格书改写里面的参数即可,记一下我在网上找到的规格书参数:
参照上面表中的参数修改lcd结构体里面的相应的参数即可。