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.

TI954 for IMX390 20bit 2lanes setting

Dear

We have a system with Sony sensor IMX390 20bit output. The deserializer is Ti954 which will out 2lane MIPI(port0) with 2lane MIPI(replicated).

Whole data pass is : IMX390 20bit raw->TI953->TI954->2lane+2lane(replicated)output.

Can I get the register setting of Ti954 basing ? 

  • Hi FL Y,

    Refer to the following code, please double check and adjust to fit your application as needed:

    # Set up Port0
    board.WriteI2C(UB954, 0x4C, 0x01)

    # Set up Back Channel Config (0x58)
    board.WriteI2C(UB954,0x58,0x5E)

    # Set up SER ID
    #board.WriteI2C(UB954,0x5B,UB953ID)
    # Set up SER Alias ID
    board.WriteI2C(UB954,0x5C,UB953)
    # Set up Slave/Camera ID
    board.WriteI2C(UB954,0x5D,sensorID)
    # Set up Slave/Camera Alias ID
    board.WriteI2C(UB954,0x65,sensorAlias)

    #Set serializer CSI-2 data input from imager lane to 2 lane, 1.8V VDDIO
    board.WriteI2C(UB953,0x02, 0x0B)

    # Set GPIO2 and GPIO3 to outputs, where GPIO2 = RESET and GPIO3 = PWDN
    board.WriteI2C(UB953,0x0E,0xC0)
    # Set GPIO2 and GPIO3 to High - bring sensor out of power down mode
    board.WriteI2C(UB953,0x0D,0x0C)
    time.sleep(0.1)
    # Bring GPIO3 low to place sensor in reset
    board.WriteI2C(UB953,0x0D,0x08)
    time.sleep(1)
    # Bring GPIO3 high again to prepare sensor for initialization
    board.WriteI2C(UB953,0x0D,0x0C)

    ###IMAGER INITIALIZATION SCRIPT HERE###

    #enable CSI output and CSI continuous clock, 2lane
    board.WriteI2C(UB954, 0x33, 0x13)

    #enable CSI replicate mode
    board.WriteI2C(UB954, 0x21, 0x81)

    #enable RX 0 port forwarding to CSI ports
    board.WriteI2C(UB954, 0x20, 0x10)

    Best,
    Jiashow
  • Hi Jiashow

    Many thanks for your reply. It is valued to understand setting frame for TI954. I updata detail of our system for your reference. And modify the setting base on actual system. Pls help check.Thanks.

    Detail1: IMX390 output to TI953 is 4Lanes. So I change (UB953,0x02,0x33)

     Detail2:0x5B  reg can auto detect ID.So modify to (UB954,0x5B,0x00)

     Detail3:Used 2lane+2lane replicated ,so modify to (UB954,0x33,0x23)

    Detail4:Used Port0 as TI954 receivier so change to (UB954,0x20,0x20)

    Detail5:IMX390 only have reset- GPIO1,and FSYNC trigger-GPIO0. Then TI953 timing is changed.

    # Set up Port0
    board.WriteI2C(UB954, 0x4C, 0x01)
    # Set up Back Channel Config (0x58)
    board.WriteI2C(UB954,0x58,0x5E)
    # Set up SER ID
    #board.WriteI2C(UB954,0x5B,0x00)
    # Set up SER Alias ID
    board.WriteI2C(UB954,0x5C,UB953)
    # Set up Slave/Camera ID
    board.WriteI2C(UB954,0x5D,sensorID)
    # Set up Slave/Camera Alias ID
    board.WriteI2C(UB954,0x65,sensorID)
    #Set serializer CSI-2 data input from imager lane to 4 lane, 1.8V VDDIO
    board.WriteI2C(UB953,0x02, 0x33)
    # Set GPIO1 and GPIO0 to outputs, where GPIO0 = FSYNC trigger and GPIO1 = IMX390 reset
    board.WriteI2C(UB953,0x0E,0x30)
    # Set GPIO1 and GPIO0 to low - confirm snesor is power down mode
    board.WriteI2C(UB953,0x0D,0x00)
    time.sleep(0.1)
    # Bring GPIO1 high again to prepare sensor for initialization
    board.WriteI2C(UB953,0x0D,0x02)
    ###IMAGER INITIALIZATION SCRIPT HERE###
    #enable CSI output and CSI continuous clock, 2lane
    board.WriteI2C(UB954, 0x33, 0x23)
    #enable CSI replicate mode
    board.WriteI2C(UB954, 0x21, 0x81)
    #enable RX 0 port forwarding to CSI ports
    board.WriteI2C(UB954, 0x20, 0x20)
  • Hi FL Y,

    I would advise setting the SER ID to the actual ID just to be safe:

    #Set up SER ID

    #board.WriteI2C(UB954,0x5B,UB953)

    Other than that, the rest of the code looks good!

    Best,

    Jiashow