全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

RK3568适配RK628 RGB to HDMI

时间:2023-08-04 08:39

人气:

作者:admin

标签: HDMI  RK3568  芯片 

导读:RK628是一款多功能视频桥接芯片,支持多种显示接口的转换。本文基于RK3568平台,分享使用RK628桥接芯片实现RGB信号转换为HDMI输出的适配过程。IDO-SOM3568-V2采用Rockchip新一代64位处理器RK...

RK628是一款多功能视频桥接芯片,支持多种显示接口的转换。本文基于RK3568平台,分享使用RK628桥接芯片实现RGB信号转换为HDMI输出的适配过程

68bda4c2-325f-11ee-bbcf-dac502259ad0.png

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等多种系统。

产品规格书:IDO-SOM3568-V2(金手指) 产品手册

68d041e0-325f-11ee-bbcf-dac502259ad0.jpg

硬件连接

RK628与RK3568的硬件连接,主要有以下几点:

24MHz时钟:给RK628提供时钟信号;

I2C:用于RK3568与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 */
<0RK_PA0 1&pcfg_pull_none>;
};
};
}

运行测试

修改驱动编译,更新内核后;插入HDMI显示器,正常的情况下可以成功显示

查看显示参数

cat /sys/kernel/debug/dri/0/summary

68f5370c-325f-11ee-bbcf-dac502259ad0.png

声卡注册情况如下,可通过播放音乐来测试HDMI是否有声音输出

69155b4a-325f-11ee-bbcf-dac502259ad0.png

问题排查

确认供电和复位时序是否正常

测量软件24MHz时钟信号是否正常输出

6933792c-325f-11ee-bbcf-dac502259ad0.png

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信