The I2C@3190000 in orin jetpack6 cannot work

hi

We are using the I2C3 interface, the I2C@3190000 in our customer board and use the jetpack6.0. However, when we use the i2cdetect command, a large number of the following logs appear.

70: [   49.043472] tegra-i2c 3190000.i2c: I2C transfer timed out
[   49.146438] tegra-i2c 3190000.i2c: I2C transfer timed out
-- -- [   49.249393] tegra-i2c 3190000.i2c: I2C transfer timed out
-- [   49.352355] tegra-i2c 3190000.i2c: I2C transfer timed out
-- [   49.456397] tegra-i2c 3190000.i2c: I2C transfer timed out
-- [   49.559378] tegra-i2c 3190000.i2c: I2C transfer timed out
-- [   49.661218] tegra-i2c 3190000.i2c: I2C transfer timed out
[   49.764243] tegra-i2c 3190000.i2c: I2C transfer timed out

and cannot detect any device.

i already set the pinmix like this :

                cam_i2c_scl_pp2 {
                    nvidia,pins = "cam_i2c_scl_pp2";
                    nvidia,function = "i2c3";
                    nvidia,pull = <TEGRA_PIN_PULL_NONE>;
                    nvidia,tristate = <TEGRA_PIN_DISABLE>;
                    nvidia,enable-input = <TEGRA_PIN_ENABLE>;
                    nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
                    nvidia,lpdr = <TEGRA_PIN_DISABLE>;
                };

                cam_i2c_sda_pp3 {
                    nvidia,pins = "cam_i2c_sda_pp3";
                    nvidia,function = "i2c3";
                    nvidia,pull = <TEGRA_PIN_PULL_NONE>;
                    nvidia,tristate = <TEGRA_PIN_DISABLE>;
                    nvidia,enable-input = <TEGRA_PIN_ENABLE>;
                    nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
                    nvidia,lpdr = <TEGRA_PIN_DISABLE>;
                };

and we also use the i2c8 , it work well

so how can i fix it ?

and dump the CAM_I2C_SCL CAM_I2C_SDA pinmix register the result is that:

pudu@tegra-ubuntu:~$ sudo busybox devmem 0x2430010
0x00000460
pudu@tegra-ubuntu:~$ sudo busybox devmem 0x2430018
0x00001460

Hi,
If the device cannot be flashed/booted, please refer to the page to get uart log from the device:
Jetson/General debug - eLinux.org
And get logs of host PC and Jetson device for reference. If you are using custom board, you can compare uart log of developer kit and custom board to get more information.
Also please check FAQs:
Jetson AGX Orin FAQ
If possible, we would suggest follow quick start in developer guide to re-flash the system:
Quick Start — NVIDIA Jetson Linux Developer Guide 1 documentation
And see if the issue still persists on a clean-flashed system.
Thanks!

hi @carolyuu

we use the customer board. and this issue cannot fix by flash system。。

Could you probe the i2c signal to confirm the slave device ack for the broadcast command.

Thanks

Actually, I am using the i2cdetect command to detect devices, but it reports a lot of errors #1. However, I2C8 does not.

The cam_i2c_scl_pp2/cam_i2c_sda_pp3 is map to i2c2 instead of i2c3

i2c2 = "/bus@0/i2c@3180000"

Below is HW bus number start from 1 and software bus need to -1 because started from 0.

nvidia,function = "i2c3";

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