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.

AM67A: CSI0 has flicker on first open vc_id channel

Part Number: AM67A

Hi,

I am trying to root cause where flicker is coming from in only the first virtual channel of csi0.

I can open 4 channels at a time, and see no flicker on 3 of the channels. If I open only 2 channels, say vc_id 2/3, then vc_id 2 will have the flicker. Has someone seen this before?

This is sort of the opposite of the related issue I'm referencing above. Basically, the frame ends early instead of starting late.
I highlighted the difference in a red box. This happens about every 30 seconds, but sometimes more frequently.
We are using SDK 11 with the latest cdns_csi2rx patches.
am67a_csi0_shift.png

  • Hi Evan,

    Would you mind sharing the "media-ctl" output?

    Thank you.

    Jianzhong

  • Hi Jianzhong,

    Please find the output below:
    The flicker happens no matter what resolution I use, and I can open only one stream and it still has the issue.

    media-ctl -p
    Media controller API version 6.12.43
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.12.43
    
    Device topology
    - entity 1: 30102000.ticsi2rx (6 pads, 6 links, 4 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 2/0 [ACTIVE]
                    0/2 -> 3/0 [ACTIVE]
                    0/3 -> 4/0 [ACTIVE]
            pad0: SINK
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:1 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:2 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:3 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad2: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad3: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad4: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad5: SOURCE
                    -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
    
    - entity 8: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 4 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 1/1 [ACTIVE]
                    0/2 -> 1/2 [ACTIVE]
                    0/3 -> 1/3 [ACTIVE]
            pad0: SINK
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:1 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:2 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:3 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    <- "max96724 4-002e":0 [ENABLED,IMMUTABLE]
            pad1: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:1 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:2 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    [stream:3 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb ycbcr:601 quantization:full-range]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: SOURCE
            pad3: SOURCE
            pad4: SOURCE
    
    - entity 14: max96724 4-002e (5 pads, 5 links, 4 routes)
                 type V4L2 subdev subtype Unknown flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    1/0 -> 0/0 [ACTIVE]
                    2/0 -> 0/1 [ACTIVE]
                    3/0 -> 0/2 [ACTIVE]
                    4/0 -> 0/3 [ACTIVE]
            pad0: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    [stream:1 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    [stream:2 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    [stream:3 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
            pad1: SINK
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    <- "tevs 13-0039":0 [ENABLED,IMMUTABLE]
            pad2: SINK
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    <- "tevs 14-003a":0 [ENABLED,IMMUTABLE]
            pad3: SINK
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    <- "tevs 15-003b":0 [ENABLED,IMMUTABLE]
            pad4: SINK
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
                    <- "tevs 16-003c":0 [ENABLED,IMMUTABLE]
    
    - entity 22: tevs 13-0039 (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev3
            pad0: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080@1/60 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range
                     crop.bounds:(0,0)/1920x1080
                     crop:(0,0)/1920x1080]
                    -> "max96724 4-002e":1 [ENABLED,IMMUTABLE]
    
    - entity 26: tevs 14-003a (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev4
            pad0: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080@1/60 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range
                     crop.bounds:(0,0)/1920x1080
                     crop:(0,0)/1920x1080]
                    -> "max96724 4-002e":2 [ENABLED,IMMUTABLE]
    
    - entity 30: tevs 15-003b (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev5
            pad0: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080@1/60 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range
                     crop.bounds:(0,0)/1920x1080
                     crop:(0,0)/1920x1080]
                    -> "max96724 4-002e":3 [ENABLED,IMMUTABLE]
    
    - entity 34: tevs 16-003c (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev6
            pad0: SOURCE
                    [stream:0 fmt:UYVY8_1X16/1920x1080@1/60 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range
                     crop.bounds:(0,0)/1920x1080
                     crop:(0,0)/1920x1080]
                    -> "max96724 4-002e":4 [ENABLED,IMMUTABLE]
    
    - entity 40: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: SINK
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 46: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: SINK
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 52: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
            pad0: SINK
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 58: 30102000.ticsi2rx context 4 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: SINK
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    - entity 64: 30102000.ticsi2rx context 5 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: SINK
                    <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]
    


    Seems like if I keep my lane configuration set to only 2 lanes, then it prevents the issue. I might be able to tune the link rates to make this work for our application... It's not ideal though.

    I managed to find a combination of link rates using 2 data lanes that is sufficient for our application.