1.概述
本文以ARM Mali系列显示处理器驱动为例,讲述了U-boot的DPU驱动移植方法。
示例U-boot版本:2022.10。硬件平台:ARM SOC。
2.原理
U-boot的VIDEO驱动子系统集成了ARM Mali系列显示处理器的驱动,支持Mali-DP500、Mali-DP550和Mali-DP650显示处理器,驱动源码位于目录./drivers/video。
以简单的RGB显示屏作为输出设备,移植ARM Mali系列显示处理器驱动。通过使能CONFIG_VIDEO_ARM_MALIDP配置将U_BOOT_DRIVER(mali_dp)驱动添加到u-boot,并在设备树添加显示处理器节点,由驱动程序解析节点属性,将framebuffer节点指向的特定格式的内存空间数据,以display-timings节点规定的时序参数要求输出到RGB显示屏。
3.移植方法
3.1编译配置
使能CONFIG_VIDEO_ARM_MALIDP,以添加U_BOOT_DRIVER(mali_dp)驱动。
3.2设备树添加显示处理器节点
显示处理器节点的主要属性包括:
(1)compatible属性。设置设备兼容性字符串。
(2)reg属性。设置显示处理器的寄存器基地址及存储空间范围。
(3)时钟属性。按驱动源码需求设置时钟名称,按SOC实际配置情况设置频率值。
(4)framebuffer属性。按RGB显示屏的显示格式设置。
(5)display-timings属性。按RGB显示屏的时序参数设置。
设备树设计方法可以参考如下文档:
./doc/device-tree-bindings/video/simple-framebuffer.txt
./doc/device-tree-bindings/video/display-timing.txt
4.验证方法
4.1驱动加载结果查询
执行dm tree命令,查询到了mali_dp驱动已经被Probed,表明驱动加载成功。
4.2切换串口控制台显示位置
执行如下命令,串口控制台切换到了RGB显示屏,即表明显示处理器驱动功能正常。
cli>env set stdout "vidconsole"
全部0条评论
快来发表一下你的评论吧 !