TDA4VM: SK-TDA4VM CSI connectted to maxim deserializer

Part Number: TDA4VM

Tool/software:

Hi, camera expert:

    We are using SK-TDA4VM which csi port connectted to maxim96712 deserializer.        SK-TDA4VM + maxim96712(deserializer) + maxim96717F(serializer).

    I had changed the register config of ds90ub960 and ds90ub953 to that of maxim96712 and maxim96717F.

    Untill now,  SK-TDA4VM I2C can control  maxim96712(deserializer) and maxim96717F(serializer).  From maxim96712 register, I can see maxim96712 is working well and data can be sent to mipi lane. But I can not get frame from SK-TDA4VM /dev/video.

    Can you help? 

Thanks a lot.

  • Hi, 

        How to read SK-TDA4 registers.  I had tried command "devmem2 0x04504060" to read reg 0x04504060, but failed.  I want to check CSI_RX registers to see if there are some clues for the problem.

    Thanks

  • Hi, 

        I followed the FAQ, and csi is OK,  video device can be found in /dev directory:

    root@tda4vm-sk:~# dmesg | grep csi
    [    7.596265] cdns-csi2rx 4504000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
    

    root@tda4vm-sk:~# ls /dev/video*
    /dev/video-imx390-cam0  /dev/video0  /dev/video1  /dev/video10  /dev/video11  /dev/video12  /dev/video13  /dev/video14  /dev/video15  /dev/video16  /dev/video17  /dev/video2  /dev/video3  /dev/video4  /dev/video5  /dev/video6  /dev/video7  /dev/video8  /dev/video9
    

    But I can not get frame using "yavta -c -Fcapture -s 1920x1080 -f UYVY /dev/video3"

  • And because I my max96712 code is derived from ds90ub960,  media pipeline seams OK, too. Media pad topology is the same as ds90ub960 which I had brought up successfully.

  • Max96712 had been initialized well,  From the refister of 96712 deserlizer, I can confirm data is outputting to TDA4 via 4 mipi lane.

    I had read out TDA4 register 0x04504060,  value is 0x10000000, which means WAIT_FOR_PACKET.  

    I had tried to change link-frequencies in file k3-j721e-sk-fusion.dtso, from 800000000 to 1000000000.  And I still can not get a frame.

    How to do next?  This is a very emergent problem for us.

    I'm very grateful for your help.

  • root@tda4vm-sk:/opt/edgeai-gst-apps# media-ctl -p
    Media controller API version 6.1.80
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:4500000.ticsi2rx
    hw revision     0x1
    driver version  6.1.80
    
    Device topology
    - entity 1: 4500000.ticsi2rx (17 pads, 17 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 2/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    <- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    -> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    -> "4500000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "4500000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "4500000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad5: Source
                    -> "4500000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad6: Source
                    -> "4500000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
            pad7: Source
                    -> "4500000.ticsi2rx context 6":0 [ENABLED,IMMUTABLE]
            pad8: Source
                    -> "4500000.ticsi2rx context 7":0 [ENABLED,IMMUTABLE]
            pad9: Source
                    -> "4500000.ticsi2rx context 8":0 [ENABLED,IMMUTABLE]
            pad10: Source
                    -> "4500000.ticsi2rx context 9":0 [ENABLED,IMMUTABLE]
            pad11: Source
                    -> "4500000.ticsi2rx context 10":0 [ENABLED,IMMUTABLE]
            pad12: Source
                    -> "4500000.ticsi2rx context 11":0 [ENABLED,IMMUTABLE]
            pad13: Source
                    -> "4500000.ticsi2rx context 12":0 [ENABLED,IMMUTABLE]
            pad14: Source
                    -> "4500000.ticsi2rx context 13":0 [ENABLED,IMMUTABLE]
            pad15: Source
                    -> "4500000.ticsi2rx context 14":0 [ENABLED,IMMUTABLE]
            pad16: Source
                    -> "4500000.ticsi2rx context 15":0 [ENABLED,IMMUTABLE]
    
    - entity 19: cdns_csi2rx.4504000.csi-bridge (5 pads, 2 links, 1 route)
                 type V4L2 subdev subtype Unknown flags 0
                 device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none]
                    <- "ds90ub960 6-0029":4 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none]
                    -> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 25: ds90ub960 6-0029 (6 pads, 2 links, 1 route)
                 type V4L2 subdev subtype Unknown flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    0/0 -> 4/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none]
                    <- "ds90ub953 6-0040":1 [ENABLED,IMMUTABLE]
            pad1: Sink
            pad2: Sink
            pad3: Sink
            pad4: Source
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none]
                    -> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE]
            pad5: Source
    
    - entity 34: ds90ub953 6-0040 (2 pads, 2 links, 1 route)
                 type V4L2 subdev subtype Unknown flags 0
                 device node name /dev/v4l-subdev3
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none]
                    <- "imx390 10-001a":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:UYVY8_2X8/1920x1080 field:none]
                    -> "ds90ub960 6-0029":0 [ENABLED,IMMUTABLE]
    
    - entity 39: imx390 10-001a (1 pad, 1 link, 2 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev4
            routes:
                    0/0 -> 0/0 [ACTIVE]
                    0/0 -> 0/1 [INACTIVE]
            pad0: Source
                    [stream:0 fmt:UYVY8_2X8/1920x1080@1/30 field:none colorspace:smpte170m]
                    -> "ds90ub953 6-0040":0 [ENABLED,IMMUTABLE]
    
    - entity 45: 4500000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: Sink
                    <- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 51: 4500000.ticsi2rx context 1 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 57: 4500000.ticsi2rx context 2 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
            pad0: Sink
                    <- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 63: 4500000.ticsi2rx context 3 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: Sink
                    <- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    - entity 69: 4500000.ticsi2rx context 4 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: Sink
                    <- "4500000.ticsi2rx":5 [ENABLED,IMMUTABLE]
    
    - entity 75: 4500000.ticsi2rx context 5 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
            pad0: Sink
                    <- "4500000.ticsi2rx":6 [ENABLED,IMMUTABLE]
    
    - entity 81: 4500000.ticsi2rx context 6 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
            pad0: Sink
                    <- "4500000.ticsi2rx":7 [ENABLED,IMMUTABLE]
    
    - entity 87: 4500000.ticsi2rx context 7 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video9
            pad0: Sink
                    <- "4500000.ticsi2rx":8 [ENABLED,IMMUTABLE]
    
    - entity 93: 4500000.ticsi2rx context 8 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video10
            pad0: Sink
                    <- "4500000.ticsi2rx":9 [ENABLED,IMMUTABLE]
    
    - entity 99: 4500000.ticsi2rx context 9 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video11
            pad0: Sink
                    <- "4500000.ticsi2rx":10 [ENABLED,IMMUTABLE]
    
    - entity 105: 4500000.ticsi2rx context 10 (1 pad, 1 link, 0 route)
                  type Node subtype V4L flags 0
                  device node name /dev/video12
            pad0: Sink
                    <- "4500000.ticsi2rx":11 [ENABLED,IMMUTABLE]
    
    - entity 111: 4500000.ticsi2rx context 11 (1 pad, 1 link, 0 route)
                  type Node subtype V4L flags 0
                  device node name /dev/video13
            pad0: Sink
                    <- "4500000.ticsi2rx":12 [ENABLED,IMMUTABLE]
    
    - entity 117: 4500000.ticsi2rx context 12 (1 pad, 1 link, 0 route)
                  type Node subtype V4L flags 0
                  device node name /dev/video14
            pad0: Sink
                    <- "4500000.ticsi2rx":13 [ENABLED,IMMUTABLE]
    
    - entity 123: 4500000.ticsi2rx context 13 (1 pad, 1 link, 0 route)
                  type Node subtype V4L flags 0
                  device node name /dev/video15
            pad0: Sink
                    <- "4500000.ticsi2rx":14 [ENABLED,IMMUTABLE]
    
    - entity 129: 4500000.ticsi2rx context 14 (1 pad, 1 link, 0 route)
                  type Node subtype V4L flags 0
                  device node name /dev/video16
            pad0: Sink
                    <- "4500000.ticsi2rx":15 [ENABLED,IMMUTABLE]
    
    - entity 135: 4500000.ticsi2rx context 15 (1 pad, 1 link, 0 route)
                  type Node subtype V4L flags 0
                  device node name /dev/video17
            pad0: Sink
                    <- "4500000.ticsi2rx":16 [ENABLED,IMMUTABLE]
    

  • Hi,  Expert

        I have checked again and again, and I confirm data is outputing to SK-TDA4VM CSI.  Can you help me config TDA4 by register to let me receive a frame?

    Thanks.

  • Hi,

    Try running either of the following and share the output:

    yavta -c -Fcapture -s 1920x1080 -f UYVY /dev/video-imx390-cam0

    or

    v4l2-ctl --verbose -d /dev/video-imx390-cam0 --set-fmt-video=width=1920,height=1080,pixelformat='UYVY' --stream-mmap=10 --stream-count=20

    Thank you,

    Fabiana

  • Hi,  Fabiana,  pls help as soon as possible.

    Please help as soon as possible.

    Thanks