FB显示驱动框架从上到下分为5层,如图1所示。
FB设备驱动是一个抽象的显示驱动模型,抽象出了显示驱动公有的操作,为上层提供系统调用,为底层驱动提供接口。源码主要在Fb.h (kernel\include\linux)和Fbmem.c (kernel\drivers\video)两个文件中。
FB驱动之下是各个厂商自己的FB 驱动,各个厂商实现FB框架制定的操作集,然后调用register_framebuffer函数向FB框架注册FB设备,如图2所示。
接下来是具体的显示硬件(LCDC)驱动,不同芯片的差异应该在这一层开始体现。
最后依次是dsi驱动、LCD驱动。