0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RK3568 EDP接口調(diào)試

chen ? 來源:chen000000009 ? 作者:chen000000009 ? 2023-09-20 09:57 ? 次閱讀

RK3568支持多種接口,本文主要介紹通過edp顯示接口驅(qū)動edp顯示屏的具體操作方法以及調(diào)試記錄。

硬件準(zhǔn)備

首先介紹一下硬件。主板為風(fēng)火輪科技的YY3568開發(fā)板,主控RK3568。此開發(fā)板的相關(guān)介紹可以參考

https://wiki.youyeetoo.cn/zh/YY3568

板上帶有一個edp接口,這種接口定義是通用的。

wKgaomUJw56ACFg-AACLwFv18go508.png

edp屏使用的是風(fēng)火輪科技的11.6寸edp屏。此屏幕的相關(guān)介紹可以參考

http://wiki.youyeetoo.cn/zh/YYT_116EDP

硬件連接如下

wKgZomUJw6CAdvB0AAF7EgbGzLM913.png

如果只用到顯示功能,接上edp線即可,另外還有觸摸相關(guān)的IO,下一篇文章會介紹

原理圖如下

wKgZomUJw7GAHGiOAAD2hy2Guv0156.png

核心板把EDP的四組差分線都拉出來了,但底板只使用了兩組。因為這種30pin的座子標(biāo)準(zhǔn)就是只有兩組。

另外EDP還有熱插拔引腳,也就是這里的EDP_HPD,接到了GPIO_C2,不過R192默認不貼,因此在底板上默認是用不了熱插拔功能的。如果需要這功能需要貼上R192。

wKgaomUJw56APQGZAAAaOQ1By_c410.png

另外還有GPIO1_A4是它背光使能,這里直接默認上拉了。如果要控制背光使能,則需要貼上R199

背光調(diào)節(jié)使用的是PWM14_M0。

軟件準(zhǔn)備

本文所使用的YY3568開發(fā)板已經(jīng)有配備SDK,以及編譯,燒錄的教程,可以參考YY3568的wiki,鏈接如下

https://wiki.youyeetoo.cn/zh/YY3568

wKgZomUJw56AfTVHAABksWHIOy8560.png

linux系列的sdk和android系列的sdk編譯方法以及燒錄方法是不一樣的,編譯的時候注意一下。

要調(diào)試edp屏,主要涉及kernel部分修改,建議讀者首先了解kernel的編譯以及燒錄方法,這部分本文不做贅述。

Kernel部分修改

RK3568的VOP2帶有三個VIDEO PORT(VP0 VP1 VP2),支持最多6個圖層。下面以HDMI+EDP為例介紹kernel部分的修改。

目前Android全部采用的都是Linux DRM框架進行顯示,在DRM框架中,其顯示通路如下圖所示

wKgZomUJw6CAfSqhAAEI5CE1L2w245.png

圖中的幾個組成部分

Framebuffer:顯存,嵌入式系統(tǒng)使用的是內(nèi)存的一部分

CRTC:顯示控制器,在RK3568平臺是VOP2,VOP2支持三個VIDEO PORT。這三個VP共享6個圖層,而每個圖層只能被一個VP使用。VP0最大支持4K輸出,VP1最大支持2K輸出。VP2只能支持RGB和LVDS,最大1080P,用的比較少。

Encoder:輸出轉(zhuǎn)換器,指RGB、LVDS、DSI、eDP、HDMI、CVBS、VGA等顯示接口,它本質(zhì)就是一個編碼器,將CRTC提供過來的信號編碼為對應(yīng)顯示接口需要的信號。RK3568支持DSI0 DSI1 EDP LVDS HDMI RGB六個顯示接口。

Connector:連接器,指encoder和panel之間交互的接口部分;

Panel:各種具體的屏幕

因此,要驅(qū)動EDP屏幕,有三個部分需要配置,包括VOP,EDP控制器,屏幕的參數(shù)。

一般選擇VOP和具體顯示接口的對應(yīng)關(guān)系時,會考慮性能問題,市面上EDP屏最大的分辨率一般不會超過2K,而HDMI很多4K的,因此這里選擇VP0接到HDMI,VP1接到EDP。

首先配置VOP。VOP需要配置的東西不多,只需指定各個vp使用的圖層,如果只用兩個vp,那一般就是每個vp各分配三個圖層。這里的參考如下,也可以調(diào)換vp0和vp1的配置。

