RK628是一款多功能視頻橋接芯片,支持多種顯示接口的轉(zhuǎn)換。本文基于RK3568平臺,分享使用RK628橋接芯片實現(xiàn)RGB信號轉(zhuǎn)換為HDMI輸出的適配過程。

IDO-SOM3568-V2采用 Rockchip 新一代 64 位處理器 RK3568(四核A55, 主頻高達 2.0GHz, 22nm 工藝),集成雙核心架構(gòu) GPU 以及高效能 NPU;最大支持 8GB 內(nèi)存;內(nèi)置獨立的 NPU,32Bit位寬LPDDR4/LPDDR4x,頻率最高可達1600MHz,支持全鏈路ECC ,支持Android 11,Ubuntu , Debian,OpenHamoney,麒麟OS等多種系統(tǒng)。
產(chǎn)品規(guī)格書:IDO-SOM3568-V2(金手指) 產(chǎn)品手冊

硬件連接
RK628與RK3568的硬件連接,主要有以下幾點:
24MHz時鐘:給RK628提供時鐘信號;
I2S:用于音頻信號傳輸;
RGB:給RK628顯示信號源;
其它GPIO:控制供電和復(fù)位。
添加驅(qū)動
本文調(diào)試使用的是RK的rk628-for-all v21驅(qū)動。將驅(qū)動補丁文件添加至 kernel/drivers/misc/rk628/ 目錄。
在原有的驅(qū)動文件中添加
kernel/drivers/misc/Kconfig
source"drivers/misc/rk628/Kconfig"
kernel/drivers/misc/Makefile
obj-y += rk628/
添加設(shè)備樹配置
dts配置分顯示和音頻兩部分,顯示部分在i2c中添加rk628節(jié)點,并將其與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 */
<0RK_PA0 1&pcfg_pull_none>;
};
};
}
運行測試
修改驅(qū)動編譯,更新內(nèi)核后;插入HDMI顯示器,正常的情況下可以成功顯示
查看顯示參數(shù)
cat /sys/kernel/debug/dri/0/summary

聲卡注冊情況如下,可通過播放音樂來測試HDMI是否有聲音輸出

問題排查
確認供電和復(fù)位時序是否正常
測量軟件24MHz時鐘信號是否正常輸出

-
芯片
+關(guān)注
關(guān)注
463文章
54463瀏覽量
469678 -
HDMI
+關(guān)注
關(guān)注
34文章
1916瀏覽量
161424 -
RK3568
+關(guān)注
關(guān)注
5文章
655瀏覽量
8136
發(fā)布評論請先 登錄
深入解析RK3568引腳控制核心:rk3568-pinctrl.dtsi文件的作用與實踐(可應(yīng)用rk全系列)
RK3568 Android11編譯環(huán)境搭建及報錯解決指南
從RK3576 Linux SDK手動適配RK3568,省下時間又省錢
【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導(dǎo)出詳解
【作品合集】合眾HZ-RK3568開發(fā)板測評
【HZ-RK3568開發(fā)板免費體驗】HZ-RK3568開發(fā)板操作系統(tǒng)編譯
rk3568快速開機 快速啟動實現(xiàn)
【HZ-RK3568開發(fā)板免費體驗】合眾HZ-RK3568開發(fā)板初次使用
【HZ-RK3568開發(fā)板免費體驗】合眾HZ-RK3568開發(fā)板測評
迅為RK3568驅(qū)動指南GPIO子系統(tǒng) GPIO操作函數(shù)實驗
RK3568適配RK628 RGB to HDMI
評論