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.

DS90UB953A-Q1: DS90UB953A-Q1: [ti960][ti953] During stability test, serdes randomly encounter no mipi packet for ISP, OV sensor already checked 0x100 is streaming

Part Number: DS90UB953A-Q1

Tool/software:

When using ti960+ti953, connect sensor ov-xxx, during stability test, randomly encounter once whole ti960+ti953+sensor start, no mipi packed received from ISP, and sensor streaming register 0x100 =1(means streaming) serdes status register dumped as below; 

(and found difference between normal streaming and no frame

ti-2 rx_port 0, ti953 [0x53 0x9]  when no frame, normal this value is 0x00,

)

ti-2 rx_port 0, ti953 [0x52 0x45]
ti-2 rx_port 0, ti953 [0x53 0x9] 
ti-2 rx_port 0, ti953 [0x55 0x0]
ti-2 rx_port 0, ti953 [0x56 0x0]
ti-2 rx_port 0, ti953 [0x57 0x0]
ti-2 rx_port 0, ti953 [0x58 0x7]
ti-2 rx_port 0, ti953 [0x59 0x7]
ti-2 rx_port 0, ti953 [0x5a 0x7]
ti-2 rx_port 0, ti953 [0x5c 0xff]
ti-2 rx_port 0, ti953 [0x5d 0x0]
ti-2 rx_port 0, ti953 [0x5e 0x64]
ti-2 rx_port 0, ti953 [0x5f 0x0]
ti-2 rx_port 0, ti953 [0x60 0x0]
rx_port 0, ti953 csi payload [0x62 0x12]
rx_port 0, ti953 csi payload [0x63 0xd0]
rx_port 0, ti953 csi payload [0x65 0x7]
rx_port 0, ti953 csi payload [0x66 0xf]

