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: Continuous CSI clock without connected serializer

Part Number: DS90UB954-Q1

Hi,

for system purposes we need a continuous CSI clock even if no serializer is connected.

Setting the CSI_CONTS_CLOCK does not help, because "CSI-2 Tx outputs will provide a continuous clock output signal once first packet is received."

If we do not receive a packet, there will be no clock.

Is there a possibility to enable the CSI clock even if no packet is received? Maybe one of the undocumented "CSI TX Reserved Registers"?

Best regards

  • Hello Juergen,

    Setting register 0x38 = 0x07 should enable a CSI random test pattern. Also you need to set 0x33 = 0x03 to enable the transmitter. You can adjust the CSI speed in register 0x1F (before enabling the transmitter). 

    Let me know if it works. 

    Best Regards,

    Casey 

  • Hello Casey,

    yes, that registers works. But it is important to enable the transmitter first before setting this bit.

    Just for documentation which sequence worked for me:

    //1. disables CSI2 Forwarding.
    I2cWrite2(0x20, 0x30)

    //2. Configure CSI-2 Transmitter operating speed using the CSI_PLL_CTL register.
    //Default Frequency: 0x02 (800 Mbps), 0x03 (400 Mbps), 0x00 (1600 Mbps),
    I2cWrite2(0x1F, 0x02);


    //3. CSI-2 enable for Port 0
    //Enable the CSI-2 Transmitter for port 0 using the CSI_CTL register
    //CSI_CTL Port 0: (Address 0x33). Value 0x03: enable continous-clock and csi-output
    I2cWrite2(0x33, 0x03);

    //Enable random test pattern generator
    I2cWrite2(0x38, 0x07);

    //Disable random test pattern generator
    I2cWrite2(0x38, 0x00);

    After disabling the test pattern generator the CSI clock still keeps running.

    Btw: This has the same effect like activating the packet pattern generator.