芯片級設(shè)備樹rk3568.dtsi中edp的配置如下圖,這個edp控制器有一個ports,指定了它連接到vp0或者是vp1

wKgZomUJw56Af8uIAAC9xw51bnc663.png

如果選擇連接到vp1,則要把edp_in_vp0設(shè)為disabled,同時把edp_in_vp1設(shè)為okay。另外還要使能它的phy,也就是這個&edp_phy,因此,在板級設(shè)備樹中,配置如下圖

wKgaomUJw56AHqHEAAAokPZlYrY083.png

在rk3568的設(shè)備樹配置中,vop默認enable了所有的endpoint,因此,只需要使能了edp那里的endpoint,即可設(shè)置連接關(guān)系。

wKgZomUJw56AChjCAABKMDx19fQ478.png

如果需要開機logo (kernel加載階段那個logo,不是android logo),則需要使能route_edp節(jié)點。默認是disabled的。

wKgaomUJw56APoORAAAPlVMzf0o663.png

如果不使用開機logo的時候,uboot是不會加載DRM驅(qū)動的,這樣可以略微降低uboot階段消耗的時間。

然后需要配置edp控制器的一些屬性。

wKgaomUJw56AOr6-AAA23FG9RIY848.png

其中force-hpd就是強制使能edp輸出,無熱插拔功能時需要配置這個屬性。由于底板默認沒有熱插拔腳,因此需要配置。不配置此屬性時則需要配置hpd-gpios,也就是指定熱插拔所使用的引腳。

edp控制器也是有兩個port的,前面已經(jīng)介紹了其中一個port是指定vop的,這里另外一個port是指定屏的。

panel的參數(shù)配置如下

wKgZomUJw5-ANtyxAACuxATPVM0203.png

其中power-supply是給屏使能的,這里用的是GPIO1_A4。雖然底板上面沒有這個功能(默認常使能),但還是可以配置上這個腳,后續(xù)有需要可以貼上電阻開啟這個功能。

wKgZomUJw5-Adr6oAABFSDHRu9w820.png

backlight指定的是背光調(diào)節(jié)的節(jié)點,這里用的就是pwm14。

wKgaomUJw5-APepUAAAXx1Lg79s573.png

另外這個pwm14的使能要打開。

wKgaomUJw5-AdYLcAAAJtNHt9kA962.png

display-timings指定的是屏參。如果屏支持動態(tài)讀取edid,則可以不指定顯示屏的具體參數(shù)。否則需要指定。

這個屏參可以從風(fēng)火輪科技那里獲取。

完成這些修改之后,在kernel目錄下面執(zhí)行編譯,得到boot.img。然后燒錄到板上

然后注意一下串口的kernel log,這個log說明drm驅(qū)動已經(jīng)能夠正常運作,實現(xiàn)vop和edp的綁定

wKgZomUJw5-AaA5dAAAO2vRHh2Q497.png

這個log會在第一幀圖像輸出時打印,說明當(dāng)前vop的輸出分辨率,也就是Encoder的輸出分辨率

如果確認上述的log都有,到這里,應(yīng)該開機,能顯示出圖像

wKgaomUJw6OAPXR8AANWCWd5Wj4161.png

到這里,kernel部分的修改完成。

RK3568平臺Android11或者debian 10以上的sdk對顯示的支持已經(jīng)很完善,不需要過多的修改,用默認配置即可

常見問題分析

1、背光不亮

首先確認背光節(jié)點是否存在

ls /sys/class/backlight/backlight_edp

這個背光節(jié)點名跟設(shè)備樹配置的一致,筆者這里是backlight_edp

wKgZomUJw5-AMBB-AAAtMsCKlBg713.png

如果沒有存在,檢查pwm是否工作正常,執(zhí)行

dmesg | grep pwm

查看有無報錯信息。

如果提示pwm加載失敗,存在pinctrl出錯,則說明pwm14使用的引腳被其它功能復(fù)用了,關(guān)閉其它功能即可

然后查看當(dāng)前亮度

cat /sys/class/backlight/backlight_edp/brightness

如果亮度為0,說明沒有配置默認亮度,需要在backlight節(jié)點增加如下屬性

