This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: i2c bus error on linux. detect more device than we have

Part Number: TDA4VM

We have one i2c bus on Linux side (A72, tda4, i2c0_main), everything we use the i2cdetect tool to probe devices, we got a different results.

Actually, there are only 4 devices connected. We use a signal scope to record and analysis the recorded signal, only 4 devices are detected.

Why the linux system tool device wrong devices? it is a hardware issue?

  • Hi,

    Is this a custom board?

    I am always getting same output on the TDA4VM Board on my side.

    root@j7-evm:~# i2cdetect -r -y 0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- 12 -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- 48 49 -- -- -- -- -- --
    50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --                         
    root@j7-evm:~# i2cdetect -r -y 0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- 12 -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- 48 49 -- -- -- -- -- --
    50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --                         
    root@j7-evm:~# i2cdetect -r -y 0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- 12 -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- 48 49 -- -- -- -- -- --
    50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --                         
    root@j7-evm:~# i2cdetect -r -y 0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- 12 -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- 48 49 -- -- -- -- -- --
    50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- -- 

    I Always see 0x12, 0x48, 0x49, 0x50, 0x51.

    Can you confirm the board version you have?

    Best Regards,
    Keerthy

  • Yes, it is a custom board. I think there are some hardware issues there, but I don't know where to start. what the possible causes?

  • You mention scope was used to capture the waveforms - can you provide?  What value of Pull-up resistors are you using?  What I2C rate are you configured?  Have you tried to slow data rate to see if anything changes?

  • it is a logic analyze plot. We think it is about a de-serializer. when we turn off all de-serializers, there are fewer "ghost“devices appear in the detection result.

  • The concern with logic analyzer is not able to see the signal edges and the actual transition times.  Do all of the 'ghost' devices disappear when de-serializer is removed?  The deserializer likely does have a 'back-channel' that communicates via I2C.  However - I not sure that would create extra devices visible on the bus.