1.概要
本文档是基于
RK3288(W
version)/RK3399
Android7.1/8.1平台开发
HDMI IN功能的帮助文档。本文档介绍以RK3288 Android7.1为例,主要介绍如何使用RK3288与
东芝TC358749XBG
芯片组合实现HDMI IN功能,支持HDMI IN热拔插,支持HDMI IN输入自适应
分辨率:1080P/I、720P、480P/I、576P/I。
2. 产品版本
RK3288/RK3288(W version)/RK3399:
linux 4.4,Android 7.1/8.1
4. HDMI IN
video 配置方法说明
支持 HDMI IN 功能,需要将
SDK 升级到指定的版本以上,同时板级配置需要根据实际硬件 电路连接进行修改。
4.1 SDK 代码版本要求
-
kernel/ 代码需要包含以下提交:
-hardware/rockchip/
camera/ 代码需要包含以下提交:
4.2 板级配置说明
4.2.1 供电控制相关
GPIO 的配置
TC358749XBG 的使能、待机、复位和中断引脚需要连接到 RK3288 的 GPIO;客户根据实 际
硬件设计,需要在 DTS 文件将 tc358749x 节点配置在正确的
I2C 节点下,同时修改 tc358749x 节点对应 GPIO 的值;
power-gp
IOS 对应使能引脚,stanby-gpios 对应待机引脚,reset-gpios 对应复位引脚,int-gpios 对应中断引脚。
4.2.2 cam_board.xml 配置文件说明
cam_board.xml 文件对应 SDK 目录下的文件:
hardware/rockchip/camera/Config/cam_board_rk3288.xml
修改方法有两种:
1) 修改 hardware/rockchip/camera/Config/cam_board_rk3288.xml 文件,重新编 译 android,生成固件,烧写固件。
2) 修改 xml 文件后,用
adb push 到 /
ETC/cam_board.xml(一般在调试时使用这种方法)
根据实际硬件连接,在 cam_board.xml 文件配置对应的 I2C 和
mipi PHY
通道:
- 下图中 I2C 通道配置为 1,若 TC358749XBG 连接在 I2C3,则 SensorI2cBusNum busnum ="3"。
- TC358749XBG 的 MIPI 接口连接至 RK3288 的 MIPI_RX,则配置 phyIndex =“0”,若 连接至 MIPI_TX/RX,则配置为 phyIndex =“1”。
5. HDMI IN VIDEO 框架说明
HDMI IN video 部分的软件实现方案是将 TC358749XBG 模拟成一个 MIPI camera设备,通过 camera 框架接收 video 数据并在应用层进行显示,同时基于 HDMI IN 的应用场景需 要,增加 HDMI IN 热拔插和 HDMI IN 分辨率自适应支持,软件流程如下:
5.1 HDMI IN 分辨率自适应流程
HDMI IN 支持自适应分辨率:1080P/I、720P、480P/I、576P/I。camera 架构不支持动 态切换预览分辨率,根据 HDMI IN 应用场景需要,在 TC358749XBG 驱动和 camera HAL 层 增加 HDMI IN 分辨率自动识别、预览自动切换、不同分辨率图像区分处理的流程。在 TC358749XBG 驱动中创建线程,运行状态机,查询 HDMI SOURCE 的分辨率,并设置属性值 “sys.hdmi.resolution”。HDMI IN APK 从该属性获取输入源分辨率,并根据分辨率变化,切换 预览分辨率重新开始预览。在 camera HAL 中从该属性获取输入源分辨率,并对 P 和 I 分辨率的 图像数据区分处理,对 I 分辨率的图像进行奇偶场合成后,再送显示。
更多详细内容请下载附件查看