本文档主要描述多功能转换
芯片RK628的软件配置方法以及调试手段,具体功能描述参考
datasheet。
配置项:
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-
HDMI2gvi-avb.dtb
arch/arm/boot/dts/rk3288-evb-rk628-hdmi2gvi-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-rgb2dsi-avb.dtb
arch/arm/boot/dts/rk3288-evb-rk628-rgb2dsi-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-rgb2gvi-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-rgb2hdmi-avb.dtb
arch/arm/boot/dts/rk3288-evb-rk628-rgb2hdmi-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-rgb2
LVDS-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-rgb2lvds-dual-avb.dts
arch/arm/boot/dts/rk3288-evb-rk628-hdmi2csi-avb.dts
Core
1. arch/arm/boot/dts/rk628.dtsi 包含 RK628 相关
模块的基础配置,一般不需要更改,只需要在板级 dts 中包含该 dtsi。
2. arch/arm/boot/dts/rk3288-evb-rk628.dtsi 包含特定板级配置,需要根据
硬件设计配置 RK628 相关控制 IO,并且包含 rk628.dtsi。
&i2c1 {
clock-frequency = <400000>;
status = "okay";
rk628: rk628@50 {
reg = <0x50>;
interrupt-parent = <&
GPIO7>;
interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;
enable-gp
IOS = <&gpio5 RK_PC2 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio7 RK_PB6 GPIO_ACTIVE_LOW>;
status = "okay"; };
};
Input
RGB
注意:rk3288-
Android7.1 和 rk3288-android8.1 对应的
内核基线 RGB 功能在 dts 中是以 lvds 的节点来描述,在这两个
SDK kernel 中没有关于 rk628 应用方案的配置 dts,可以参考如下相关 dts 配置:
RKDocs/PATCHES/patch_rk628_dts_for_rk3288_android8.0.tar.gz
HDMIRX
HDMIRX 目前支持以下输入源格式:
3840X2160-60Hz(
YUV420-8BIT)
3840X2160-30Hz(RGB-8BIT)
1920X1080-60Hz(RGB-8BIT)
1280X720-60Hz(RGB-8BIT)
720X576-60Hz(RGB-8BIT)
720X480-60Hz(RGB-8BIT)
注意事项
由于 HDMIRX 最大值支持 4K-60Hz-YUV420,所以当需要输出 4K-60Hz
分辨率时,需要强制限制输入源为 YUV420 颜色格式。必须在输出端限制输入源最大的 TMDS CLK 以及允许 YUV420 格式输出。
以 HDMI2GVI 为例,需要以下修改:
--- a/drivers/gpu/drm/rockchip/rk628/rk628_gvi.c
+++ b/drivers/gpu/drm/rockchip/rk628/rk628_gvi.c
@@ -312,7 +312,8 @@ static int rk628_gvi_connector_get_modes(struct drm_connector *connector)
info->edid_hdmi_dc_modes = 0;
info->hdmi.y420_dc_modes = 0;
info->color_formats = 0;
- info->max_tmds_clock = 600000;
+ info->max_tmds_clock = 300000;
+ connector->ycbcr_420_allowed = true;
HDMIRX线缆连接模式
HDMIRX线缆连接模式用于HDMIRX to
mipi CSI接口转换,适用于HDMI IN应用场景,支持热拔插、动态分辨率切换等功能。
目前支持以下分辨率,可根据具体项目需求在驱动中继续增加:
3840X2160-30Hz(RGB-8BIT/YUV422-8BIT)
1920X1080-60Hz(RGB-8BIT/YUV422-8BIT)
1280X720-60Hz(RGB-8BIT/YUV422-8BIT)
720X576-50Hz(RGB-8BIT/YUV422-8BIT)
720X480-60Hz(RGB-8BIT/YUV422-8BIT)
......
更多详细内容请下载附件查看