RK628 DRM 移植指南
本文档基于瑞芯微官方文档 Rockchip_DRM_RK628_Porting_Guide_CN.pdf(V1.7.0, 2021-05-31)整理,介绍 RK628 显示转换芯片在 DRM 框架下的移植与调试方法。
适用范围
- 芯片型号:RK628D
- 驱动框架:Linux DRM 框架(
drivers/gpu/drm/rockchip/rk628/) - 读者对象:技术支持工程师、软件开发工程师
说明
本文档描述的是基于 RK 平台 DRM 框架的 RK628 驱动。对于跨平台通用版本,请参考《RK628 显示转换芯片开发指南》(For-All 版本)。
一、简介
RK628 是 Rockchip 的多功能显示转换芯片,支持多种视频输入输出格式转换。本文档描述其在 DRM 框架下的软件配置方法与调试手段。
内核配置:
CONFIG_MFD_RK628=y
CONFIG_DRM_ROCKCHIP_RK628=y
CONFIG_VIDEO_RK628CSI=y
驱动文件:
drivers/mfd/rk628.c
drivers/clk/rockchip/regmap/clk-rk628.c
drivers/pinctrl/pinctrl-rk628.c
drivers/gpu/drm/rockchip/rk628/*
drivers/media/i2c/rk628_csi.c
参考设备树:
arch/arm/boot/dts/rk3288-evb-rk628.dtsi
arch/arm/boot/dts/rk3288-evb-rk628-rgb2dsi-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-rgb2lvds-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-hdmi2csi-avb.dts
...
二、Core 配置
2.1 DTS 核心配置
rk628.dtsi 包含 RK628 相关模块的基础配置,一般不需要更改,只需在板级 dts 中 include。
板级 DTS 示例:
&i2c1 {
clock-frequency = <400000>;
status = "okay";
rk628: rk628@50 {
reg = <0x50>;
interrupt-parent = <&gpio7>;
interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;
enable-gpios = <&gpio5 RK_PC2 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio7 RK_PB6 GPIO_ACTIVE_LOW>;
status = "okay";
};
};
三、输入模块
3.1 RGB 输入
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_post_process: endpoint {
remote-endpoint = <&post_process_in_rgb>;
};
};
};
};
3.2 BT1120 输入
参考配置文件:rk3568-evb6-ddr3-v10-rk628-bt1120-to-hdmi.dts
&rgb {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&bt1120_pins>;
ports {
port@1 {
reg = <1>;
rgb_out_bt1120: endpoint {
remote-endpoint = <&bt1120_in_rgb>;
};
};
};
};
3.3 HDMI RX
3.3.1 HDMI RX 板级直连模式
3.3.2 HDMI RX 线缆连接模式
3.3.3 HDMI RX AUDIO
四、输出模块
4.1 Post-Process(后处理)
4.1.1 Scaler
RK628 内置 Scaler,支持图像缩放。
4.1.2 极性配置
支持行场同步信号极性调整。
4.2 LVDS 输出
4.2.1 RGB2LVDS
Single LVDS(单通道)
Dual LVDS(双通道)
4.2.2 HDMI2LVDS
Single LVDS
Dual LVDS
4.3 DSI 输出
4.3.1 RGB2DSI
Single DSI(单 DSI)
Dual DSI(双 DSI)
4.3.2 HDMI2DSI
Single DSI
4.4 HDMI TX
4.4.1 RGB2HDMI
4.4.2 BT1120 → HDMI
4.4.3 HDMI TX Audio
4.5 GVI 输出
4.5.1 GVI 说明
GVI(General Video Interface)是 Rockchip 定义的通用视频接口。
4.5.2 配置说明
4.6 MIPI CSI
4.6.1 DTS 配置
4.6.2 注意事项
五、DEBUG
5.1 I2C 通信异常
- 检查 I2C 地址和引脚配置
- 测量 I2C 信号波形
- 确认 RK628 供电和复位正常
5.2 RK628 PLL 锁定异常
- 检查输入时钟频率
- 确认 PLL 配置参数正确
5.3 寄存器读写
# 通过 regmap 访问寄存器
cat /sys/bus/i2c/devices/0-0050/regmap
5.4 输入输出信息
# 查看 DRM 状态
cat /d/dri/0/summary
# 查看时钟树
cat /d/clk/clk_summary
5.5 主副屏属性配置
5.6 自测模式
RK628 支持多种自测模式,可输出测试彩条:
- HDMITX color bar
- DSI color bar
- GVI color bar
5.7 行场解析
rk628_bt1120_rx
BT.1120 输入的行场信号解析调试。
参考资料
- 原始文档:
Rockchip_DRM_RK628_Porting_Guide_CN.pdfV1.7.0 - 《Rockchip_Developer_Guide_RK628_For_All_Porting_CN.pdf》V2.6(推荐使用 For-All 版本)
- 瑞芯微官网:www.rock-chips.com