V821 DISP 显示驱动流程分析
文章目录1、前言2、环境介绍3、大致流程4、程序阅读5、总结1、前言在全志 V821 下调试 RGB 屏幕时因为一直创建不出 fb 节点这里记录一下当时阅读显示驱动框架的过程。仅供参考。2、环境介绍sdkV821 tina sdk v1.33、大致流程初始化 disp — 初始化 LCD — 创建 fb 节点4、程序阅读根据平台设备驱动的总线模型先找到设备树中的 disp 设备查看 compatible 属性bsp/configs/linux-5.4-ansc/sun300iw1p1.dtsicompatibleallwinner,sunxi-disp;全局搜索allwinner,sunxi-disp会匹配到 dev_disp.c 文件bsp/drivers/video/sunxi/disp2/disp/dev_disp.c在驱动的入口函数中会创建 disp 设备类和 disp 设备节点然后直接查看 probe 函数最终会进入一个 disp_init() 函数disp_init() 函数也在 dev_disp.c 文件中几个关键的节点函数都在这了lcd_init()主要就是获取各个屏驱动的操作函数bsp/drivers/video/sunxi/disp2/disp/lcd/panels.cbsp_disp_open()实际是个空函数bsp/drivers/video/sunxi/disp2/disp/de/disp_display.cfb_init()fb_init() 函数在 fb_top.c 里bsp/drivers/video/sunxi/disp2/disp/fb_top.cfb_core_init() 在 fb_core.c 里bsp/drivers/video/sunxi/disp2/disp/fb_core.c在这里register_framebuffer() 最终会去创建 fb 节点register_framebuffer() 会进入 fbmem.ckernel/linux-5.4-ansc/drivers/video/fbdev/core/fbmem.c5、总结所以在全志平台不支持drm框架的平台下点屏最后 fb 节点没出来的话还不能算点屏完全成功。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2480261.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!