1.概述
本文以ARM Mali系列顯示處理器驅(qū)動(dòng)為例,講述了U-boot的DPU驅(qū)動(dòng)移植方法。
示例U-boot版本:2022.10。硬件平臺(tái):ARM SOC。
2.原理
U-boot的VIDEO驅(qū)動(dòng)子系統(tǒng)集成了ARM Mali系列顯示處理器的驅(qū)動(dòng),支持Mali-DP500、Mali-DP550和Mali-DP650顯示處理器,驅(qū)動(dòng)源碼位于目錄./drivers/video。
以簡(jiǎn)單的RGB顯示屏作為輸出設(shè)備,移植ARM Mali系列顯示處理器驅(qū)動(dòng)。
通過(guò)使能CONFIG_VIDEO_ARM_MALIDP配置將U_BOOT_DRIVER(mali_dp)驅(qū)動(dòng)添加到u-boot,并在設(shè)備樹添加顯示處理器節(jié)點(diǎn),由驅(qū)動(dòng)程序解析節(jié)點(diǎn)屬性,將framebuffer節(jié)點(diǎn)指向的特定格式的內(nèi)存空間數(shù)據(jù),以display-timings節(jié)點(diǎn)規(guī)定的時(shí)序參數(shù)要求輸出到RGB顯示屏。
3.移植方法
3.1編譯配置
使能CONFIG_VIDEO_ARM_MALIDP,以添加U_BOOT_DRIVER(mali_dp)驅(qū)動(dòng)。
3.2設(shè)備樹添加顯示處理器節(jié)點(diǎn)
顯示處理器節(jié)點(diǎn)的主要屬性包括:
(1)compatible屬性。設(shè)置設(shè)備兼容性字符串。
(2)reg屬性。設(shè)置顯示處理器的寄存器基地址及存儲(chǔ)空間范圍。
(3)時(shí)鐘屬性。按驅(qū)動(dòng)源碼需求設(shè)置時(shí)鐘名稱,按SOC實(shí)際配置情況設(shè)置頻率值。
(4)framebuffer屬性。按RGB顯示屏的顯示格式設(shè)置。
(5)display-timings屬性。按RGB顯示屏的時(shí)序參數(shù)設(shè)置。
設(shè)備樹設(shè)計(jì)方法可以參考如下文檔:
./doc/device-tree-bindings/video/simple-framebuffer.txt
./doc/device-tree-bindings/video/display-timing.txt
4.驗(yàn)證方法
4.1驅(qū)動(dòng)加載結(jié)果查詢
執(zhí)行dm tree命令,查詢到了mali_dp驅(qū)動(dòng)已經(jīng)被Probed,表明驅(qū)動(dòng)加載成功。
4.2切換串口控制臺(tái)顯示位置
執(zhí)行如下命令,串口控制臺(tái)切換到了RGB顯示屏,即表明顯示處理器驅(qū)動(dòng)功能正常。
cli>env set stdout "vidconsole"
-
寄存器
+關(guān)注
關(guān)注
31文章
5405瀏覽量
122974 -
RGB
+關(guān)注
關(guān)注
4文章
803瀏覽量
59502 -
ARM處理器
+關(guān)注
關(guān)注
6文章
361瀏覽量
42381 -
DPU
+關(guān)注
關(guān)注
0文章
387瀏覽量
24626 -
u-boot
+關(guān)注
關(guān)注
0文章
122瀏覽量
38673
發(fā)布評(píng)論請(qǐng)先 登錄
U-boot的基本介紹

嵌入式系統(tǒng)中U-Boot 基本特點(diǎn)及其移植方法
嵌入式系統(tǒng)中U-Boot 基本特點(diǎn)及其移植方法
嵌入式U-BOOT的啟動(dòng)流程及移植
如何進(jìn)行U-BOOT的移植

基于nanoPC-T3的U-Boot移植過(guò)程梳理
剖析基于nanoPC-T3的U-Boot移植過(guò)程

Linux U-Boot開發(fā)指南

U-boot的QSPI驅(qū)動(dòng)移植方法及驗(yàn)證方法

U-boot的MMC DM框架驅(qū)動(dòng)的移植方法

U-boot的SPLASH_SCREEN(啟動(dòng)畫面)驅(qū)動(dòng)移植方法

U-boot驅(qū)動(dòng)SPLASH_SCREEN驅(qū)動(dòng)移植方法

評(píng)論