SK-TDA4VM: Video Capturing Tc358743

Part Number: SK-TDA4VM

Tool/software:

Hey,

I would like to capture videos from the tc358743 connected to csi2. The driver is loaded and I get following media-ctl topology:

Media controller API version 6.6.32 

Media device information
------------------------
driver          j721e-csi2rx
model           TI-CSI2RX
serial           
bus info        platform:4500000.ticsi2rx
hw revision     0x1
driver version  6.6.32

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 -> 1/0 [ACTIVE]
       pad0: Sink
               [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
               <- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE]
       pad1: Source
               [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
               -> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
       pad2: Source
               -> "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_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
               <- "tc358743 6-000f":0 [ENABLED,IMMUTABLE]
       pad1: Source
               [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
               -> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE]
       pad2: Source
       pad3: Source
       pad4: Source

- entity 25: tc358743 6-000f (1 pad, 1 link, 0 routes)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev2
       pad0: Source
               [stream:0 fmt:RGB888_1X24/640x480 field:none colorspace:srgb]
               [dv.caps:BT.656/1120 min:640x350@13000000 max:1920x1200@165000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
               [dv.query:no-link]
               [dv.current:BT.656/1120 640x480p59 (800x525) stds:CEA-861,DMT flags:has-cea861-vic]
               -> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE]

- entity 31: 4500000.ticsi2rx context 0 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video2
       pad0: Sink
               <- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE]

- entity 37: 4500000.ticsi2rx context 1 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video3
       pad0: Sink
               <- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE]

- entity 43: 4500000.ticsi2rx context 2 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video4
       pad0: Sink
               <- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE]

- entity 49: 4500000.ticsi2rx context 3 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video5
       pad0: Sink
               <- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE]

- entity 55: 4500000.ticsi2rx context 4 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video6
       pad0: Sink
               <- "4500000.ticsi2rx":5 [ENABLED,IMMUTABLE]

- entity 61: 4500000.ticsi2rx context 5 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video7
       pad0: Sink
               <- "4500000.ticsi2rx":6 [ENABLED,IMMUTABLE]

- entity 67: 4500000.ticsi2rx context 6 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video8
       pad0: Sink
               <- "4500000.ticsi2rx":7 [ENABLED,IMMUTABLE]

- entity 73: 4500000.ticsi2rx context 7 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video9
       pad0: Sink
               <- "4500000.ticsi2rx":8 [ENABLED,IMMUTABLE]

- entity 79: 4500000.ticsi2rx context 8 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video10
       pad0: Sink
               <- "4500000.ticsi2rx":9 [ENABLED,IMMUTABLE]

- entity 85: 4500000.ticsi2rx context 9 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video11
       pad0: Sink
               <- "4500000.ticsi2rx":10 [ENABLED,IMMUTABLE]

- entity 91: 4500000.ticsi2rx context 10 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video12
       pad0: Sink
               <- "4500000.ticsi2rx":11 [ENABLED,IMMUTABLE]

- entity 97: 4500000.ticsi2rx context 11 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video13
       pad0: Sink
               <- "4500000.ticsi2rx":12 [ENABLED,IMMUTABLE]

- entity 103: 4500000.ticsi2rx context 12 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video14
       pad0: Sink
               <- "4500000.ticsi2rx":13 [ENABLED,IMMUTABLE]

- entity 109: 4500000.ticsi2rx context 13 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video15
       pad0: Sink
               <- "4500000.ticsi2rx":14 [ENABLED,IMMUTABLE]

- entity 115: 4500000.ticsi2rx context 14 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video16
       pad0: Sink
               <- "4500000.ticsi2rx":15 [ENABLED,IMMUTABLE]

- entity 121: 4500000.ticsi2rx context 15 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video17
       pad0: Sink
               <- "4500000.ticsi2rx":16 [ENABLED,IMMUTABLE]

My Devicetree overlay:

// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
 * DT Overlay for dual RPi Camera V2.1 (Sony IMX219) interfaced with CSI2
 * on J721E SK, AM68 SK or AM69-SK board.
 * datasheets.raspberrypi.org/.../camera-v2-schematic.pdf
 *
 * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include "k3-pinctrl.h"

