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.

RTOS/TDA2P-ACD: RTOS I2C SCL Low Hold problem & I2C write config

Part Number: TDA2P-ACD
Other Parts Discussed in Thread: TVP5158

Tool/software: TI-RTOS

Hello.

I am using TDA2PX & onsemi camera sensor.

When RTOS first sensor I2C write command send Slave ID & SCL is becoming Low. (ACK is occurred)

In Linux using same board & sensor but SCL is continuously high.

And in RTOS I changed I2C write config to BSP_OSAL_WAIT_FOREVER --> BSP_OSAL_NO_WAIT.

After RTOS I2C write config change first I2C write command Slave ID SCL becoming Low but after first command SCL is becoming high.

I have a questions.

1. Why only in RTOS SCL hold to Low?

    What is diffrence is Linux/RTOS I2C control?

    - In Linux same board & sensor but SCL is high.

2. Why I2C write config changed to BSP_OSAL_NO_WAIT and SCL returned to high?

    What is difference in two config (BSP_OSAL_WAIT_FOREVER / BSP_OSAL_NO_WAIT) ?

< Linux I2C SDA/SCL : SCL is high >

< RTOS I2C SDA/SCL : SCL is become Low (ACK occurred) >

<RTOS I2C SDA/SCL : I2C write config change to BSP_OSAL_NO_WAIT and SCL is returned high after first I2C write command >


 

  • Hi,

    Is the sensor programming working fine with the RTOS?
    Which application are you using for the RTOS?
    If you are getting ACK as expected in RTOS why are you trying to change the timeout?

    Are you using the TI EVM or the Custom board?
    Where exactly the sensor is connected? on which port?

    Regards,
    Prasad

  • Hello, Prasad.

    I am using Iss sensor frame work and our camera sensor programming work fine.
    used VisionSDK application : Usecase RTOS Iss_capture_isp_simcop_display

    How can i change the timeout ?? Can you explain method ?

    I am using TDA2PX custom board.
    Our camera sensor is connected to MIPI-CSI2 4-Lane port.

    Thanks & regards.
  • Hello.

    I am resloved this problem.
    When RTOS booting time EVM I2C command is occurred and it is reflect to i2c problem.
    because our custom board not have that device.
    RTOS EVM I2C command send code is below, when I test with disable(BSP_BOARD_UNKNOWN) it is not appeared.

    Bsp_BoardId Bsp_boardGetId(void)
    {
    if (BSP_BOARD_MAX == gBoardCommonObj.boardId)
    {

    #if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_DRA75x)
    #if 0
    gBoardCommonObj.boardId = Bsp_boardGetIdTda2xx();
    #else
    gBoardCommonObj.boardId = BSP_BOARD_UNKNOWN;
    #endif
    #endif
    ......
    }

    [IPU1-0] 6.997132 s: BOARD: Board Init in progress !!!
    [IPU1-0] 6.997559 s: BOARD: Board Init Done !!!
    [IPU1-0] 7.011590 s: i2c inst-2 4 slave id 0x25 : i2c-5 CH 0x25 command (IO Expander)
    [IPU1-0] 7.016653 s: i2c inst-3 4 slave id 0x31 : i2c-5 CH 0x31 command (SII9127)
    [IPU1-0] 7.021686 s: i2c inst-5 4 slave id 0x58 : i2c-5 CH 0x58 command (TVP5158)
    [IPU1-0] 7.023028 s: i2c inst-6 0 slave id 0x51 : i2c-1 CH 0x51 command (EEPROM)
    [IPU1-0] 7.024370 s: i2c inst-7 0 slave id 0x50 : i2c-1 CH 0x50 command (EEPROM)
    [IPU1-0] 7.024431 s:
    [IPU1-0] 7.024492 s: Vision SDK Version : [DEV_VISION_SDK_03_06_00_09]
    [IPU1-0] 7.024553 s: FVID2 Version : [FVID_02_01_00_01]
    [IPU1-0] 7.024614 s: BSP Version : [PDK_01_10_02_xx]
    [IPU1-0] 7.024705 s: Platform : [EVM]
    [IPU1-0] 7.024766 s: SOC : [TDA2PX]
    [IPU1-0] 7.024827 s: SOC Revision : [ES1.0]
    [IPU1-0] 7.024888 s: Board Detected : [UNKNOWN]
    [IPU1-0] 7.024949 s: Base Board Revision : [REV A]
    [IPU1-0] 7.025010 s: Daughter Card Revision: [REV A]

    Thanks.