0 前言
《Tiny4412 LCD驱动(DRM+无设备树)》所用linux-3.5.0没有使用设备树,和当前主流嵌入式Linux开发有一定的差距,实用性不大,因此我将内核升级到了最新稳定版linux-5.11.12,本文对该版本内核中的Tiny4412 LCD驱动进行分析。
1 移植
(1)驱动
linux-5.11.12默认包含了众多型号LCD的驱动,Tiny4412开发板所用的Innolux的AT070TN92就是其中之一:
static const struct of_device_id platform_of_match[] = {
...
}, {
.compatible = "innolux,at070tn92",
.data = &innolux_at070tn92,
}, {
...
};
// @file: drivers/gpu/drm/panel/panel-simple.c
根据平台设备驱动和设备树的知识可知,只要在Tiny4412的设备树中添加"innolux,at070tn92"的节点即可。并且从代码所在目录