Jetson TX2 module I2C issues

Hi,

I’ve got a very unaccountable issue with I2C on the TX2 8GB module.
At some I2C bus, no responses.

  • Jetpack 4.5
  • newly bought product
  • custom BSP image with custom carrier board, failed
  • SDK Manager with developer kit, failed

Other modules work very well with same BSP and HW.

I attach kernel log as follows:

nvidia@nvidia-desktop:~$ dmesg | grep i2c
[ 0.432595] iommu: Adding device 3160000.i2c to group 3
[ 0.433091] iommu: Adding device c240000.i2c to group 4
[ 0.433452] iommu: Adding device 3180000.i2c to group 5
[ 0.433830] iommu: Adding device 3190000.i2c to group 6
[ 0.434256] iommu: Adding device 31b0000.i2c to group 7
[ 0.434598] iommu: Adding device 31c0000.i2c to group 8
[ 0.434949] iommu: Adding device c250000.i2c to group 9
[ 0.435308] iommu: Adding device 31e0000.i2c to group 10
[ 10.569130] tegra-i2c 31e0000.i2c: pio timed out addr: 0x77 tlen:28 rlen:4
[ 10.569147] tegra-i2c 31e0000.i2c: — register dump for debugging ----
[ 10.569158] tegra-i2c 31e0000.i2c: I2C_CNFG - 0x22c00
[ 10.569169] tegra-i2c 31e0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 10.569180] tegra-i2c 31e0000.i2c: I2C_FIFO_CONTROL - 0xe0
[ 10.569190] tegra-i2c 31e0000.i2c: I2C_FIFO_STATUS - 0x800040
[ 10.569200] tegra-i2c 31e0000.i2c: I2C_INT_MASK - 0x7d
[ 10.569210] tegra-i2c 31e0000.i2c: I2C_INT_STATUS - 0x0
[ 10.569221] tegra-i2c 31e0000.i2c: i2c transfer timed out addr: 0x77
[ 11.366142] i2c /dev entries driver
[ 11.409585] tegra-i2c 3160000.i2c: no acknowledge from address 0x42
[ 11.416399] tegra-i2c 3160000.i2c: no acknowledge from address 0x43
[ 11.428198] tegra-ivc ivc-b000000.rtcpu:i2c@480: i2c: ver=0 grp=1 RX[8x128]=0x1900-0x1d80 TX[8x128]=0x1d80-0x2200

and error logs for i2cdetect -r -y 8 command:

[ 459.077516] tegra-i2c 31e0000.i2c: pio timed out addr: 0x3 tlen:12 rlen:4
[ 459.084314] tegra-i2c 31e0000.i2c: — register dump for debugging ----
[ 459.090959] tegra-i2c 31e0000.i2c: I2C_CNFG - 0x22c00
[ 459.096032] tegra-i2c 31e0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 459.102664] tegra-i2c 31e0000.i2c: I2C_FIFO_CONTROL - 0xe0
[ 459.108172] tegra-i2c 31e0000.i2c: I2C_FIFO_STATUS - 0x800080
[ 459.113932] tegra-i2c 31e0000.i2c: I2C_INT_MASK - 0x7d
[ 459.119082] tegra-i2c 31e0000.i2c: I2C_INT_STATUS - 0x2
[ 459.124321] tegra-i2c 31e0000.i2c: i2c transfer timed out addr: 0x3
[ 469.317493] tegra-i2c 31e0000.i2c: pio timed out addr: 0x4 tlen:12 rlen:4
[ 469.324306] tegra-i2c 31e0000.i2c: — register dump for debugging ----
[ 469.331036] tegra-i2c 31e0000.i2c: I2C_CNFG - 0x22c00
[ 469.336117] tegra-i2c 31e0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 469.342757] tegra-i2c 31e0000.i2c: I2C_FIFO_CONTROL - 0xe0
[ 469.348255] tegra-i2c 31e0000.i2c: I2C_FIFO_STATUS - 0x800080
[ 469.354039] tegra-i2c 31e0000.i2c: I2C_INT_MASK - 0x7d
[ 469.359190] tegra-i2c 31e0000.i2c: I2C_INT_STATUS - 0x2
[ 469.364443] tegra-i2c 31e0000.i2c: i2c transfer timed out addr: 0x4
[ 479.557498] tegra-i2c 31e0000.i2c: pio timed out addr: 0x5 tlen:12 rlen:4
[ 479.564331] tegra-i2c 31e0000.i2c: — register dump for debugging ----
[ 479.571069] tegra-i2c 31e0000.i2c: I2C_CNFG - 0x22c00
[ 479.576170] tegra-i2c 31e0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 479.582843] tegra-i2c 31e0000.i2c: I2C_FIFO_CONTROL - 0xe0
[ 479.588376] tegra-i2c 31e0000.i2c: I2C_FIFO_STATUS - 0x800080
[ 479.594156] tegra-i2c 31e0000.i2c: I2C_INT_MASK - 0x7d
[ 479.599947] tegra-i2c 31e0000.i2c: I2C_INT_STATUS - 0x2
[ 479.606564] tegra-i2c 31e0000.i2c: i2c transfer timed out addr: 0x5

Would you let me know if this module should be RMA?
Thanks

hello MtHiker,

did you have device using i2c@31e0000?

        gen9_i2c: i2c@31e0000 {
                compatible = "nvidia,tegra186-i2c";
                reg = <0x0 0x31e0000 0x0 0x100>;
...

usually, the i2c transfer timed out failure due to the regulator settings.
please examine you’re providing power supply correctly;
you may also probe the pin to check the i2c device is really sending signaling but Tegra side cannot receive the data.

Hello Jerry,

We use hundreds of TX2 module with same HW + BSP image.
And all configurations are exactly same.
This I2C issue is only found at this module for the first time.

Thanks,

hello MtHiker,

I see, for the RMA process. you may arrange hardware resources to probe the pin to confirm it’s hardware issue.

Thanks Jerry,

I will test and share it.

Hi Jerry,

I’ll let you know what I did.

In short:

  • only this module out of 500 shows this

  • only I2C 8 has a trouble

  • measured I2C_GP3_CLK and I2C_GP3_DAT pins(yellow: SCL, green: SDA)

  1. when booting : both signals are at a low
  1. scan I2C 8 with i2cdetect command
  1. no changes, still at a low
  1. kernel log shows as follow:

Thanks,

Any updates please?

hello MtHiker,

it does look like a hardware issue, please go file RMA process.

Thanks @JerryChang

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