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