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.

TDA2P-ABZ: Link status is not stable

Part Number: TDA2P-ABZ

Tool/software:


Hi,

we are trying to bring up our new imager of resolution 1764x1400 yuv422 8bpp with serializer 935 and deserializer 960 & soc tda2px.
interfacing through ipu2 core.
with the initial configuration we see link is up, but immediately it losses the lock. Here is our configuration,
can you please review this configuration and let us know the any extra configuration needs to be done

{0x01, 0x01}, // Digital reset
{0x1F, 0x05}, // csi_tx speed (1.2 GHz) & ref_clk_mode (pll , clk-100 MHz)

{0x4C, 0x01}, // Port Select P0
{0x58, 0x5E}, // Back chn enb 2.5 Mbps, Back chn crc gen, I2c pass through all // 50 Mbps

// {0x58, 0x58}, // Back chn enb 2.5 Mbps, Back chn crc gen, I2c pass through all


{0x5C, ((uint8)(lvdsSensorInterfaceInfo.serializerI2cAddr[0] << 1U))}, // serializer alias add

//{0x5C, 0x30},

{0x5D, (BOARD_OVT_X3N_I2C_ADDR << 1U)},
{0x65, ((uint8)(lvdsSensorInterfaceInfo.sensorI2cAddr[0] << 1U))},

{0x5E, (BOARD_OVT_X3N_I2C_ADDR << 1U)}, //sensor adde
{0x66, ((uint8)(lvdsSensorInterfaceInfo.sensorBroadcastAddr << 1U))}, // brdcast addre

{0x7C, 0x40}, // port cfg
{0x6e, 0x99}, // BC_GPIO_1 & BC_GPIO_0
{0x70, 0x1E}, // vcid & data format YUV (10 bit)

{0x6D, 0xBC}, // port cfg

{0xB0, 0x1C},
{0xB1, 0x13},
{0xB2, 0x1F},

{0xBC, 0x00},

{0x32, 0x01},
{0x33, 0x01}, // csi lane count 4 , lane speed if to 800 then 0x11
{0x20, 0x00}, // csi related
{0x21, 0x81}, // csi related

//Cam Lock pin
{0x10, 0x81}, // port 0 - lock status - GPIO - 0
{0x17, 0x85}, // port 1 - lock status - GPIO - 7
{0x16, 0x89}, // port 2 - lock status - GPIO - 6
{0x13, 0x8D} // port 3 - lock status - GPIO - 3

------------------------

Serializer

UB935ConfigRegisters

{0x03, 0x55},

{0x02, 0x71},

{0x06, 0x23},

{0x39, 0x18},

{0x41, (lvdsSensorInterfaceInfo.serializerI2cAddr[0] << 1)},


{0x3A, ( BOARD_OVT_X3N_I2C_ADDR << 1)},

{0x42, (lvdsSensorInterfaceInfo.sensorI2cAddr[0] << 1)},


{0x0D, 0xAA},
{0x0E, 0xA5},
{0x32, 0xE8},

#if 1
/* Changing the default I2C clock rate to 100 KHz */
/* Default 0x82 = 74 kbits/sec
0x64 = 100 kbps
0x32 = 400 kbps */
{0x0B, 0X32}, /* SCL High period */
{0x0C, 0x32}
#endif

  • Hello, 

    It does not look like the IVA-HD Video CODEC is being used in any part of your dataflow. Therefore I will look to redirect your question to more domain relevant expert. In the meanwhile could you provide your dataflow to help understand the complete picture.

    Thanks,
    Sarabesh S.  

  • Hello,

    Can you clarify what you mean by lose lock? Are you talking about lock between the serializer and deserializer? Or are you talking about lock between the deserializer output CSI and the TDA?

    How are you determining that lock is lost? Is this an error being reported by one of the devices in the system?

  • Hi Darrah,

    The lock I am referring to the Serializer Deserializer lock. We are trying to read the deserializer register 0x4d is showing 0x0.

    Also we are not able to write to the serializer.

    Without writing any configuration also on bootup when we read this 0x4d we see the value as 0x0.  

  • Hello,

    In that case this is likely a hardware issue. The 935 and 960 will automatically lock after power up if the mode straps are correct on the mode pin. Additional configuration is not needed just for lock.

    Can you check what the mode strap of both the serializer and deserializer are? The mode strap is set by the voltage on the mode pin after power up. Both devices should be strapped to either synchronous CSI mode or asynchronous CSI mode.

    Can you also verify that the cable connection is secure on both the serializer and deserializer?

  • Hi Darrah,

    I want to add one point here , with same ECU and harness other cameras are working (with serializer 933  and sensors 143/147/x1d), here we changed the camera alone (serializer 935 and X3n Sensor)

    Regards,

    Remesh

  • Hello,

    The 935 is a CSI serializer and the 933 is a parallel serializer. These two serializers require different mode straps and configurations. If only the camera/serializer was changed, then this explains why there is no lock. The mode strap of the 954 must be changed to align with the new serializer. Please update the 954 mode strap to either synchronous CSI or asynchronous CSI. It would also be beneficial to check the mode strap on the 935 to verify it has been set correctly as well.

  • Hi Darrah,

    Thanks for response. Yes we see that the modes of 935 serializer and 960-deserailizer are different.

    In our camera module the serializer strap is configured to csi mode and the deserializer on host side is configured as 12 bit raw HF.
    To avoid this mismatch we were tried following

    - Select port 0 [ register 0x4C with 0x01 ]
    - configure the deserializer to csi mode [ register 0x6D with 0x00 ]
    - Digital reset serializer [ register 0x01 with 0x01 ]

    Even after this we are not able to get the lock and not able to access the serializer. Is this correct way of doing.
    From serializer-935 datasheet register 0x03 bit[4] shows an option to overwrite the strap value. But similarly in deserialer-960 we didn't find any such bit.
    Can you please tell us know anything still missing here.

  • Hi Darrah,

    By following the above steps now it is working, the problem is with our camera state machine logic. Thanks

  • Hello,

    Since the issue is resolved, I will close this thread. Please create a new thread for any additional questions.