ti-2 rx_port 0, ti960 [0x51 0x0]
ti-2 rx_port 0, ti960 [0x52 0x0]
ti-2 rx_port 0, ti960 [0x53 0x3]
ti-2 rx_port 0, ti960 [0x54 0x2]
ti-2 rx_port 0, ti960 [0x59 0x0]
ti-2 rx_port 0, ti960 [0x5a 0x0]
ti-2 rx_port 0, ti960 [0x5b 0x30]
ti-2 rx_port 0, ti960 [0x4d 0x13]
ti-2 rx_port 0, ti960 [0x4e 0x4]
ti-2 rx_port 0, ti960 [0x55 0x0]
ti-2 rx_port 0, ti960 [0x56 0x0]
ti-2 rx_port 0, ti960 [0x4f 0x64]
ti-2 rx_port 0, ti960 [0x50 0x0]
ti-2 rx_port 0, ti960 [0x73 0x0]
ti-2 rx_port 0, ti960 [0x74 0x0]
ti-2 rx_port 0, ti960 [0x75 0x0]
ti-2 rx_port 0, ti960 [0x76 0x0]
ti-2 rx_port 0, ti960 [0xe 0x1]

  • Hi Xuefei,

    Do you know what GPIOs are connected to the UB953 in this application? UB953 register 0x53 shows GPIO status, I'm not sure what is connected here in your application.

    Best,

    Thomas

  • Hi Xuefei,

    Additionally have you refreshed register 0x4D on the UB960? I can see the lock lost flag asserted in register 0x4D however I'm not sure if this is present due to a previous lock loss as lock and pass are both currently asserted.

    Best,

    Thomas

  • TI953 GPIO connection as below:

    one more question about ti953 register 0x53(gpio status)

    i have tried read back 0x53 just after i set ti953 register 0xd (local gpio data) as :

    0x0e = 0xf0, (enable gpio output directory)

    0x0d = 0x8, (enable GPIO3 high)

    to power on subdev sensor.

    But turn out 0x53 read back always 0, not as i expected, being 0x8,

    can you help explained relationship between 0x53 (gpio status) vs 0x0d (gpio data)

  • Hi Xuefei,

    These registers each configure different actions for the GPIOs of the UB953.

    0x53 shows GPIO status values if GPIOs are configured as inputs:

    0x0D allows a 0/1 to be written to the GPIO pin & enabling of remote control of the GPIO from the partner FPD-Link deserializer:

    0x0E provides output & input enable configuration for the serializer:

    If the GPIO is not set as an input, it's status will not appear in 0x53. One option if the GPIO is used as an output but it is still desired to read back the status in 0x53 is to set GPIO to input & output in 0x0D which will allow status to be read in 0x53.

    Best,

    Thomas

  • Hi Thomas, 

    i think 0x4d bit[4] shown 1 due to i dumped ti960 settings just found no mipi frame, and never read before during init ti960, 

    it describled in datasheet this bit is only cleared in read. so it shown value 1?

    so for 0x4d bit [1][0] = 0b11, it actual currently status, recevier is locked and passed.?

    besides, it there

    1. any register for UBti960 to check whether it success forward video stream to csi output?

    2. any register for UBti960 to decided whether drop frame when encounter mipi /csi error?

    3. any register for UBti953 to check whether it drop or forward video frame to fpd link?

    thanks for you quick responds!

    xuefei

  • Hi Thomas

    1.  I understand now, 0x53 still read ti953 four gpio status, but only for input ctrl, right?

    "

    One option if the GPIO is used as an output but it is still desired to read back the status in 0x53 is to set GPIO to input & output in 0x0D which will allow status to be read in 0x53.

    "

    do you means set GPIO_INPUT_CTRL (Address 0x0E) as 0xff, so it be output + input for four gpio.

    2 and when i encounter SOC don't received MIPI frame from ti960, (the original issue as title),

    dumped ti960 setttings always shown 0x53 = 0x9, but when i init ti960+ti953 , i always set 0x0e as 0xf0 (output), and 0x0d = 0x09

    this gpio input output revert, does it flagged some mode changed for ti960/ti953?

    thanks

    xuefei

  • Hi Xuefei,

    Let me review this follow up on your questions later this week after US holiday.

    Best,

    Thomas

  • Hi Xuefei,

    Going back to the sensor not streaming issue, it seems that there are errors flagged in 0x5C with 0x5E showing CSI control error on lane 1. 

    It doesn't appear that there is data received by the UB960 as indicated by the lack of line count and line length info populated in register 0x73 - 0x76. Do you know if there was some sensor streaming issue here? 

    Best,

    Thomas

  • Hi Thomas, 

    I have dumped all ti960 registers, pls help to verify whether MIPI packet has error , which indicate stop frame forward to csi-transmitor,

    or no video stream from FPD linker receiver?

    ti960_register_all_failed_cycle.txt
    Test cycle 877 started.
    ti-2 ti960 general register [0x0 0x7a]
    ti-2 ti960 general register [0x1 0x0]
    ti-2 ti960 general register [0x2 0x1e]
    ti-2 ti960 general register [0x3 0x40]
    ti-2 ti960 general register [0x4 0xd0]
    ti-2 ti960 general register [0x5 0x1]
    ti-2 ti960 general register [0x6 0x0]
    ti-2 ti960 general register [0x7 0xfe]
    ti-2 ti960 general register [0x8 0x1c]
    ti-2 ti960 general register [0x9 0x10]
    ti-2 ti960 general register [0xa 0x7a]
    ti-2 ti960 general register [0xb 0x7a]
    ti-2 ti960 general register [0xc 0xf]
    ti-2 ti960 general register [0xd 0x9]
    ti-2 ti960 general register [0xe 0x1]
    ti-2 ti960 general register [0xf 0xff]
    ti-2 ti960 general register [0x10 0x81]
    ti-2 ti960 general register [0x11 0x85]
    ti-2 ti960 general register [0x12 0x89]
    ti-2 ti960 general register [0x13 0x8d]
    ti-2 ti960 general register [0x14 0x0]
    ti-2 ti960 general register [0x15 0x0]
    ti-2 ti960 general register [0x16 0x0]
    ti-2 ti960 general register [0x17 0x0]
    ti-2 ti960 general register [0x18 0x0]
    ti-2 ti960 general register [0x19 0x0]
    ti-2 ti960 general register [0x1a 0x0]
    ti-2 ti960 general register [0x1b 0x0]
    ti-2 ti960 general register [0x1c 0x0]
    ti-2 ti960 general register [0x1d 0x0]
    ti-2 ti960 general register [0x1e 0x4]
    ti-2 ti960 general register [0x1f 0x0]
    ti-2 ti960 general register [0x20 0xf0]
    ti-2 ti960 general register [0x21 0x3]
    ti-2 ti960 general register [0x22 0x0]
    ti-2 ti960 general register [0x23 0x0]
    ti-2 ti960 general register [0x24 0x0]
    ti-2 ti960 general register [0x25 0x0]
    ti-2 ti960 general register [0x26 0x0]
    ti-2 ti960 general register [0x27 0x0]
    ti-2 ti960 general register [0x28 0x0]
    ti-2 ti960 general register [0x29 0x0]
    ti-2 ti960 general register [0x2a 0x0]
    ti-2 ti960 general register [0x2b 0x0]
    ti-2 ti960 general register [0x2c 0x0]
    ti-2 ti960 general register [0x2d 0x0]
    ti-2 ti960 general register [0x2e 0x0]
    ti-2 ti960 general register [0x2f 0x0]
    ti-2 ti960 general register [0x30 0x0]
    ti-2 ti960 general register [0x31 0x0]
    ti-2 ti960 general register [0x32 0x1]
    ti-2 ti960 Digital csi-2 [0x33 0x63]
    ti-2 ti960 Digital csi-2 [0x34 0x0]
    ti-2 ti960 Digital csi-2 [0x35 0x0]
    ti-2 ti960 Digital csi-2 [0x36 0x0]
    ti-2 ti960 Digital csi-2 [0x37 0x0]
    ti-2 ti960 Digital csi-2 [0x38 0x0]
    ti-2 ti960 Digital csi-2 [0x39 0x0]
    ti-2 ti960 Digital csi-2 [0x3a 0x0]
    TI953 0x40 detected
    ti-2 rx_port 0, ti960 Digital rx port [0x46 0x20]
    ti-2 rx_port 0, ti960 Digital rx port [0x47 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x48 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x49 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4b 0x12]
    ti-2 rx_port 0, ti960 Digital rx port [0x4c 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x4d 0x13]
    ti-2 rx_port 0, ti960 Digital rx port [0x4e 0xa]
    ti-2 rx_port 0, ti960 Digital rx port [0x4f 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x50 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x51 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x52 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x53 0x3]
    ti-2 rx_port 0, ti960 Digital rx port [0x54 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x55 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x56 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x57 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x58 0x5e]
    ti-2 rx_port 0, ti960 Digital rx port [0x59 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5b 0x30]
    ti-2 rx_port 0, ti960 Digital rx port [0x5c 0x80]
    ti-2 rx_port 0, ti960 Digital rx port [0x5d 0x6c]
    ti-2 rx_port 0, ti960 Digital rx port [0x5e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5f 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x60 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x61 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x62 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x63 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x64 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x65 0x60]
    ti-2 rx_port 0, ti960 Digital rx port [0x66 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x67 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x68 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x69 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6b 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6c 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6d 0x7c]
    ti-2 rx_port 0, ti960 Digital rx port [0x6e 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x6f 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x70 0x1e]
    ti-2 rx_port 0, ti960 Digital rx port [0x71 0x2c]
    ti-2 rx_port 0, ti960 Digital rx port [0x72 0xe4]
    ti-2 rx_port 0, ti960 Digital rx port [0x73 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x74 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x75 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x76 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x77 0xc5]
    ti-2 rx_port 0, ti960 Digital rx port [0x78 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x79 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x7a 0x2]
    ti-2 rx_port 0, ti960 Digital rx port [0x7b 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x7c 0x81]
    ti-2 rx_port 0, ti960 Digital rx port [0x7d 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7f 0x0]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf0 0x5f]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf1 0x55]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf2 0x42]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf3 0x39]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf4 0x36]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf5 0x30]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf8 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf9 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfa 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfb 0x0]
    ti 2 debug after set stream post
    ti-2  ti960 general register [0x0 0x7a]
    ti-2  ti960 general register [0x1 0x0]
    ti-2  ti960 general register [0x2 0x1e]
    ti-2  ti960 general register [0x3 0x40]
    ti-2  ti960 general register [0x4 0xd0]
    ti-2  ti960 general register [0x5 0x1]
    ti-2  ti960 general register [0x6 0x0]
    ti-2  ti960 general register [0x7 0xfe]
    ti-2  ti960 general register [0x8 0x1c]
    ti-2  ti960 general register [0x9 0x10]
    ti-2  ti960 general register [0xa 0x7a]
    ti-2  ti960 general register [0xb 0x7a]
    ti-2  ti960 general register [0xc 0xf]
    ti-2  ti960 general register [0xd 0x9]
    ti-2  ti960 general register [0xe 0x1]
    ti-2  ti960 general register [0xf 0xff]
    ti-2  ti960 general register [0x10 0x81]
    ti-2  ti960 general register [0x11 0x85]
    ti-2  ti960 general register [0x12 0x89]
    ti-2  ti960 general register [0x13 0x8d]
    ti-2  ti960 general register [0x14 0x0]
    ti-2  ti960 general register [0x15 0x0]
    ti-2  ti960 general register [0x16 0x0]
    ti-2  ti960 general register [0x17 0x0]
    ti-2  ti960 general register [0x18 0x0]
    ti-2  ti960 general register [0x19 0x0]
    ti-2  ti960 general register [0x1a 0x0]
    ti-2  ti960 general register [0x1b 0x0]
    ti-2  ti960 general register [0x1c 0x0]
    ti-2  ti960 general register [0x1d 0x0]
    ti-2  ti960 general register [0x1e 0x4]
    ti-2  ti960 general register [0x1f 0x0]
    ti-2  ti960 general register [0x20 0xe0]
    ti-2  ti960 general register [0x21 0x3]
    ti-2  ti960 general register [0x22 0x0]
    ti-2  ti960 general register [0x23 0x0]
    ti-2  ti960 general register [0x24 0x0]
    ti-2  ti960 general register [0x25 0x0]
    ti-2  ti960 general register [0x26 0x0]
    ti-2  ti960 general register [0x27 0x0]
    ti-2  ti960 general register [0x28 0x0]
    ti-2  ti960 general register [0x29 0x0]
    ti-2  ti960 general register [0x2a 0x0]
    ti-2  ti960 general register [0x2b 0x0]
    ti-2  ti960 general register [0x2c 0x0]
    ti-2  ti960 general register [0x2d 0x0]
    ti-2  ti960 general register [0x2e 0x0]
    ti-2  ti960 general register [0x2f 0x0]
    ti-2  ti960 general register [0x30 0x0]
    ti-2  ti960 general register [0x31 0x0]
    ti-2  ti960 general register [0x32 0x1]
    ti-2  ti960 Digital csi-2 [0x33 0x63]
    ti-2  ti960 Digital csi-2 [0x34 0x0]
    ti-2  ti960 Digital csi-2 [0x35 0x0]
    ti-2  ti960 Digital csi-2 [0x36 0x0]
    ti-2  ti960 Digital csi-2 [0x37 0x0]
    ti-2  ti960 Digital csi-2 [0x38 0x0]
    ti-2  ti960 Digital csi-2 [0x39 0x0]
    ti-2  ti960 Digital csi-2 [0x3a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x46 0x20]
    ti-2 rx_port 0, ti960 Digital rx port [0x47 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x48 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x49 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4b 0x12]
    ti-2 rx_port 0, ti960 Digital rx port [0x4c 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x4d 0x3]
    ti-2 rx_port 0, ti960 Digital rx port [0x4e 0x4]
    ti-2 rx_port 0, ti960 Digital rx port [0x4f 0x64]
    ti-2 rx_port 0, ti960 Digital rx port [0x50 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x51 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x52 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x53 0x3]
    ti-2 rx_port 0, ti960 Digital rx port [0x54 0x2]
    ti-2 rx_port 0, ti960 Digital rx port [0x55 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x56 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x57 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x58 0x5e]
    ti-2 rx_port 0, ti960 Digital rx port [0x59 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5b 0x30]
    ti-2 rx_port 0, ti960 Digital rx port [0x5c 0x80]
    ti-2 rx_port 0, ti960 Digital rx port [0x5d 0xc0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5f 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x60 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x61 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x62 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x63 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x64 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x65 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x66 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x67 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x68 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x69 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6b 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6c 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6d 0x7c]
    ti-2 rx_port 0, ti960 Digital rx port [0x6e 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x6f 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x70 0x1e]
    ti-2 rx_port 0, ti960 Digital rx port [0x71 0x2c]
    ti-2 rx_port 0, ti960 Digital rx port [0x72 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x73 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x74 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x75 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x76 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x77 0xc5]
    ti-2 rx_port 0, ti960 Digital rx port [0x78 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x79 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x7a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7b 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7c 0x81]
    ti-2 rx_port 0, ti960 Digital rx port [0x7d 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7f 0x0]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf0 0x5f]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf1 0x55]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf2 0x42]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf3 0x39]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf4 0x36]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf5 0x30]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf8 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf9 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfa 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfb 0x0]
    ti 2 debug after set stream post done
    No frame error report
    ti960_register_all_pass_cycle.txt
    Test cycle 876 started.
    ti-2  ti960 general register [0x0 0x7a]
    ti-2  ti960 general register [0x1 0x0]
    ti-2  ti960 general register [0x2 0x1e]
    ti-2  ti960 general register [0x3 0x40]
    ti-2  ti960 general register [0x4 0xd0]
    ti-2  ti960 general register [0x5 0x1]
    ti-2  ti960 general register [0x6 0x0]
    ti-2  ti960 general register [0x7 0xfe]
    ti-2  ti960 general register [0x8 0x1c]
    ti-2  ti960 general register [0x9 0x10]
    ti-2  ti960 general register [0xa 0x7a]
    ti-2  ti960 general register [0xb 0x7a]
    ti-2  ti960 general register [0xc 0xf]
    ti-2  ti960 general register [0xd 0x9]
    ti-2  ti960 general register [0xe 0x1]
    ti-2  ti960 general register [0xf 0xff]
    ti-2  ti960 general register [0x10 0x81]
    ti-2  ti960 general register [0x11 0x85]
    ti-2  ti960 general register [0x12 0x89]
    ti-2  ti960 general register [0x13 0x8d]
    ti-2  ti960 general register [0x14 0x0]
    ti-2  ti960 general register [0x15 0x0]
    ti-2  ti960 general register [0x16 0x0]
    ti-2  ti960 general register [0x17 0x0]
    ti-2  ti960 general register [0x18 0x0]
    ti-2  ti960 general register [0x19 0x0]
    ti-2  ti960 general register [0x1a 0x0]
    ti-2  ti960 general register [0x1b 0x0]
    ti-2  ti960 general register [0x1c 0x0]
    ti-2  ti960 general register [0x1d 0x0]
    ti-2  ti960 general register [0x1e 0x4]
    ti-2  ti960 general register [0x1f 0x0]
    ti-2  ti960 general register [0x20 0xf0]
    ti-2  ti960 general register [0x21 0x3]
    ti-2  ti960 general register [0x22 0x0]
    ti-2  ti960 general register [0x23 0x0]
    ti-2  ti960 general register [0x24 0x0]
    ti-2  ti960 general register [0x25 0x0]
    ti-2  ti960 general register [0x26 0x0]
    ti-2  ti960 general register [0x27 0x0]
    ti-2  ti960 general register [0x28 0x0]
    ti-2  ti960 general register [0x29 0x0]
    ti-2  ti960 general register [0x2a 0x0]
    ti-2  ti960 general register [0x2b 0x0]
    ti-2  ti960 general register [0x2c 0x0]
    ti-2  ti960 general register [0x2d 0x0]
    ti-2  ti960 general register [0x2e 0x0]
    ti-2  ti960 general register [0x2f 0x0]
    ti-2  ti960 general register [0x30 0x0]
    ti-2  ti960 general register [0x31 0x0]
    ti-2  ti960 general register [0x32 0x1]
    ti-2  ti960 Digital csi-2 [0x33 0x63]
    ti-2  ti960 Digital csi-2 [0x34 0x0]
    ti-2  ti960 Digital csi-2 [0x35 0x0]
    ti-2  ti960 Digital csi-2 [0x36 0x0]
    ti-2  ti960 Digital csi-2 [0x37 0x0]
    ti-2  ti960 Digital csi-2 [0x38 0x0]
    ti-2  ti960 Digital csi-2 [0x39 0x0]
    ti-2  ti960 Digital csi-2 [0x3a 0x0]
    TI953 0x40 detected
    ti-2 rx_port 0, ti960 Digital rx port [0x46 0x20]
    ti-2 rx_port 0, ti960 Digital rx port [0x47 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x48 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x49 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4b 0x12]
    ti-2 rx_port 0, ti960 Digital rx port [0x4c 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x4d 0x13]
    ti-2 rx_port 0, ti960 Digital rx port [0x4e 0x4]
    ti-2 rx_port 0, ti960 Digital rx port [0x4f 0x64]
    ti-2 rx_port 0, ti960 Digital rx port [0x50 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x51 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x52 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x53 0x3]
    ti-2 rx_port 0, ti960 Digital rx port [0x54 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x55 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x56 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x57 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x58 0x5e]
    ti-2 rx_port 0, ti960 Digital rx port [0x59 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5b 0x30]
    ti-2 rx_port 0, ti960 Digital rx port [0x5c 0x80]
    ti-2 rx_port 0, ti960 Digital rx port [0x5d 0x6c]
    ti-2 rx_port 0, ti960 Digital rx port [0x5e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5f 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x60 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x61 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x62 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x63 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x64 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x65 0x60]
    ti-2 rx_port 0, ti960 Digital rx port [0x66 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x67 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x68 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x69 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6b 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6c 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6d 0x7c]
    ti-2 rx_port 0, ti960 Digital rx port [0x6e 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x6f 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x70 0x1e]
    ti-2 rx_port 0, ti960 Digital rx port [0x71 0x2c]
    ti-2 rx_port 0, ti960 Digital rx port [0x72 0xe4]
    ti-2 rx_port 0, ti960 Digital rx port [0x73 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x74 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x75 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x76 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x77 0xc5]
    ti-2 rx_port 0, ti960 Digital rx port [0x78 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x79 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x7a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7b 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7c 0x81]
    ti-2 rx_port 0, ti960 Digital rx port [0x7d 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7f 0x0]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf0 0x5f]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf1 0x55]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf2 0x42]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf3 0x39]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf4 0x36]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf5 0x30]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf8 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf9 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfa 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfb 0x0]
    ti 2 set stream post
    ti-2  ti960 general register [0x0 0x7a]
    ti-2  ti960 general register [0x1 0x0]
    ti-2  ti960 general register [0x2 0x1e]
    ti-2  ti960 general register [0x3 0x40]
    ti-2  ti960 general register [0x4 0xd0]
    ti-2  ti960 general register [0x5 0x1]
    ti-2  ti960 general register [0x6 0x0]
    ti-2  ti960 general register [0x7 0xfe]
    ti-2  ti960 general register [0x8 0x1c]
    ti-2  ti960 general register [0x9 0x10]
    ti-2  ti960 general register [0xa 0x7a]
    ti-2  ti960 general register [0xb 0x7a]
    ti-2  ti960 general register [0xc 0xf]
    ti-2  ti960 general register [0xd 0x9]
    ti-2  ti960 general register [0xe 0x1]
    ti-2  ti960 general register [0xf 0xff]
    ti-2  ti960 general register [0x10 0x81]
    ti-2  ti960 general register [0x11 0x85]
    ti-2  ti960 general register [0x12 0x89]
    ti-2  ti960 general register [0x13 0x8d]
    ti-2  ti960 general register [0x14 0x0]
    ti-2  ti960 general register [0x15 0x0]
    ti-2  ti960 general register [0x16 0x0]
    ti-2  ti960 general register [0x17 0x0]
    ti-2  ti960 general register [0x18 0x0]
    ti-2  ti960 general register [0x19 0x0]
    ti-2  ti960 general register [0x1a 0x0]
    ti-2  ti960 general register [0x1b 0x0]
    ti-2  ti960 general register [0x1c 0x0]
    ti-2  ti960 general register [0x1d 0x0]
    ti-2  ti960 general register [0x1e 0x4]
    ti-2  ti960 general register [0x1f 0x0]
    ti-2  ti960 general register [0x20 0xe0]
    ti-2  ti960 general register [0x21 0x3]
    ti-2  ti960 general register [0x22 0x0]
    ti-2  ti960 general register [0x23 0x0]
    ti-2  ti960 general register [0x24 0x0]
    ti-2  ti960 general register [0x25 0x0]
    ti-2  ti960 general register [0x26 0x0]
    ti-2  ti960 general register [0x27 0x0]
    ti-2  ti960 general register [0x28 0x0]
    ti-2  ti960 general register [0x29 0x0]
    ti-2  ti960 general register [0x2a 0x0]
    ti-2  ti960 general register [0x2b 0x0]
    ti-2  ti960 general register [0x2c 0x0]
    ti-2  ti960 general register [0x2d 0x0]
    ti-2  ti960 general register [0x2e 0x0]
    ti-2  ti960 general register [0x2f 0x0]
    ti-2  ti960 general register [0x30 0x0]
    ti-2  ti960 general register [0x31 0x0]
    ti-2  ti960 general register [0x32 0x1]
    ti-2  ti960 Digital csi-2 [0x33 0x63]
    ti-2  ti960 Digital csi-2 [0x34 0x0]
    ti-2  ti960 Digital csi-2 [0x35 0x1]
    ti-2  ti960 Digital csi-2 [0x36 0x0]
    ti-2  ti960 Digital csi-2 [0x37 0x1]
    ti-2  ti960 Digital csi-2 [0x38 0x0]
    ti-2  ti960 Digital csi-2 [0x39 0x0]
    ti-2  ti960 Digital csi-2 [0x3a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x46 0x20]
    ti-2 rx_port 0, ti960 Digital rx port [0x47 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x48 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x49 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x4b 0x12]
    ti-2 rx_port 0, ti960 Digital rx port [0x4c 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x4d 0x3]
    ti-2 rx_port 0, ti960 Digital rx port [0x4e 0x4]
    ti-2 rx_port 0, ti960 Digital rx port [0x4f 0x64]
    ti-2 rx_port 0, ti960 Digital rx port [0x50 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x51 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x52 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x53 0x3]
    ti-2 rx_port 0, ti960 Digital rx port [0x54 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x55 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x56 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x57 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x58 0x5e]
    ti-2 rx_port 0, ti960 Digital rx port [0x59 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5b 0x30]
    ti-2 rx_port 0, ti960 Digital rx port [0x5c 0x80]
    ti-2 rx_port 0, ti960 Digital rx port [0x5d 0xc0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x5f 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x60 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x61 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x62 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x63 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x64 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x65 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x66 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x67 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x68 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x69 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6b 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6c 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x6d 0x7c]
    ti-2 rx_port 0, ti960 Digital rx port [0x6e 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x6f 0x88]
    ti-2 rx_port 0, ti960 Digital rx port [0x70 0x1e]
    ti-2 rx_port 0, ti960 Digital rx port [0x71 0x2c]
    ti-2 rx_port 0, ti960 Digital rx port [0x72 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x73 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x74 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x75 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x76 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x77 0xc5]
    ti-2 rx_port 0, ti960 Digital rx port [0x78 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x79 0x1]
    ti-2 rx_port 0, ti960 Digital rx port [0x7a 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7b 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7c 0x81]
    ti-2 rx_port 0, ti960 Digital rx port [0x7d 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7e 0x0]
    ti-2 rx_port 0, ti960 Digital rx port [0x7f 0x0]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf0 0x5f]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf1 0x55]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf2 0x42]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf3 0x39]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf4 0x36]
    ti-2 rx_port 0, ti960 FPD3 rx id [0xf5 0x30]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf8 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xf9 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfa 0x0]
    ti-2 rx_port 0, ti960 Port i2c addressing [0xfb 0x0]
    ti 2 debug after set stream post done
    Test cycle 876 passed.

    Besides, for "Do you know if there was some sensor streaming issue here?"

    I will also check all register for sensor and ti953.

    Thanks,

    xuefei

  • Hi Xuefei,

    Is the serializer on RX port 0? In both sets of register dumps I don't see the line count / line length.

    In the failing case there is a single ECC2 error flagged, and CSI port pass no longer asserted. Sensor_status_3 also shows a dphy sync error.

    Overall the results here also seem to show that there is some CSI error at the serializer CSI receiver. If there's anything we can check on the sensor that would be great.

    Best,

    Thomas

  • thx Thomas, for your quick response.

    Currently, we just reduce ti953 i2c speed from fast plus(1mhz) to i2c fast (400khz), serdes+sensor no frame issue won't reproduced, can you give some hint about this changes?

    test 1 (no frame):
    ti953 fast plus(1mhz), sensor start+stream on register wrte (read back checked pass), then encounter issue describled as above

    test 2 (normal streaming ):

    ti953 fast (400 khz), sensor start+stream on register wrte (read back checked pass), serdes+sensor streaming fine.

     

  • Hi Xuefei,

    Could you confirm if the sensor is compatible with fast mode plus for I2C? From SER/DES side we should be able to use both I2C rates, the previous investigation seemed to indicate that there were phy level errors at the serializer and no line length / count data at the deserializer further suggesting a sensor startup issue.

    Best,

    Thomas

  • Hi Thomas

    I have confirmed about this sensor's SCCB speed is up to 1Mhz.

    when i set

    SOC -- DES, i2c bus configured speed fast-plus, 1Mhz. 

    SER configured i2c fast-plus mode , SCL_HIGH 0x6, SCL_LOW 0xb

    and do following are tests abour SER/DES i2c rate:

    1. Only connect ti960 to soc, i2c analyzer captured i2c signal operating at 1Mhz

    2. Connect both ti960+ti953+sensor, analyzer capture i2c signal operating at 100KHZ 

    Could you please give some hints about this behavior, and does this impacted sensor registers config? which final impact sensor streaming.

  • Hi Thomas, 

    Any comment about this i2c behavior?

  • Hi Xuefei,

    Two things here:

    1. Could you confirm that the sensor supports clock stretching?
    2. Could you confirm if register 0x0A is set during UB953 config to match datasheet request? Believe this should be set to 0x12.

    Best,

    Thomas

  • Hi Thomas, 

    1. yes, we have confirmed this sensor supports clock stretching, both from data sheet desctibled "SCCB speed: Up to 1Mhz " and from i2c signal analyzer measured as below.

    a. Ti953 standard, ti960 fast-plus

    SCL 1Mhz,

    SCL clock stretch 107us 

     

    b. Ti953 fast , ti960 fast-plus

    SCL 1Mhz,  (data payload seems 800+ Khz)

    SCL clock stretch 29.435 us

      

     c. Ti953 fast-plus , ti960 fast-plus, no serdes_i2c_debug

    SCL 1Mhz,  (data payload 1Mhz)

    SCL clock stretch 14.125  us

     

    2. As for register I2C_CONTROL2 (Address 0x0A) of UB953 config, it currently has value 0x10. But when i  change it to 0x12 it still

    encounter issue, that  ti960 local i2c measured occuring 100Khz even we set it to be 1Mhz

    (details describled in question

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1395637/ds90ub953a-q1-ds90ub953a-q1-ti960-ti953-i2c-scl-signal-measured-shown-100khz-when-local-slave-proxy-ti960-i2c-set-fast-plus-mode-1mhz-remote-mast-proxy-ti953-i2c-set-fast-plus-mode-1mhz).

     

  • And for no frame issue, 

    Now only ti960 local i2c at 100Khz, ti953 remote i2c at 400Khz won't reproduced.

    Ti960 local i2c speed 

    Ti953 remote i2c speed

    Random no frame issue

    Fast-plus

    Fast-plus

    yes

    Fast-plus

    Fast

    yes

    standard

    Fast

    no

  • Hi Xuefei,

    Thanks for the detail. I will take a look here tomorrow.

    Best,

    Thomas

  • sure, thanks for quick response!

    Add more details about 

    Ti960 local i2c speed 

    Ti953 remote i2c speed

    Random no frame issue

    Fast-plus

    Fast-plus

    yes

    I have dumped all registers of ti953/ti960 "after streaming "and "when encounter no frame issue".

    some different value of registers need your comment:

    Ti953:

    A1. register 0x5e/0x5f, shown noframe shown 4 lanes all occurring " Multi-bit Error in SYNC Sequence - Uncorrectable.", does this means ti953 couldn't recover this csi payload error, then directly send through

    PFD linke forward channel to ti960.

    A2. all other registers of ti953 have same value.

    Ti960:

    B1.  CSI_TX_ISR Register (Address 0x37), no frame shown CSI-2 Pass interrupt not detected.

    Does it means CSI_transmitter of TI960 dropped this frame ?

    or it just means currently during frame blanking time (not at sensor read out time slot)?

    B2. csi port 0 frame cnt, frame err cnt, line cnt, difference

    no frame shown csi port 0:

    B2.1   Already count 2926 frames, but none of these frames with error. (if it actually means already transmit 2926 frames through csi-tx port of ti960 to host processor csi-rx port, why csi-rx of host processor shown no frame about 60 seconds.)

    B2.2 Already count 0xffff csi lines which excess maxinum limit.

    B3. RX_PORT_STS2 Register (Address 0x4E), no frame shown "Line Length Changed" and "Packet buffer error detected".

    Does these means for the ti960, it's rx_port 2 received packet frame line changed, and it's packet fifo overflow, so received packet couldn't success decode to csi payload ?

    B4. rx_port line cnt, line length, csi_rx status

    B4.1 No frame shown line cnt is 1288, line length is 2880, which is not expected,

    (sensor read out configure frame line length 1920,  frame line count 1280)

    B4.2 "2-bit ECC Error detected for received CSI-2 packet" which matched ti953 csi status.

    B5. AEC related , not quite understands;

    So above all, could you please help to confirm whether these difference register value of ti960/ti953 means frame actually send from sensor through ti953 to ti960, but since it contained csi-payload error, ti960 dropped all frames.

  • Hi Thomas, 

    Any comments about this no frame issue?

    Best regards

    xuefei

  • Hi Xuefei,

    Comments included below:

    • A1: These registers are part of why we believe a start-up error on the image sensor has occurred. CSI Data is not properly received by the serializer UB953
    • B1: Appears there could have been some change in the CSI PASS causing this register to not be asserted. Registers 0x35 and 0x36 would be important to look at here.
    • B2: Is customer sending data 
    • B3: 0x4C is port select, 0x4D is only lock on a different port, 0x4E shows a difference. Line count change, length change, and CSI errors are observed. These could be from sensor startup issue
      • note 0x4D still shows lock high here as well
    • B4: Line length / count not matching + CSI errors

    It seems that there may be some data sent by the UB960, however it could be only frame start  / frame end incrementing the frame count and not registering on SOC. Overall info still points to likely CSI error on the sensor.

    Best,

    Thomas

  • Hi Thomas,

    Appreciate all the comments you provided, that help a lot!

    A1. we have captured CSI data through Oscilloscope (sensor frame should be 1920x1080 resolution),

    Figure1, frame streaming success

    FIgure 2. No frame captured from SoC

    And i have checked following register values when no frame happened:

    ti953:

    1. reg 0x61 = 0x1e, reg 0x61 = 0x0, reg 0x62 = 0xf, reg 0x63 = 0x14, which are CSI-2 Short Packet registers, so i suppose ti953 recevied csi data as

    Figure 1 shown.

    And i have one more question: except these registers, any register of ti953 i need to check for successly received csi packet?

    ti960:

    1. reg 0x72 = 0, reg 0x73 =0, reg 0x74 = 2, reg 0x75 = 0xb, reg 0x76  = 0x11, which are csi registers related rx-port 0(input), so i suppose ti960 still 

    2. received csi data from FPD link forward channel, but it's wrong data (line count only being 2, line length 2833) .

    from reg 0x90  to reg 0x9f, all value being 0, which are csi-tx registers of ti960, so ti960 csi transmitter won't send any csi data as Figure 2 shown.

    3. reg 0x7c = 0x81, (Raw10 8-bit mode + 1 : FrameValid is low for the duration of the video frame), reg 0x7d = 0, which are registers related frame drop.

    please comment whether it's true that, these two registers value shown we configure ti960 don't drop any csi data even if encounter errors (parity error, frame size change, pass is not indicated), 

    So above all, does this "no frame " issue due to some setting of SERDES i haven't mentioned about?

  • Hi Thomas, 

    Any comments about this new measured CSI data signal ?

    Best regards

    xuefei

  • Hi Xuefei,

    Thanks for the summary here. Regarding your questions, CSI errors would be flagged in registers 0x5C - 0x60, with CSI packet data indicated in register 0x61 - 0x64. Register 0x7C = 0x81, 0x7D = 0x00, Raw10 mode field should not need to be configured as we're working with a CSI-2 serializer, this can be left at 0 for bits[7:6], Frame valid polarity, my understanding is that the paired serializer here is UB953 so again 0x7C[0[ should not apply. If pass discard is not set in register 0x7D, and the fields for discard on line size and discard on frame size are not set, the UB960 should forward video data with errors.

    Could you help with the below questions?

    • It seems that the line count and line length is incorrect here as you mentioned, do you know if this issue occurs every cycle? If not, how often does it occur?
    • I'd like to consider the startup flow of the image sensor, do you know what occurs during imager startup and where that occurs during the startup sequence of the UB953?
    • When the UB953 is in an abnormal state have you tried to remotely reset the serializer to check if the issue is still present?

    Best,

    Thomas

  • Hi Thomas

    Thanks for quick support!

    first of all, this no frame issue occurring on two sensor type we used, one is a row sensor, which need start-stop for about 1000 cycles to reproduce(each cycle

    just streaming 10 frames.), another is a YUV sensor, which reproduce just need two cycles.

    For above csi data signal meansurement, i'm talking about the YUV sensor, so:

    • CSI data line count and line length issue always show after issue happened.
    • For this YUV sensor start up, it don't need any sensor settings through i2c access, just need a GPIO reset by ti953.    As for Ti953 start up, it need following start up steps:
    1. ti960 map ser alias addr
    2. ti960 lock check 
    3. reset ctrl ti953
    4. sleep 5ms
    5. init ti953 : {reg 0x03, 0x10},  {reg 0x06, 0x41}, {reg 0x07, 0x28},
    6. SCL_high/low, configured fast-plus
    7. Reset sensor through reg 0xD LOCAL_GPIO_DATA
    8. then Configure TI953 csi 4lane , continue CLK, CRC generate enabled, I2C strap mode

    • When the UB953 is in an abnormal state have you tried to remotely reset the serializer to check if the issue is still present?

                yes:

    1. After reset ti953 digital reset, 0x1 = 0x2, still won't work
    2. After reset ti960 digital reset, 0x1 = 0x20, ==>0x1=0x2, still won't work
    3. Only work if we power down-- power up TI960, or Reset ti960 through GPIO

    Please help to give some hints whether we can do test about this issue, and whether we can recover by set some registers of ti960/ti953

  • Hi Xuefei,

    Thanks for all this info, will look through later this evening and provide feedback on these points.

    Best,

    Thomas

  • Hi Xuefei,

    Thanks for providing this extra background here. For the sensor where a stop - start is completed, is the serializer active throughout this time? Here based on experience from the past a soft reset may help. 

    When the reset of the serializer has been completed, have you re-checked the line count / line length issue at the deserializer? Is this still incorrect?

    Best,

    Thomas