wKgaomUJw5-AF4LIAAAI6yT3GXE446.png

2、背光亮,沒有畫面顯示

需要一個名為modetest的工具,這個工具專門用于drm框架下顯示功能的調(diào)試

Android SDK下面已有此工具,默認不安裝到系統(tǒng),使用如下命令編譯

mmm external/libdrm/tests/modetest/ -j8

輸出目錄為out/target/product/(product name)/data/nativetest64/modetest/modetest

將此工具通過U盤/adb等方式放到板上,執(zhí)行

modetest -c

可以看到如下信息

wKgaomUJw5-AdxjOAABrAToXj_c956.png

如果這個status顯示為disconnected,說明此時那個edp的節(jié)點打開了hpd-gpios,且此時沒有檢測到熱插拔事件,先確認硬件上是否支持,如果不支持,則需要打開force-hpd并關(guān)閉hpd-gpios,如果支持,則需要檢查硬件連接

然后檢查下方的分辨率是否跟屏實際的一致,如果不一致,那么cpu端edp輸出的信號無法被屏的邏輯板識別,也是黑屏

部分edp屏不具備edid的功能,也就是必須要在設(shè)備樹配置分辨率。

如果此時還是不能顯示,那就要考慮是不是上層未將正確的顯存?zhèn)鬟f到驅(qū)動,這時可以用modetest產(chǎn)生colorbar來測試

注意到Connectors的id為359,分辨率為1920x1080。那么可以使用命令

modetest -s 359:1920x1080

此時屏上會顯示出colorbar

wKgaomUJw6CANJgsAAEqpOyHWp8002.png

3、花屏

首先排查edp的輸出參數(shù)和屏參是否一致,像素時鐘是否正確。edp的像素時鐘有上限。

另外有些屏上下電有時序要求,注意規(guī)格書上面會說明在屏使能之前還是之后才提供edp數(shù)據(jù)。如果這個時序不對,會導(dǎo)致屏上面有殘影,看起來就是花屏。

4、部分顯示不全、閃屏

通常是某個圖層工作不正常。這時候會看到類似如下的內(nèi)核日志

wKgZomUJw5-AE8aWAAARJpJZG00551.png

這說明edp綁定的vp的圖層帶寬不足。像分辨率較高的顯示接口,需要分配至少一個ROCKCHIP_VOP2_SMART,同時將它的primary-plane設(shè)置為這個SMART圖層??梢詤⒖忌弦徽鹿?jié)的VOP配置。

總結(jié)

本文以YY3568開發(fā)板外接11.6寸edp屏為例介紹了如何在RK3568平臺上面調(diào)試edp屏幕。同時提供了一些調(diào)試過程中遇到的問題的解決方法。目前edp的應(yīng)用場景越來越廣泛,在商顯,車載等領(lǐng)域,已有取代LVDS之勢。風(fēng)火輪科技的開發(fā)板上面已經(jīng)具備了這個標(biāo)準(zhǔn)的edp接口,如果有需要在rk3568平臺適配各種edp屏的,可以考慮用YY3568開發(fā)板來調(diào)試。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5045

    文章

    18816

    瀏覽量

    298442
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8254

    瀏覽量

    149942
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    551

    瀏覽量

    33761
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96154
  • RK3568
    +關(guān)注

    關(guān)注

    4

    文章

    479

    瀏覽量

    4716