&{/} {
    clk_tc358743_fixed: tc358743-xclk {
        compatible = "fixed-clock";
        #clock-cells = <0>;
        clock-frequency = <27000000>;
    };
};

&csi_mux {
    idle-state = <1>;
};

/* CAM0 I2C */
&cam0_i2c {
    #address-cells = <1>;
    #size-cells = <0>;
    tc358743: tc358743-0@f {
        compatible = "toshiba,tc358743";
        reg = <0x0f>;

        clocks = <&clk_tc358743_fixed>;
        clock-names = "refclk";

        port {
            csi2_cam0: endpoint {
                remote-endpoint = <&csi2rx0_in_sensor>;
                link-frequencies = /bits/ 64 <297000000>;
                clock-lanes = <0>;
                data-lanes = <1 2>;
            };
        };
    };
};

&cdns_csi2rx0 {
    ports {
        #address-cells = <1>;
        #size-cells = <0>;

        csi0_port0: port@0 {
            reg = <0>;
            status = "okay";

            csi2rx0_in_sensor: endpoint {
                remote-endpoint = <&csi2_cam0>;
                bus-type = <4>; /* CSI2 DPHY. */
                clock-lanes = <0>;
                data-lanes = <1 2>;
            };
        };

            csi0_port1: port@1 {
            reg = <1>;
            status = "disabled";
        };

        csi0_port2: port@2 {
            reg = <2>;
            status = "disabled";
        };

        csi0_port3: port@3 {
            reg = <3>;
            status = "disabled";
        };

        csi0_port4: port@4 {
            reg = <4>;
            status = "disabled";
        };
    };
};

&dphy0 {
    status = "okay";
};

&ti_csi2rx0 {
    status = "okay";
};

Have anybody an idea how to capture the video?

Regards,

