RK3588配置5路MIPI视频采集,应用层无法正确通过设备节点控制对应I2C设备

固件类型:自行编译的固件
SDK包名称:rk3588_linux_release_20240105_v1.3.0b
SDK修改内容:Linux version 5.10.160 (root@ubuntu) (kernel commit id: 97d74149d789) (sdk version: rk3588_linux_release_20240105_v1.3.0b) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 2.36.1.20210621) #90 SMP Sat Apr 20 13:13:53 CST 2024
Log日志:RK3588 多路MIPI视频采集问题描述.zip

1)内核启动过程,都能正常进入5个模块probe函数,通过不同的I2C配置5个LT9211

2)启动过程中,每个模块中发生get_fmt等操作,只能操作到i2c7,其他4个,也还是操作到了I2C7上;

系统启动启动后,若5路MIPI输入全部开启,使用v4l2-ctl抓图,操作任意video节点,因在s_stream阶段需要通过I2C配置LT9211使能MIPI TXEN,通过示波器观测,发现都只操作了I2C7连接的LT9211芯片,未能正确的配置到设备树连接的其他四路I2C。且只有video0能够正确抓图(video0连的是的I2C7上的LT9211)。

若只开启任意一路,其他四路全部disabled,则没有问题,且抓图正常。

(具体见附件)
tchip_askquestions
RK3588 多路MIPI视频采集问题描述.zip (233 KB)

应该是驱动不支持多个i2c设备,可以看下驱动申请的对象是不是全局变量,如果是全局变量的话,只有最后一个申请的设备有效

luwy 发表于 2024-4-29 09:14
应该是驱动不支持多个i2c设备,可以看下驱动申请的对象是不是全局变量,如果是全局变量的话,只有最后一个 …

i2c_clinet 这个是放在外面的