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: QNX710 + vision_apps : I2C timeout issue

Part Number: TDA4VM


Hi TI members:

I have one customer board with TDA4VM SOC.

Recently we try the qnx710 with vision_apps on our customer board.

Our customer board camera design as below:

TDA4VM <== CSI1 ==> deserializer UB962(SA: 0x34) <== FPD-Link3 ==> Camera AR0820 with UB953

We find every time we try to control camera device on I2C bus through vision_apps,

The I2C SCL will be pulled low after TDA4 send SA data, like below picture:

  • I also try to modify vision_apps code, let function read the other device's register value which on the same I2C bus first,
    but it also caused the SCL pull low issue.
  • The vision_apps code already be confirmed on linux+RTOS mode first, the I2C read/wirte part is OK.
  • I also directly use "isendrecv" tool to access the UB962, it can read successfully.

Do you have any idea for this situation? 

BR

Sentinen Chen

  • Hi TI members:

    Add a information,

    The version of vision_apps I try is PSDKRA_07_02.

    BR

    Sentinen Chen

  • Hi Sentinen,

    Apologies for delay response.  Some questions to start:

    • Which I2C Bus is in use?
    • Is I2C bus being controlled by R5 driver or A72 driver? I2C bus should not be controlled in both locations.

    Quick, thoughts / suggestions:

    • Dump the pin configuration for the working setup, and compare to non-working setup
    • Ensure that the A72 I2C driver is not running (or better yet, not started), when testing R5 driver.

    Thanks,

    kb

  • Hi KB:

    Please see my reply:

    • Which I2C Bus is in use?
      ==> use the main_i2c0
    • Is I2C bus being controlled by R5 driver or A72 driver?
      ==> As I know,
             QNX710 default will setup main_i2c0 and main_i2c1 by command
                    i2c-omap35xx -p0x2000000 -i232 -d
                    i2c-omap35xx -p0x2010000 -i233 -d --u1
             This part is run on A72.
             And Vision_apps control i2c on main R5.
             I will try to disable A72 part first.

    BR

    Sentinen Chen

  • Hi KB:

    Update the latest status to you.

    After I disable the qnx's i2c init command which run on A72, 

    then I can access i2c bus successfully through vision_apps on R5F.

    BR

    Sentinen Chen

  • Hi KB:

    Update the latest status to you.

    After I disable the qnx's i2c init command which run on A72, 

    then I can access i2c bus successfully through vision_apps on R5F.

    But I am not understand why I don't need to disable i2c bus init when I test on PSDKRA_07_00 + qnx700 early?

    I compare the j721e-evm-ti-emmc.build file in qnx700, 

    It also have the two i2c init command.

                  i2c-omap35xx -p0x2000000 -i232 -d
                  i2c-omap35xx -p0x2010000 -i233 -d --u1

    BR

    Sentinen Chen

  • Hi Sentinen,

    The command line parameters for the i2c-omap35xx, can be seen in the source code of the BSP.  The -p specifies the base address for the I2C driver to use, while the -i specifies the interrupt number.   I2C module addresses can be seen in the TRM.

    • 0x20000000 - I2C0_CFG
    • 0x20100000 - I2C1_CFG

    The build file being referenced above, is starting two instances of the I2C driver, one for /dev/i2c0 and one for /dev/i2c1

    If the I2C drivers for the same bus instance are active on both the R5 and A72 at the same time, then a conflict can occur.

    Regards,

    kb

  • Hi KB:

    Thanks your reply.

    I just confuse if the i2c drivers for the same bus are better not active on both the R5 and A72 at the same time,

    then why TI didn't default disable this part in .build file? 

    When TI EVM board run qnx710+vision_apps, does it not encounter the conflict issue?

    BR

    Sentinen Chen

  • Hi Sentinen,

    TI has not seen an I2C conflict, when running the vision apps demonstrations on SDK7.1 or SDK 7.2 on TI EVMs.

    The build file provided as part of the Processor SDK QNX is expected to be modified as needed by the customer.  If the I2C0 / I2C1 on the A72 is not required, then it can be removed from the build file.

    Regards,

    kb

  • Hi KB:

    OK, I will removed then form the build file first. 

    Thanks your reply!!!

    BR

    Sentinen Chen

  • Thanks Sentinen, I will close this thread.

    Regards,

    kb