Tom

  • Hi Tom,

    The format of "tc358743 6-000f" is different from the format of "cdns_csi2rx.4504000.csi-bridge" and "4500000.ticsi2rx". This format mismatch prevents the image capture from running correctly. Follow the FAQ linked below as a guide to reconfigure the three entities to match formats.

    FAQ: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1403218/faq-what-are-the-common-reasons-v4l2-based-applications-fail-to-capture-images-from-a-probed-csi-sensor

    To capture video, v4l2-ctl, yavta capture or GStreamer could be used. The FAQ linked below provides GStreamer pipelines for the sensors that are currently supported out of box. If your sensor requires ISP tuning, there are links at the bottom of the FAQ for you to explore. If there is no ISP tuning required, you can use the OV5640 or USB camera pipelines as a reference. I also recommend adding your sensor to /opt/edgeai-gst-apps/scripts/setup_cameras.sh.

    GStreamer FAQ: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427869/faq-sk-am69-how-to-stream-from-csi-sensor-to-display-using-gstreamer

    Please let me know if you have any follow up questions.

    Thank you,

    Fabiana

  • Thanks for your response,

    I changed the formats, but I don't understand why there are 16 ticsi2rx contexts. Which one should I capture?

    Media controller API version 6.6.32

    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial           
    bus info        platform:4500000.ticsi2rx
    hw revision     0x1
    driver version  6.6.32

    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 -> 1/0 [ACTIVE]
           pad0: Sink
                   [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                   <- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE]
           pad1: Source
                   [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                   -> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
           pad2: Source
                   -> "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_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                   <- "tc358743 6-000f":0 [ENABLED,IMMUTABLE]
           pad1: Source
                   [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                   -> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE]
           pad2: Source
           pad3: Source
           pad4: Source

    - entity 25: tc358743 6-000f (1 pad, 1 link, 0 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev2
           pad0: Source
                   [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:smpte170m]
                   [dv.caps:BT.656/1120 min:640x350@13000000 max:1920x1200@165000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
                   [dv.query:no-link]
                   [dv.current:BT.656/1120 640x480p59 (800x525) stds:CEA-861,DMT flags:has-cea861-vic]
                   -> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE]

    - entity 31: 4500000.ticsi2rx context 0 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video2
           pad0: Sink
                   <- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE]

    - entity 37: 4500000.ticsi2rx context 1 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video3
           pad0: Sink
                   <- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE]

    - entity 43: 4500000.ticsi2rx context 2 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video4
           pad0: Sink
                   <- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE]

    - entity 49: 4500000.ticsi2rx context 3 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video5
           pad0: Sink
                   <- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE]

    - entity 55: 4500000.ticsi2rx context 4 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video6
           pad0: Sink
                   <- "4500000.ticsi2rx":5 [ENABLED,IMMUTABLE]

    - entity 61: 4500000.ticsi2rx context 5 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video7
           pad0: Sink
                   <- "4500000.ticsi2rx":6 [ENABLED,IMMUTABLE]

    - entity 67: 4500000.ticsi2rx context 6 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video8
           pad0: Sink
                   <- "4500000.ticsi2rx":7 [ENABLED,IMMUTABLE]

    - entity 73: 4500000.ticsi2rx context 7 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video9
           pad0: Sink
                   <- "4500000.ticsi2rx":8 [ENABLED,IMMUTABLE]

    - entity 79: 4500000.ticsi2rx context 8 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video10
           pad0: Sink
                   <- "4500000.ticsi2rx":9 [ENABLED,IMMUTABLE]

    - entity 85: 4500000.ticsi2rx context 9 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video11
           pad0: Sink
                   <- "4500000.ticsi2rx":10 [ENABLED,IMMUTABLE]

    - entity 91: 4500000.ticsi2rx context 10 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video12
           pad0: Sink
                   <- "4500000.ticsi2rx":11 [ENABLED,IMMUTABLE]

    - entity 97: 4500000.ticsi2rx context 11 (1 pad, 1 link)
                type Node subtype V4L flags 0
                device node name /dev/video13
           pad0: Sink
                   <- "4500000.ticsi2rx":12 [ENABLED,IMMUTABLE]

    - entity 103: 4500000.ticsi2rx context 12 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video14
           pad0: Sink
                   <- "4500000.ticsi2rx":13 [ENABLED,IMMUTABLE]

    - entity 109: 4500000.ticsi2rx context 13 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video15
           pad0: Sink
                   <- "4500000.ticsi2rx":14 [ENABLED,IMMUTABLE]

    - entity 115: 4500000.ticsi2rx context 14 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video16
           pad0: Sink
                   <- "4500000.ticsi2rx":15 [ENABLED,IMMUTABLE]

    - entity 121: 4500000.ticsi2rx context 15 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video17
           pad0: Sink
                   <- "4500000.ticsi2rx":16 [ENABLED,IMMUTABLE]

    How does the TI CSI2RX Wrapper and the Cadence CSI2RX work?

    When I capture video2 with yavta, I get this:

    yavta -c -Fcapture -s 640x480 -f UYVY /dev/video2
    Device /dev/video2 opened.
    Device `j721e-csi2rx' on `platform:4500000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
    Video format set: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
    Video format: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
    8 buffers requested.
    length: 614400 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 mapped at address 0xffffb76aa000.
    length: 614400 offset: 614400 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffffb7614000.
    length: 614400 offset: 1228800 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffffb757e000.
    length: 614400 offset: 1843200 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffffb74e8000.
    length: 614400 offset: 2457600 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffffb7452000.
    length: 614400 offset: 3072000 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffffb73bc000.
    length: 614400 offset: 3686400 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffffb7326000.
    length: 614400 offset: 4300800 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffffb7290000.
    Unable to start streaming: No such file or directory (2).
    8 buffers released.

    Thanks,

    Tom

  • Hi Tom,

    Please see the following FAQ: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1401436/faq-how-do-i-find-the-right-video-device-node-for-my-csi-2-sensor

    Could you share the output for v4l2-ctl- --list-formats-ext -d /dev/video2 to validate that this is a supported format?

    Thank you,

    Fabiana

  • $ v4l2-ctl --list-formats-ext -d /dev/video2
    ioctl: VIDIOC_ENUM_FMT
           Type: Video Capture

           [0]: 'YUYV' (YUYV 4:2:2)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [1]: 'UYVY' (UYVY 4:2:2)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [2]: 'YVYU' (YVYU 4:2:2)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [3]: 'VYUY' (VYUY 4:2:2)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [4]: 'BA81' (8-bit Bayer BGBG/GRGR)
                   Size: Stepwise 16x1 - 16384x16384 with step 16/1
           [5]: 'GBRG' (8-bit Bayer GBGB/RGRG)
                   Size: Stepwise 16x1 - 16384x16384 with step 16/1
           [6]: 'GRBG' (8-bit Bayer GRGR/BGBG)
                   Size: Stepwise 16x1 - 16384x16384 with step 16/1
           [7]: 'RGGB' (8-bit Bayer RGRG/GBGB)
                   Size: Stepwise 16x1 - 16384x16384 with step 16/1
           [8]: 'GREY' (8-bit Greyscale)
                   Size: Stepwise 16x1 - 16384x16384 with step 16/1
           [9]: 'BG10' (10-bit Bayer BGBG/GRGR)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [10]: 'GB10' (10-bit Bayer GBGB/RGRG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [11]: 'BA10' (10-bit Bayer GRGR/BGBG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [12]: 'RG10' (10-bit Bayer RGRG/GBGB)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [13]: 'RGI0' (10-bit Bayer RGBG/GIrGIr)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [14]: 'GRI0' (10-bit Bayer GRGB/IrGIrG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [15]: 'BGI0' (10-bit Bayer BGRG/GIrGIr)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [16]: 'GBI0' (10-bit Bayer GBGR/IrGIrG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [17]: 'GIR0' (10-bit Bayer GIrGIr/RGBG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [18]: 'IGR0' (10-bit Bayer IrGIrG/GRGB)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [19]: 'GIB0' (10-bit Bayer GIrGIr/BGRG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [20]: 'IGB0' (10-bit Bayer IrGIrG/GBGR)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [21]: 'BG12' (12-bit Bayer BGBG/GRGR)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [22]: 'GB12' (12-bit Bayer GBGB/RGRG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [23]: 'BA12' (12-bit Bayer GRGR/BGBG)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [24]: 'RG12' (12-bit Bayer RGRG/GBGB)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [25]: 'RGBR' (16-bit RGB 5-6-5 BE)
                   Size: Stepwise 8x1 - 8192x16384 with step 8/1
           [26]: 'XR24' (32-bit BGRX 8-8-8-8)
                   Size: Stepwise 4x1 - 4096x16384 with step 4/1
           [27]: 'XB24' (32-bit RGBX 8-8-8-8)
                   Size: Stepwise 4x1 - 4096x16384 with step 4/1

    Output of yavta:

    $ yavta -c -Fcapture -s 640x480 -f UYVY /dev/video2
    Device /dev/video2 opened.
    Device `j721e-csi2rx' on `platform:4500000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
    Video format set: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
    Video format: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
    8 buffers requested.
    length: 614400 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 mapped at address 0xffff9675a000.
    length: 614400 offset: 614400 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffff966c4000.
    length: 614400 offset: 1228800 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffff9662e000.
    length: 614400 offset: 1843200 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffff96598000.
    length: 614400 offset: 2457600 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffff96502000.
    length: 614400 offset: 3072000 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffff9646c000.
    length: 614400 offset: 3686400 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffff963d6000.
    length: 614400 offset: 4300800 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffff96340000.
    Unable to start streaming: No such file or directory (2).
    8 buffers released.

    Thanks,

    Tom

  • I get these dmesg logs:

    [  919.039069] cdns-csi2rx 4504000.csi-bridge: Guessing link frequency using bitdepth of stream 0.
    [  919.047770] cdns-csi2rx 4504000.csi-bridge: V4L2_CID_LINK_FREQ control is required for multi format sources.
    [  919.057586] cdns-csi2rx 4504000.csi-bridge: Unable to calculate link frequency
    [  919.064800] cdns-csi2rx 4504000.csi-bridge: Failed to configure external DPHY: -2

  • Hi,

    Our expert is currently out of the office on the Thanksgiving holiday; please expect a delay in response until next week.

    Thanks.

  • Hey,

    are your expert back in office? Unfortunately I couldn't resolve the problem.

    Thanks

  • Hi Tom,

    It looks like the link frequency may not be configured properly. See: https://docs.kernel.org/driver-api/media/tx-rx.html#pixel-rate

    Thank you,

    Fabiana

  • Hey Fabiana, where do you see the complications in the link-frequency? I think it is configured properly.

    Thank you,

    Tom

  • Hi Tom,

    I am concluding this based on the last dmesg logs you shared. Have you made any changes since we last discussed?

    Thank you,

    Fabiana