LCD 显示驱动
V821 支持Serial RGB/I8080(仅V821L2-WXX支持RGB/I8080)、SPI屏(MIPI DBI Type-C)接口。
针对 Serial RGB/I8080 屏幕,V821 使用 DISP 驱动,针对 SPI 屏接口,可以使用 LCD_FB 驱动(支持 DBI 模式)和内核原生 FBTFT 驱动(仅支持 SPI 模式)。
DISP 驱动
显示 DISP 驱动可划分为三个层面:驱动层,框架层及底层。底层与图形硬件相接,主要负责将上层配置的功能参数转换成硬件所需要的参数,并配置到相应寄存器中。
显示框架层对底层进行抽象封装成一个个的功能模块。驱动层对外封装功能接口,通过内核向用户空间提供相应的设备结点及统一的接口。
在驱动层,分为三个驱动,分别是framebuffer
驱动,display
驱动,LCD&HDMI
驱动。framebuffer
驱动与 framebuffer core
对接,实现 linux
标准的framebuffer
接口。display
驱动是是整个显示驱动中的核心驱动模块,所有的接口都由 display
驱动来提供,包括 lcd
的接口。
LCD_FB 驱动
LCD_FB 驱动是基于 SPI(MIPI DBI Type-C)接口的显示驱动,其上层对接到 Linux framebuffer 驱动,开辟一块内存区域,用于存储显示内容的数据,屏幕的每个像素对应于内存中的一个值。下端对接到 SPI 驱动,通过 SPI 与显示屏通讯。LCD_FB 所驱动的屏幕由于没有硬件格式转换,需要输入的图像即符合输出到 SPI 的数据,即 RGB 数据。不支持直接显示 YUV 数据,需要进行转换 YUV 到 RGB。
FBTFT 驱动
FBTFT 是内核原生的 SPI 屏显示驱动。