RK628是一款多功能視頻橋接芯片,支持多種顯示接口的轉換。本文基于RK3568平臺,分享使用RK628橋接芯片實現RGB信號轉換為HDMI輸出的適配過程。
IDO-SOM3568-V2采用 Rockchip 新一代 64 位處理器 RK3568(四核A55, 主頻高達 2.0GHz, 22nm 工藝),集成雙核心架構 GPU 以及高效能 NPU;最大支持 8GB 內存;內置獨立的 NPU,32Bit位寬LPDDR4/LPDDR4x,頻率最高可達1600MHz,支持全鏈路ECC ,支持Android 11,Ubuntu , Debian,OpenHamoney,麒麟OS等多種系統。
硬件連接
RK628與RK3568的硬件連接,主要有以下幾點:
24MHz時鐘:給RK628提供時鐘信號;
I2S:用于音頻信號傳輸;
RGB:給RK628顯示信號源;
其它GPIO:控制供電和復位。
添加驅動
本文調試使用的是RK的rk628-for-all v21驅動。將驅動補丁文件添加至 kernel/drivers/misc/rk628/ 目錄。
在原有的驅動文件中添加
kernel/drivers/misc/Kconfig
source"drivers/misc/rk628/Kconfig"
kernel/drivers/misc/Makefile
obj-y += rk628/
添加設備樹配置
dts配置分顯示和音頻兩部分,顯示部分在i2c中添加rk628節點,并將其與rgb綁定;音頻部分使用i2s通信,新增一路simple-audio-card。
/ { rk628_hdmi_sound: rk628-hdmi-sound { compatible ="simple-audio-card"; simple-audio-card,format ="i2s"; simple-audio-card,name ="rk628-hdmi-sound"; status ="okay"; simple-audio-card,cpu { sound-dai = &i2s1_8ch?>; }; simple-audio-card,codec { sound-dai = &rk628?>; }; }; }; &i2s1_8ch { status ="okay"; rockchip,clk-trcm = 1?>; pinctrl-names ="default"; pinctrl-0= &i2s1m1_sclktx ?????????&i2s1m1_lrcktx ?????????&i2s1m1_sdo0?>; }; &i2c1 { status ="okay"; clock-frequency = 400000?>; rk628: rk628@50{ compatible ="rockchip,rk628"; reg = 0x50?>; pinctrl-names ="default"; interrupt-parent = &gpio1?>; interrupts = ; enable-gpios = &gpio3 RK_PD5 GPIO_ACTIVE_HIGH?>; reset-gpios = &gpio3 RK_PC4 GPIO_ACTIVE_LOW?>; pinctrl-0= &refclk_pins?>; assigned-clocks = &pmucru?CLK_WIFI?>; assigned-clock-rates = 24000000?>; clocks = &pmucru?CLK_WIFI?>; clock-names ="soc_24M"; #sound-dai-cells =0?>; rk628,rgb-in; rk628,hdmi-out; mode-sync-pol=0?>; status ="okay"; port { rgb_in_hdmi: endpoint { remote-endpoint = &rgb_out_hdmi?>; }; }; }; }; &rgb { status ="okay"; ports { port@1{ reg = 1?>; rgb_out_hdmi: endpoint { remote-endpoint = &rgb_in_hdmi?>; }; }; }; }; &rgb_in_vp2 { status ="okay"; }; &route_rgb { status ="okay"; connect = &vp2_out_rgb?>; }; &pinctrl { refclk { /omit-if-no-ref/ refclk_pins: refclk-pins { rockchip,pins = /* refclk_ou */ 0?RK_PA0?1?&pcfg_pull_none?>; }; }; }
運行測試
修改驅動編譯,更新內核后;插入HDMI顯示器,正常的情況下可以成功顯示
查看顯示參數
cat /sys/kernel/debug/dri/0/summary
聲卡注冊情況如下,可通過播放音樂來測試HDMI是否有聲音輸出
問題排查
確認供電和復位時序是否正常
測量軟件24MHz時鐘信號是否正常輸出
-
處理器
+關注
關注
68文章
19286瀏覽量
229842 -
HDMI
+關注
關注
32文章
1704瀏覽量
151927 -
開發板
+關注
關注
25文章
5050瀏覽量
97473 -
RK3568
+關注
關注
4文章
514瀏覽量
5051
發布評論請先 登錄
相關推薦
評論