RK3399 Android上面调试IMX291 Camera驱动

xiaoxiao2021-02-28  68

由于官方代码没有IMX291的驱动,所以想把IMX214的驱动进行移植,刚开始的做法跟这位仁兄差不多

http://developer.t-firefly.com/archiver/tid-1615.html?page=1

在cam_board.xml中增加的IMX291相关配置,根据hardware/rockchip/camera/SiliconImage/isi/drv/IMX214添加了一份IMX291,修改相关寄存器地址与值编译生成libisp_isi_drv_IMX291.so,然后上电发现Camsys驱动platform_driver_register后没有进入camsys_platform_probe函数,也就是说Camsys没跑起来,那后面的i2c操作没办法成功

修改dts需增加isp_mmu配置:

&isp0 {        status = "okay"; }; &isp1 {        status = "okay"; }; +&isp0_mmu { +       status = "okay"; +}; + +&isp1_mmu { +       status = "okay"; +};

采用哪组 MIPI 接口,RST 脚,MCKL 时钟都是在cam_board.xml分别配phyIndex,SensorGpioRst,SensorMclk;

IMX291 需要 MCLK 输出为37.125MHz或者74.25MHz

但是发现<SensorMclk mclk="24000000" delay="1000"></SensorMclk>该时钟配置没生效

输出37.125MHz需要修改时钟源及分频方式

 

camsys跑起来了但是设备注册失败: D CameraHal: Check IMX291 ID: reg: 0x16  val: 0x0 default: 0x2

E CameraHal: IMX291 device register failed!

这是驱动读取sensor id与设定默认值不匹配导致驱动注册失败,后来问了索尼的代理,原来imx291没有id,可通过读取其他寄存器默认值确认通讯情况 先在这立个帖子,如果有朋友也在RK上面移植新的camera驱动请私信或加Q47411296

 

转载请注明原文地址: https://www.6miu.com/read-60797.html

最新回复(0)