Problem with capturing images by Video4Linux

  1. Replace the attached camera FW at …/Linux_for_Tegra/bootloader/ and update it by below command. camera-rtcpu-rce.img (263.0 KB)
    sudo ./flash -r -k rce-fw jetson-xavier-as-xavier-nx mmcblk0p1

  2. Apply below patch to update the kernel Image

diff --git a/drivers/media/platform/tegra/camera/nvcsi/csi5_fops.c b/drivers/media/platform/tegra/camera/nvcsi/csi5_fops.c
index d23994d..7a47015 100644
--- a/drivers/media/platform/tegra/camera/nvcsi/csi5_fops.c
+++ b/drivers/media/platform/tegra/camera/nvcsi/csi5_fops.c
@@ -139,6 +139,8 @@ static int csi5_stream_set_config(struct tegra_csi_channel *chan, u32 stream_id,
        struct CAPTURE_CONTROL_MSG msg;
        struct nvcsi_brick_config brick_config;
        struct nvcsi_cil_config cil_config;
+       struct nvcsi_error_config error_config;
+
        bool is_cphy = (csi_lanes == 3);

        dev_dbg(csi->dev, "%s: stream_id=%u, csi_port=%u\n",
@@ -166,6 +168,11 @@ static int csi5_stream_set_config(struct tegra_csi_channel *chan, u32 stream_id,
        else
                cil_config.mipi_clock_rate = csi->clk_freq / 1000;

+       /* error config */
+       memset(&error_config, 0, sizeof(error_config));
+       error_config.stream_intr_mask = 0xFF;
+       error_config.status2vi_notify_mask = 0xFFFF;
+
        /* Set NVCSI stream config */
        memset(&msg, 0, sizeof(msg));
        msg.header.msg_id = CAPTURE_CSI_STREAM_SET_CONFIG_REQ;
@@ -175,7 +182,8 @@ static int csi5_stream_set_config(struct tegra_csi_channel *chan, u32 stream_id,
        msg.csi_stream_set_config_req.csi_port = csi_port;
        msg.csi_stream_set_config_req.brick_config = brick_config;
        msg.csi_stream_set_config_req.cil_config = cil_config;
-
+       msg.csi_stream_set_config_req.error_config = error_config;
+       msg.csi_stream_set_config_req.config_flags = NVCSI_CONFIG_FLAG_BRICK | NVCSI_CONFIG_FLAG_CIL | NVCSI_CONFIG_FLAG_ERROR;
        tegra_capture_ivc_control_submit(&msg, sizeof(msg));

        return 0;