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.

DS90UB954-Q1: switching between two DS90UB953 serializers

Part Number: DS90UB954-Q1


We are connecting two DS90UB953 serializers with deserializer DS90UB954-Q1.

The use case required is that deserializer shall process input video streams only from one serializer at any point of time.

We are able to stream video through Rx Port 0. When trying to switch to stream video from Rx port 1, we are unable to stream video.

The registers used while switching are :

RX_PORT_CTL 0x0C
FPD3_PORT_SEL 0x4C
FWD_CTL1 Register 0x20

Is there any other register to be updated while switching video source?

  • Hello,
    What values are you writing to these registers? How are you setting FPD3_PORT_SEL to select RX port 1?
  • To stream from cam connected in RX port 0:
    FPD3_PORT_SEL => 0x01
    FWD_CTL1 Register => 0x20
    RX_PORT_CTL => 0x81
    CSI_VC_MAP => 0x00

    To stream from cam connected in RX port 1:
    FPD3_PORT_SEL => 0x12
    FWD_CTL1 Register => 0x10
    RX_PORT_CTL => 0x96
    CSI_VC_MAP => 0x01
  • Hello,
    I would recommend to disable the Rx port 0 forwarding in register 0x20 before disabling the Rx Port0 in register 0xC0.
    Similarly I would recommend the Rx Port1 is enabled before enabling the Forwarding for Rx Port 1.
    Also, It is not needed to reset the Virtual channel mapping each time.
    The CSI_VC_MAP is programmed per Rx port, so once it is set during initialization it should persist for each Rx port.
    If you are still having problems please ensure you have verified each Rx to CSI-2 output chain operational indepenently before switching back and forth.
    Kind Regards,