收藏 人收藏

    評論

    相關(guān)推薦

    RK3568-GDB程序調(diào)試方法說明

    RK3568-GDB程序調(diào)試方法說明
    的頭像 發(fā)表于 01-19 16:16 ?1489次閱讀
    <b class='flag-5'>RK3568</b>-GDB程序<b class='flag-5'>調(diào)試</b>方法說明

    RK3568J edp屏幕點亮?xí)r序調(diào)試過程是怎樣的?

    RK3568J edp屏幕點亮?xí)r序調(diào)試過程是怎樣的?
    發(fā)表于 03-02 07:01

    請教一下RK3568是如何將EDP轉(zhuǎn)成VGA-out的

    請教一下RK3568是如何將EDP轉(zhuǎn)成VGA-out的?
    發(fā)表于 03-02 06:29

    RK3568J 配置EDP沒有設(shè)備接點屏幕也無輸出是何原因

    RK_KERNEL_DTS=rk3568-firefly-aiojexport RK_KERNEL_DTS=rk3568-firefly-aioj-edp-M156X40PRODUC
    發(fā)表于 11-09 16:37

    rk3568處理器屬于什么檔次 rk3568性能怎么樣

     rk3568處理器屬于中高端通用型SOC,RK3568兼具CPU、GPU、NPU、VPU于一身,是一款高性能低功耗四核應(yīng)用的處理器。
    發(fā)表于 08-26 17:05 ?1.8w次閱讀
    <b class='flag-5'>rk3568</b>處理器屬于什么檔次 <b class='flag-5'>rk3568</b>性能怎么樣

    ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK

    電子發(fā)燒友網(wǎng)站提供《ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK.txt》資料免費下載
    發(fā)表于 09-20 09:55 ?40次下載
    ROC <b class='flag-5'>RK3568</b> PC源代碼<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588 RKNN SDK

    RK3568核心板數(shù)據(jù)手冊

    ,RK3568 系列處理器還集成了 USB2.0,USB3.0 千兆以太網(wǎng),CAN-BUS,HDMI,LVDS 等接口。
    發(fā)表于 04-18 14:17 ?40次下載

    RK3568 SDK 的編譯

    RK3568 SDK 的編譯
    的頭像 發(fā)表于 12-13 11:46 ?1438次閱讀
    <b class='flag-5'>RK3568</b> SDK 的編譯

    技術(shù)分享 | RK3568 buildroot文件系統(tǒng)下的三屏顯示調(diào)試

    IAC-RK3568-KitIAC-RK3568-Kit開發(fā)板基于瑞芯微RK3568四核Cortex-A55處理器,支持HDMI、LVDS、MIPI、EDP四種顯示接口,能夠?qū)崿F(xiàn)三屏同
    的頭像 發(fā)表于 04-10 11:14 ?4799次閱讀
    技術(shù)分享 | <b class='flag-5'>RK3568</b> buildroot文件系統(tǒng)下的三屏顯示<b class='flag-5'>調(diào)試</b>

    瑞芯微RK3568主板開發(fā)板PET_RK3568_P01簡述

    瑞芯微RK3568主板開發(fā)板PET_RK3568_P01簡述
    的頭像 發(fā)表于 08-08 11:41 ?2624次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>主板開發(fā)板PET_<b class='flag-5'>RK3568</b>_P01簡述

    瑞芯微RK3568核心板PET_RK3568_CORE簡述

    瑞芯微RK3568核心板PET_RK3568_CORE簡述
    的頭像 發(fā)表于 08-08 11:44 ?3267次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>核心板PET_<b class='flag-5'>RK3568</b>_CORE簡述

    RK35683568J的區(qū)別

    RK35683568J的區(qū)別 在當(dāng)前處理器市場中,以小而美形象聞名的瑞克微電子旗下產(chǎn)品RK3568/J也引起了廣泛關(guān)注,其中RK35683568
    的頭像 發(fā)表于 08-15 17:25 ?7878次閱讀

    rk3568是什么架構(gòu)的?

    RK3568是什么架構(gòu)的? 中國領(lǐng)先的無晶圓廠半導(dǎo)體公司Rockchip Electronics推出了一款專門為人工智能應(yīng)用設(shè)計的新型片上系統(tǒng)(SoC)。這種新型SoC被稱為RK3568,構(gòu)建
    的頭像 發(fā)表于 08-15 17:25 ?2544次閱讀

    瑞芯微RK3568開發(fā)板多屏同顯方案

    HD-RK3568核心板基于瑞芯微RK3568設(shè)計,支持HDMI、MIPI、eDP、LVDS四種顯示接口,適配多種顯示方案,滿足醫(yī)療電子、電力電子、工業(yè)自動化、車載中控等多種行業(yè)應(yīng)用。
    的頭像 發(fā)表于 09-14 14:03 ?1007次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>開發(fā)板多屏同顯方案

    RK3568核心板橋梁監(jiān)測設(shè)備接口應(yīng)用

    RK3568核心板橋梁監(jiān)測設(shè)備接口應(yīng)用-迅為電子
    的頭像 發(fā)表于 07-24 15:18 ?198次閱讀
    <b class='flag-5'>RK3568</b>核心板橋梁監(jiān)測設(shè)備<b class='flag-5'>接口</b>應(yīng)用