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)。通過使能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)注
68文章
19032瀏覽量
228448 -
ARM
+關(guān)注
關(guān)注
134文章
9006瀏覽量
366029 -
移植
+關(guān)注
關(guān)注
1文章
375瀏覽量
28072 -
DPU
+關(guān)注
關(guān)注
0文章
352瀏覽量
24072 -
u-boot
+關(guān)注
關(guān)注
0文章
120瀏覽量
38162
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論