Firefly开源社区

标题: firefly-rk3399双目ov13850总是只有一个相机能工作 [打印本页]

作者: zonda    时间: 2021-6-8 11:02
标题: firefly-rk3399双目ov13850总是只有一个相机能工作
本帖最后由 zonda 于 2021-6-15 09:58 编辑

开发环境
1.开发板:FireFly-RK3399
2.sdk:           rk3399_linux_release_v2.5.1_20210301
3.相机:  ov13850
4.系统:  ubuntu18.04(安卓两个相机都能正常工作,ubuntu不行)


插上双相机dmesg后,出现如下错误,设置相机地址为46报错,这时通道1的相机能用

或者出现如下这个错误,设置相机地址为36报错,这时通道2的相机能用

******奇怪的是,只插某一个相机也会出现这个问题

有资料显示
1.In the OV13850, the SCCB ID is controlled by the SID pin, and can be programmable. If SID is low, the sensor’s SCCB
2.address comes from register 0x300C which has a default value of 0x20. If SID is high, the sensor’s SCCB address comes
3.from register 0x3661 which has a default value of 0x6C.

也就是说可以通过驱动改变ov13850的从机设备地址,在rk3399_linux_release_v2.5.1_20210301\kernel\drivers\media\i2c\ov13850.c中我也找到了

上面报错的位置也就是这个位置,也就是说每次总会有一个相机设置出错,而且是随机的,但按理来说这个函数也是加锁了的,不会出现这个问题,后面我再附上dts,以供大家帮助我找出原因和解决办法






作者: 895816513    时间: 2021-6-10 17:22
你是不是改了什么东西,我使用的2个mipi摄像头是没有问题的。你或者下firefly发布的最新固件测试下

kernel 版本:

commit 021a2d9d5f486891ae334300b94bf05ef55e2b1b (HEAD -> firefly, m/master, firefly-linux-gitlab/rk3399/firefly)
Author: huangjc <service@t-firefly.com>
Date:   Thu Apr 22 16:43:47 2021 +0800

    firefly: rk3399-firefly-CS-R1-jd4-main.dts: update



dmesg  | grep 13850
[    1.731132] ov13850 1-0036: driver version: 00.01.03
[    1.731615] ov13850 1-0036: GPIO lookup for consumer reset
[    1.731624] ov13850 1-0036: using device tree for GPIO lookup
[    1.731649] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/i2c@ff110000/ov13850@36[0]' - status (0)
[    1.731680] ov13850 1-0036: Looking up avdd-supply from device tree
[    1.731764] ov13850 1-0036: Looking up dovdd-supply from device tree
[    1.731833] ov13850 1-0036: Looking up dvdd-supply from device tree
[    1.731996] ov13850 1-0036: GPIO lookup for consumer pwdn
[    1.732003] ov13850 1-0036: using device tree for GPIO lookup
[    1.732026] of_get_named_gpiod_flags: parsed 'pwdn-gpios' property of node '/i2c@ff110000/ov13850@36[0]' - status (0)
[    1.735621] ov13850 1-0036: Detected OV00d850 sensor, REVISION 0xb2
[    1.737368] ov13850 1-0046: driver version: 00.01.03
[    1.737818] ov13850 1-0046: GPIO lookup for consumer pwdn
[    1.737826] ov13850 1-0046: using device tree for GPIO lookup
[    1.737853] of_get_named_gpiod_flags: parsed 'pwdn-gpios' property of node '/i2c@ff110000/ov13850@46[0]' - status (0)
[    1.741267] ov13850 1-0046: Detected OV00d850 sensor, REVISION 0xb2
作者: zonda    时间: 2021-6-11 11:21
本帖最后由 zonda 于 2021-6-11 18:06 编辑
895816513 发表于 2021-6-10 17:22
你是不是改了什么东西,我使用的2个mipi摄像头是没有问题的。你或者下firefly发布的最新固件测试下

kern ...

我也没修改什么,用两块板子,下了最新固件也是一样得问题;用了你推的内核重新make firefly_linux_defconfig make rk3399-firefly.img -j12编译烧写后,问题也还是没解决;如果说是硬件问题,但安卓系统两个相机却能正常工作,就有点离谱;不过这两块板子得出厂日期比较新,不知道是不是跟之前得有什么小变化



作者: zonda    时间: 2021-6-25 11:33
就是pwdn没起到作用,iic的命令发到了两个相机,两个相机的参数都会被设成一致;1.改驱动; 2.另接iic; 3.换相机 ,三种方式都可以解决




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1