Reading/Writing i2c (image sensor)

I am currently working on a system to stream and adjust camera sensors.
I am trying to read and write i2c (currently utilising i2cdetect, i2cget, etc).

From reading of the device tree files the deserialiser, serialiser and sensor are on the 318000 i2c bus (i2c@3180000; i2c-2 from i2cdetect -l).

From there I think it is going to address 0x70 (tca9546@70) but when I try and read I get a “Device or resource busy” error (i2cget -y 2 0x70 0x000d or i2cdump -y -r 0x0-0xf 2 0x70)

I am wondering if I am trying to read the i2c addresses incorrectly or if this ability even exists?
tested with camera streaming and not streaming

Sensor Device Tree (text format)
tegra194-camera-imx390-a00.txt (34.4 KB)

SerDes Device Tree (text format)
tegra194-p2822-0000-camera-imx390-a00.txt (7.2 KB)

As far as I can tell the system follows the framework guide:
Jetson_GMSL_Camera_Framework_Guide_nv.pdf (1.8 MB)

The “Device or resource busy” due to kernel driver was locked the resource.
I would suggest to implement debugfs to read/write the sensor REG, you can reference to ov5693 for the debugfs

In order to read/write to i2c registers each device will need additional debugfs code in its driver?

Yes, that’s right.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.