rk3288 android6.0平台bt1120信号转mipi调试
说明:使用龙讯LT8918芯片将bt1120信号转换为mipi信号输入到rk3288,不需要i2c通信.
注意:如果能正常打开任意一款mipi camera,那么kernel的配置不需要改动,否则请先找一款市面上常用的mipi摄像头调试,然后再进行后续工作。如果kernel已配置好,那么整个调试过程只需要修改hardware。
开始调试:
因为传输的是mipi yuv信号,所以我们参照OV2685_MIPI_YUV驱动去做。该驱动所在位置/hardware/rockchip/camera/SiliconImage/isi/drv/OV2685_MIPI_YUV。
一、不用i2c,那么屏蔽掉i2c通信的地方
1./hardware/rockchip/camera/CameraHal/CameraHal_board_xml_parse.cpp
int camera_board_profiles::RegisterSensorDevice(rk_cam_total_info* pCamInfo)方法中
err = ioctl(camsys_fd, CAMSYS_I2CWR, &i2cinfo);修改为err = 0;
2./hardware/rockchip/camera/SiliconImage/isi/drv/OV2685_MIPI_YUV/OV2685_PARREL.c 中
OV2685_IsiCheckSensorConnectionIss、OV2685_IsiRegReadIss、OV2685_IsiRegWriteIss这三个方法直接return 0;
二、定义自己的分辨率等参数1920x1080, 30fps, 4lane, mipi freq:200M
1.在OV2685_tables.c文件中先定义自己的分辨率,不需要操作寄存器,给个定义就行:
const IsiRegDescription_t OV2685_g_1920x1080[] =
{
{0x0000 ,0x00,"eTableEnd",eTableEnd}//为啥只有这一行,请看其他分辨率是怎么定义的!
};
2.在OV2685_PARREL.c中设置分辨率
extern const IsiRegDescription_t OV2685_g_1920x1080[];//引用上面的定义
static uint16_t g_suppoted_mipi_lanenum_type = SUPPORT_MIPI_FOUR_LANE;
#define DEFAULT_NUM_LANES SUPPORT_MIPI_FOUR_LANE//定义lane数
OV2685_IsiGetCapsIssInternal该函数中选择分辨率:
if(mipi_lanes == SUPPORT_MIPI_FOUR_LANE){
switch (pIsiSensorCaps->Index)
{
case 0:
{
pIsiSensorCaps->Resolution = ISI_RES_TV1080P30;//我们的分辨率
break;
}
default:
{
result = RET_OUTOFRANGE;//这个值不要改
goto end;
}
}
}
3.OV2685_SetupOutputWindow中定义mipi freq并设置对应分辨率
pOV2685Ctx->IsiSensorMipiInfo.ulMipiFreq = 200;//mipi freq
switch ( pConfig->Resolution ){
case ISI_RES_TV1080P30:
{
if((result = IsiRegDefaultsApply((IsiSensorHandle_t)pOV2685Ctx,OV2685_g_1920x1080)) != RET_SUCCESS){
TRACE( OV2685_ERROR, "%s: failed to set ISI_RES_TV1080P30 \n", __FUNCTION__ );
}else{
TRACE( OV2685_INFO, "%s: success to set ISI_RES_TV1080P30 \n", __FUNCTION__ );
}
break;
}
}
三、配置cam_board.xml
主要强调两个地方,一是<SensorGpioPwen ioname="RK30_PIN2_PB1" active="1" delay="1000"></SensorGpioPwen>,power使能脚配置。二是<SensorPhy phyMode="CamSys_Phy_Mipi" lane="4" phyIndex="0" sensorFmt="CamSys_Fmt_Yuv422_8b"></SensorPhy>(lane数,phyIndex:0或1,根据硬件配置)
只要硬件没问题,基本上按照上述修改配置,使用系统自带camera apk就可以打开了,注意打开的是/dev/camsys_marvin这个节点。
检测3288是否有接收到mipi信号,可在adb或串口中输入io -4 -l 0x100 0xff911c00
查看ff911c10: 00000000 00000000 00000000 0000001e这一行,0000002b表示isp识别到为raw ,0000001e 表示识别到yuv数据 如果其他表示识别异常。
全部调试文档可以参照附件:源码下载
rk3288 android6.0平台bt1120信号转mipi调试相关推荐
- [RK3288][Android6.0] 调试笔记 --- WiFi芯片AP6356S添加
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 背景: RK3288 Android6.0平台对AP6356S的支持不是很完善,直接修改wifi ch ...
- [RK3288][Android6.0] 调试笔记 --- touch无法获取坐标点
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 有网友遇到调试touch的时候能触发中断,但无法获取坐标点 具体可参考文章 [RK3288][An ...
- [RK3288][Android6.0] 调试笔记 --- AndroidTool低格无效问题
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 现象: 之前文章 [RK3288][Android6.0] 调试笔记 - AndroidTool两 ...
- [RK3288][Android6.0] 设置中通过Sensor旋转显示画面小结
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 Settings -> Display有个选项控制旋转屏幕时内容是否跟着旋转 这个功能是通过 ...
- [RK3288][Android6.0] 调试笔记 --- 电池电量一直显示100%
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 之前文章[RK3288][Android6.0] 调试笔记 - 伪电池驱动添加 阐述了如何添加一个 ...
- [RK3288][Android6.0] RK3288和RK3288-W版本说明
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 RK3288不同版本: RK3288-W丝印标记: RK3288-W功能更新: RK3288-W软件兼 ...
- rk3288 android 6.0固件,[RK3288][Android6.0] 使用SD卡升级固件到eMMC
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 使用SD升级固件到eMMC比较方便, 插卡后完全自动升级,不需要连到PC端,省时省力. a. 编译整个 ...
- [RK3288][Android6.0] 调试笔记 --- 双屏显示内核Patch
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 根据5.1的双屏显示patch,在android6.0上修改了下,因为没硬件环境,所以未经验证,仅供参 ...
- gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】
Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 由于板子没有lcd无法得知sd卡升级是否完成,因此使用LED显示. Recovery中升级完成后控 ...
- android 避免cpu降频,[RK3288][Android6.0] 调试笔记 --- CPU温度降频控制
rk3288平台关于温度调节cpu频率有个bug. 在rk3288.dtsi中,有: temp-limit-enable = <1>; target-temp = <80>; ...
最新文章
- D3.js、HTML5、canvas 开发专题
- 实在不好意思,最近写个项目,一直没时间来灌水
- leetcode算法题--零钱兑换
- Android Studio - HPROF文件查看和分析工具
- Apache+tomcat+mod_jk+centos6.2负载均衡集群配置--转载
- Java基础day8
- Demo能为游戏带来什么?
- 对jquery的conflict方法的解读
- Mybatis源码之与Spring集成包
- Linux 基础命令讲解--加密解密
- php如何设计一个网站,如何设计一个优质的外贸网站?
- 基于vue-cli 将webpack3 升级到 webpack4 配置
- web of knowledge分析文献引用情况(引)
- 数据库系统是采用数据库技术的计算机系统,1数据库系统是采用了数据库技术的计算机系统.doc...
- 全自动高清录播服务器,全自动高清录播服务器 高清录播系统
- search_web_resources
- web开发字体图标制作
- 电子邮件签名模板_15个网站下载免费的电子邮件通讯模板
- 生成时间序列每月月初月末
- 云生态系统的构成、运行与平衡协作
热门文章
- android os 2.2刷机包,N1内置CoreELEC9.2.2、安卓7.1.2双系统刷机包,全功能刷机包V2.2...
- 腾讯翻译君 VS 谷歌翻译
- Barcode模块管理条码扫描识别
- 《机械基础》记忆性内容总结
- 基于交比不变性的太阳定位算法的研究
- 跟华为悦盒V9U机顶盒拼了
- oracle random函数用法,Oracle随机函数的用法
- (六)Java垃圾回收机制(附带代码示例)
- 半导体丨索尼推出世界最小监控用CMOS图像传感器IMX415
- 看图识WAF-搜集常见WAF拦截页面