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.

DS90UB933-Q1: Serializer and Deserializer Configuration

Part Number: DS90UB933-Q1

1.We are using the setup Camera -> UB933 Serializer -> FPD Link -> UB954 Deserializer -> Jacinto 7 Board.  In the Imaging folder, we create the separate folder for new camera.  In the new camera folder, there is a header file for serializer and deserializer configuration.  Below is the iss_serdes_cameraname.h header file for UB933 serializer and UB954 deserializer configuration.  Please check and let me know if there is any mistake.

#ifndef _AR0233_SERDES_H_
#define _AR0233_SERDES_H_

/**
7-bit Alias addresses for sensor and serializer
Physical addresses must be programmed in UB96x config
SoC will communicate with the devices using alias adresses
*/

//#define _TEST_PATTERN_ENABLE_


#ifdef _TEST_PATTERN_ENABLE_
#define AR0233_SER_CFG_SIZE (37U)
#else
#define AR0233_SER_CFG_SIZE (6U)
#endif

#define AR0233_I2C_ADDR (0x10U)

I2cParams ub933SerCfg_AR0233[AR0233_SER_CFG_SIZE] = {
{0x1, 0x2, 1000},/////////////////////////////////////////Digital Reset 1 in RESET_CTL Register
{0xE, 0x99, 0x1},/////////////////////////////////////////Enable GPO 2 and GPO 3
{0xD, 0x99, 0x1},/////////////////////////////////////////Enable GPO 0 and GPO 1
{0x05,0x02,0x1},//////////////////////////////////////////Enable 12bit HF mode - Doubt
{0x29,0x00,0x1},///////////////////////////////////////////External oscillator mode
{0xFFFF, 0x00, 0x0} //End of script
};

#define AR0233_DES_CFG_SIZE (13U)
I2cParams ub954DesCfg_AR0233[AR0233_DES_CFG_SIZE] = {
{0x1, 0x2, 1000},
{0x4C, 0x01, 0x1},/////////////////////////////////////////////////////////FPD3_PORT_SEL Register Select Port 0
{0x0C,0x81,0x1}////////////////////////////////////////////////////////////Enable Port 0

{0x58, 0x58, 0x1},/////////////////////////////////////////////////////////BCC_CONFIG (Enable I2C Passthrough)

{0x5C, (SER_0_I2C_ALIAS << 1), 0x10},//////////////////////////////////////Serializer Alias ID
{0x5D, (SENSOR_0_I2C_ALIAS << 1), 0x10},///////////////////////////////////Slave ID
{0x65, (SENSOR_0_I2C_ALIAS << 1), 0x10},//////////////////////////////////////Slave Alias ID
{0x6D,0x7E,0x01},//////////////////////////////////////////////////////////////Coax mode and raw 12 bit mode select
{0x32, 0x21, 0x1},/////////////////////////////////////////////////////////CSI-2 Tx port select
{0x33, 0x03, 0x1},/////////////////////////////////////////////////////////CSI-2 Lane select

{0x21, 0x01, 0x1},/////////////////////////////////////////////////////////Enable round robin forwarding for CSI TX output port
{0x20, 0x20, 0x1},/////////////////////////////////////////////////////////Forwarding enabled for Rx port 0
{0xFFFF, 0x00, 0x0} //End of script
};

I2cParams ub954AR0233DesCSI2Enable[2u] = {
{0x33, 0x03, 0x10},
{0xFFFF, 0x00, 0x0} //End of script
};

I2cParams ub954AR0233DesCSI2Disable[2u] = {
{0x33, 0x00, 0x10},
{0xFFFF, 0x00, 0x0} //End of script
};

#endif /* _AR0233_SERDES_H_ */

  • Hello Muralidharan,

    question; are you not using the correct strap values on MODE pins, on both devices? If yes, then many of the above steps are not not required!

    If you provide the schematics, or at least how you configure MODE pins on both devices, I can check it for you!

  • Thanks for your reply.  

    What is strap values?  When should we use these strap values?  How to set these values in MODE pins?

    We are developing driver code for new camera.  In example driver code, UB953 serializer and UB960 deserializer is used.  But we use UB933 serializer and UB954 deserializer.  We referred Developer guide to add a new camera in existing driver code and reference design document ( https://www.ti.com/lit/ug/tidud51a/tidud51a.pdf?ts=1613111530777&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FTIDA-01130 ) for serializer and deserializer configuration.  Whether the sequence followed in this code is correct or we have to change anything?

  • I will review your code and come back to you by tomorrow.

    Regarding MODE pins and strap options, this is all discribed in the data sheet!

  • Hello,

    I have checked your script. It looks okay for me.

    Only on 954: reg 0x32 is reserved! please do not write.

    But, As I said yearlier, most of these settings should be done by hardware, i.e. configuring MODE pin on both devices correctly.