Camera pulling down SCL to 0

I’m having some trouble testing an I2C feature of a camera in the TX2 devkit board. First of all, I’ve connected an I2C simulator to the I2C_GP2_CLK/DAT ports, so that I can simulate the slave feature from a Win10 host PC. Setting up in the GUI of the I2C simulator a bitrate of 100kHz, a slave address of 0x70, and a response of 0x00000000 (random), when detecting i2c devices from the TX2 (<<i2cdetect -r -y 6>>), it correctly pings back at the corresponding address.

Nevertheless, when replacing the I2C simulator with a camera’s I2C channel, the camera is pulling down the SCL channel to 0. The camera’s I2C slave feature works correctly when testing it with the I2C simulator (now as master, and the camera as slave). Any idea why this may be happening? I thought it might be the lack of a pull-up resistor in the TX2 side, since the I2C simulator comes with pull up resistors already, but I’ve seen in the OEM Design Guide doc. that TX2 module comes with PU resistors for I2C channels.

Hi, there are PU on I2C_GP2 lines in module. It seems something wrong on camera side so that SCL is pulled to low.

Hi @Trumany

Which are the main reasons for this to happen? I’ve debugged the I2C code with the camera as slave and the host Win10 as master (with an USB-I2C adapter), and works correctly. Anyway, only when I connect to the I2C pins of the TX2, it pulls the lane low. The Win10 as slave and the TX2 as master is working correctly too…

Not sure why this happen. Did you check the datasheet/schematic of camera? Is there something special for camera setting?