VC-MIPI-modules / vc_mipi_nvidia

Vision Components MIPI CSI-2 driver for NVIDIA Jetson Nano, Xavier NX, AGX Xavier, TX2 and Orin Nano, Orin NX
69 stars 31 forks source link

Cannot make any video operation on Orin Nano #59

Open Gozgur opened 7 months ago

Gozgur commented 7 months ago

Hi,

I have Orin Nano developer kit and I’ve been trying to use a camera imx568c on Orin Nano with MIPI-CSI-2 by using this repo Jetson 5.1.2 R35 (release), REVISION: 4.1

First I did quicksetup with the instructions. Setup completed and no error seen. I can see the camera but I think it shows the wrong model for the camera.

v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
        /dev/media0

vi-output, imx219 10-0010 (platform:tegra-capture-vi:2):
        /dev/video0

My camera dtsi configuration is below.

/*
 * Copyright (c) 2023, Vision Components GmbH.  All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <dt-bindings/media/camera.h>

// ------------------------------------------------------------------------------------------------
//  Driver Configuration for NVIDIA Jetson Orin Nano on NVIDIA Jetson Orin Nano Developer Kit
// ------------------------------------------------------------------------------------------------
#define VC_MIPI_CAM_1       1   // 1: Enabled, 0: Disabled  (serial_a => CSI Port 0 => VI Stream 0)
#define VC_MIPI_CAM_0       0   // 1: Enabled, 0: Disabled  (serial_c => CSI Port 2 => VI Stream 2)
// ------------------------------------------------------------------------------------------------
//  Supported number of lanes
// -----+------------------------------------------------------------------------------------------
//  1   | OV7251, IMX296, IMX297
//  2   | OV9281, IMX264, IMX265
//  2,4 | IMX178, IMX183, IMX226, IMX250, IMX252, IMX273, IMX290, IMX327, IMX335, IMX392, 
//      | IMX412, IMX415, IMX568
// -----+------------------------------------------------------------------------------------------
#define VC_MIPI_LANES       2   // 1, 2, 4 Lanes
// ------------------------------------------------------------------------------------------------
//  Embedded Metadata Height
// -----+------------------------------------------------------------------------------------------
//  0   | IMX178, IMX183, IMX226, IMX250, IMX252, IMX264, IMX265, IMX273, IMX392, OV7251, OV9281
//  1   | IMX290, IMX327, IMX335, IMX415, IMX568
//  2   | IMX296, IMX297, IMX412
// -----+------------------------------------------------------------------------------------------
#define VC_MIPI_METADATA_H  "1" // "0", "1", "2" Lines of meta data
// ------------------------------------------------------------------------------------------------
//   Sensor Manufacturer
// -----+------------------------------------------------------------------------------------------
//   1  | Sony Sensor (IMX)
//   2  | Omni Vision Sensor (OV)
// -----+------------------------------------------------------------------------------------------
#define VC_MIPI_MANUFACTURER 1
// ------------------------------------------------------------------------------------------------
//  GStreamer Support
// ------------------------------------------------------------------------------------------------
//  If you want to use GStreamer with nvarguscamerasrc you have to adjust this settings in the 
//  device tree below. The sections which have to be modified are marked by a comment. 
//  To find the correct parameter values please follow the instruction in the main README.md of 
//  this repository https://github.com/VC-MIPI-modules/vc_mipi_nvidia#gstreamer-support
// ------------------------------------------------------------------------------------------------

#if VC_MIPI_LANES == 1
    #define BUS_WIDTH 1
    #define NUM_LANES "1" 
    #define NUM_CSI_LANES 2
#endif
#if VC_MIPI_LANES == 2
    #define BUS_WIDTH 2
    #define NUM_LANES "2" 
    #define NUM_CSI_LANES 4
#endif
#if VC_MIPI_LANES == 4
    #define BUS_WIDTH 4
    #define NUM_LANES "4" 
    #define NUM_CSI_LANES 8
#endif

#if VC_MIPI_CAM_1 == 1 && VC_MIPI_CAM_0 == 1
    #define VC_MIPI_CAMERAS 2
#else
    #define VC_MIPI_CAMERAS 1
#endif

/ {
    tegra-capture-vi  {
        num-channels = <VC_MIPI_CAMERAS>;
        ports {
            #address-cells = <1>;
            #size-cells = <0>;
#if VC_MIPI_CAM_1 == 1
            vc_vi_port0: port@0 {
                reg = <0>;
                vc_vi_in0: endpoint {
                    port-index = <1>;
                    bus-width = <BUS_WIDTH>;
                    remote-endpoint = <&vc_csi_out0>;
                };
            };
#endif
#if VC_MIPI_CAM_0 == 1
            vc_vi_port1: port@1 {
                reg = <1>;
                vc_vi_in1: endpoint {
                    port-index = <2>;
                    bus-width = <BUS_WIDTH>;
                    remote-endpoint = <&vc_csi_out1>;
                };
            };
#endif
        }; // ports
    };

    host1x@13e00000 {
        nvcsi@15a00000 {
            num-channels = <VC_MIPI_CAMERAS>;
            #address-cells = <1>;
            #size-cells = <0>;
#if VC_MIPI_CAM_1 == 1
            vc_csi_chan0: channel@0 {
                reg = <0>;
                ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
                        vc_csi_chan0_port0: port@0 {
                        reg = <0>;
                        vc_csi_in0: endpoint@0 {
                            port-index = <1>;
                            bus-width = <BUS_WIDTH>;
                            remote-endpoint = <&vc_mipi_out0>;
                        };
                    };
                    vc_csi_chan0_port1: port@1 {
                        reg = <1>;
                        vc_csi_out0: endpoint@1 {
                            remote-endpoint = <&vc_vi_in0>;
                        };
                    };
                };
            };
#endif

#if VC_MIPI_CAM_0 == 1
            vc_csi_chan1: channel@1 {
                reg = <1>;
                ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    vc_csi_chan1_port0: port@0 {
                        reg = <0>;
                        vc_csi_in1: endpoint@2 {
                            port-index = <2>;
                            bus-width = <BUS_WIDTH>;
                            remote-endpoint = <&vc_mipi_out1>;
                        };
                    };
                    vc_csi_chan1_port1: port@1 {
                        reg = <1>;
                        vc_csi_out1: endpoint@3 {
                            remote-endpoint = <&vc_vi_in1>;
                        };
                    };
                };
            };
#endif
        };
    };

    cam_i2cmux {
#if VC_MIPI_CAM_1 == 1
        i2c@0 {
#if VC_MIPI_MANUFACTURER == 1
            vc_mipi_cam0: vc_mipi@1a {
                reg                     = <0x1a>;
#else
            vc_mipi_cam0: vc_mipi@60 {
                reg                     = <0x60>;
#endif
                compatible              = "nvidia,vc_mipi";
                devnode                 = "video0";
                use_sensor_mode_id      = "false";
                sensor_model            = "vc_mipi";

                num_lanes               = NUM_LANES;
                trigger_mode            = "0";
                io_mode                 = "0";

                // ----------------------------------------------------
                // If you want to use GStreamer with nvarguscamerasrc
                // you have to adjust this settings
                physical_w              = "6.773";
                physical_h              = "5.612";
                // ----------------------------------------------------

                // This node is needed by the Tegra framework.
                // You don't have to change any settings if just want 
                // to use the V4L API.
                mode0 {
                    num_lanes                = NUM_LANES;
                    tegra_sinterface         = "serial_b";
                    embedded_metadata_height = VC_MIPI_METADATA_H;
                    readout_orientation      = "0";
                    lane_polarity            = "6";

                    // ----------------------------------------------------
                    // If you want to use GStreamer with nvarguscamerasrc
                    // you have to adjust this settings. 
                    active_l                 = "0";
                    active_t                 = "0";
                    active_w                 = "2472";
                    active_h                 = "2048";
                    mode_type                = "bayer";
                    pixel_phase              = "rggb";
                    csi_pixel_bit_depth      = "10";

                    min_gain_val             = "0";         // mdB
                    max_gain_val             = "48000";     // mdB
                    step_gain_val            = "1";       // mdB
                    default_gain             = "0";         // mdB

                    min_exp_time             = "1";         // us
                    max_exp_time             = "1000000";   // us
                    step_exp_time            = "1";         // us
                    default_exp_time         = "10000";     // us

                    // For applications like argus_camera, there should 
                    // be a minimal frame rate greater than zero!
                    min_framerate            = "100";       // mHz
                    max_framerate            = "60000";     // mHz
                    step_framerate           = "100";       // mHz
                    default_framerate        = "60000";     // mHz
                    // ----------------------------------------------------

                    gain_factor              = "1000";
                    exposure_factor          = "1000000";
                    framerate_factor         = "1000";
                    inherent_gain            = "1";
                    min_hdr_ratio            = "1";
                    max_hdr_ratio            = "1";

                    line_length              = "0";
                    phy_mode                 = "DPHY";
                    discontinuous_clk        = "no";
                    mclk_khz                 = "24000";
                    pix_clk_hz               = "215000000";
                    mclk_multiplier          = "0.0";   // deprecated
                    cil_settletime           = "0";
                    dpcm_enable              = "false";
                };

                ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    port@0 {
                        reg = <0>;
                        vc_mipi_out0: endpoint {
                            port-index = <1>;
                            bus-width = <BUS_WIDTH>;
                            remote-endpoint = <&vc_csi_in0>;
                        };
                    };
                };
            };
        };
#endif // VC_MIPI_CAM_1

#if VC_MIPI_CAM_0 == 1
        i2c@1 {
#if VC_MIPI_MANUFACTURER == 1
            vc_mipi_cam1: vc_mipi@1a {
                reg                     = <0x1a>;
#else
            vc_mipi_cam1: vc_mipi@60 {
                reg                     = <0x60>;
#endif
                compatible              = "nvidia,vc_mipi";
                devnode                 = "video1";
                use_sensor_mode_id      = "false";
                sensor_model            = "vc_mipi";

                num_lanes               = NUM_LANES;
                trigger_mode            = "0";
                io_mode                 = "0";

                // ----------------------------------------------------
                // If you want to use GStreamer with nvarguscamerasrc
                // you have to adjust this settings
                physical_w              = "6.773";
                physical_h              = "5.655";
                // ----------------------------------------------------

                // This node is needed by the Tegra framework.
                // You don't have to change any settings if just want 
                // to use the V4L API.
                mode0 {
                    num_lanes                = NUM_LANES;
                    tegra_sinterface         = "serial_c";
                    embedded_metadata_height = VC_MIPI_METADATA_H;
                    readout_orientation      = "0";
                    lane_polarity            = "0";

                    // ----------------------------------------------------
                    // If you want to use GStreamer with nvarguscamerasrc
                    // you have to adjust this settings. 
                    active_l                 = "0";
                    active_t                 = "0";
                    active_w                 = "2472";
                    active_h                 = "2048";
                    mode_type                = "bayer";
                    pixel_phase              = "rggb";
                    csi_pixel_bit_depth      = "10";

                    min_gain_val             = "0";         // mdB
                    max_gain_val             = "48000";     // mdB
                    step_gain_val            = "100";       // mdB
                    default_gain             = "0";         // mdB

                    min_exp_time             = "1";         // us
                    max_exp_time             = "1000000";   // us
                    step_exp_time            = "1";         // us
                    default_exp_time         = "10000";     // us

                    // For applications like argus_camera, there should 
                    // be a minimal frame rate greater than zero!
                    min_framerate            = "100";       // mHz
                    max_framerate            = "57290";     // mHz
                    step_framerate           = "100";       // mHz
                    default_framerate        = "57290";     // mHz
                    // ----------------------------------------------------

                    gain_factor              = "1000";
                    exposure_factor          = "1000000";
                    framerate_factor         = "1000";
                    inherent_gain            = "1";
                    min_hdr_ratio            = "1";
                    max_hdr_ratio            = "1";

                    line_length              = "0";
                    phy_mode                 = "DPHY";
                    discontinuous_clk        = "no";
                    mclk_khz                 = "24000";
                    pix_clk_hz               = "600000000"; // 205000000 - 600000000 tested with IMX568
                    mclk_multiplier          = "0.0";       // deprecated
                    cil_settletime           = "0";
                    dpcm_enable              = "false";
                };

                ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    port@0 {
                        reg = <0>;
                        vc_mipi_out1: endpoint {
                            port-index = <2>;
                            bus-width = <BUS_WIDTH>;
                            remote-endpoint = <&vc_csi_in1>;
                        };
                    };
                };
            };
        };
#endif // VC_MIPI_CAM_0
    };

    lens@vc_mipi {
        min_focus_distance  = "0.0";
        hyper_focal         = "0.0";
        focal_length        = "6.0";
        f_number            = "2.0";
        aperture            = "0.0";
    };
};

/ {
    tcp: tegra-camera-platform {
        compatible = "nvidia, tegra-camera-platform";

        num_csi_lanes = <NUM_CSI_LANES>;
        max_lane_speed = <1500000>;
        min_bits_per_pixel = <10>;
        vi_peak_byte_per_pixel = <2>;
        vi_bw_margin_pct = <25>;
        max_pixel_rate = <240000>;
        isp_peak_byte_per_pixel = <5>;
        isp_bw_margin_pct = <25>;

        modules {
#if VC_MIPI_CAM_1 == 1
            cam_module0: module0 {
                badge = "jakku_front_vc_mipi";
                position = "front";
                orientation = "1";
                cam_module0_drivernode0: drivernode0 {
                    pcl_id = "v4l2_sensor";
#if VC_MIPI_MANUFACTURER == 1
                    devname = "vc_mipi 9-001a";
                    proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@0/vc_mipi@1a";
#else
                    devname = "vc_mipi 9-0060";
                    proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@0/vc_mipi@60";
#endif
                };
                cam_module0_drivernode1: drivernode1 {
                    pcl_id = "v4l2_lens";
                    proc-device-tree = "/proc/device-tree/lens@vc_mipi/";
                };
            };
#endif // VC_MIPI_CAM_1

#if VC_MIPI_CAM_0 == 1
            cam_module1: module1 {
                badge = "jakku_rear_vc_mipi";
                position = "rear";
                orientation = "1";
                cam_module1_drivernode0: drivernode0 {
                pcl_id = "v4l2_sensor";
#if VC_MIPI_MANUFACTURER == 1
                devname = "vc_mipi 10-001a";
                proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@1/vc_mipi@1a";
#else
                devname = "vc_mipi 10-0060";
                proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@1/vc_mipi@60";
#endif  
                };
                cam_module1_drivernode1: drivernode1 {
                    pcl_id = "v4l2_lens";
                    proc-device-tree = "/proc/device-tree/lens@vc_mipi/";
                };
            };
#endif // VC_MIPI_CAM_0
        };
    };
};

#define CAM0_PWDN   TEGRA234_MAIN_GPIO(H, 6)
#define CAM1_PWDN   TEGRA234_MAIN_GPIO(AC, 0)
#define CAM_I2C_MUX     TEGRA234_AON_GPIO(CC, 3)

/ {
    cam_i2cmux {
        status = "okay";
        compatible = "i2c-mux-gpio";
        #address-cells = <1>;
        #size-cells = <0>;
        mux-gpios = <&tegra_aon_gpio CAM_I2C_MUX GPIO_ACTIVE_HIGH>;
        i2c-parent = <&cam_i2c>;
#if VC_MIPI_CAM_1 == 1
        i2c@0 {
            status = "okay";
            reg = <0>;
            #address-cells = <1>;
            #size-cells = <0>;
#if VC_MIPI_MANUFACTURER == 1
            vc_mipi@1a {
#else
            vc_mipi@60 {
#endif
                reset-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
            };
        };
#endif
#if VC_MIPI_CAM_0 == 1
        i2c@1 {
            status = "okay";
            reg = <1>;
            #address-cells = <1>;
            #size-cells = <0>;
#if VC_MIPI_MANUFACTURER == 1
            vc_mipi@1a {
#else
                    vc_mipi@60 {
#endif
                reset-gpios = <&tegra_main_gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
            };
        };
#endif
    };

    gpio@2200000 {
        camera-control-output-low {
            gpio-hog;
            output-low;
            gpios = <CAM0_PWDN 0 CAM1_PWDN 0>;
            label = "cam0-pwdn","cam1-pwdn";
        };
    };
};

Formats are listing as below

v4l2-ctl --list-formats-ext -d /dev/video0 
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

    [0]: 'RG10' (10-bit Bayer RGRG/GBGB)
        Size: Discrete 3280x2464
            Interval: Discrete 0.048s (21.000 fps)
        Size: Discrete 3280x1848
            Interval: Discrete 0.036s (28.000 fps)
        Size: Discrete 1920x1080
            Interval: Discrete 0.033s (30.000 fps)
        Size: Discrete 1640x1232
            Interval: Discrete 0.033s (30.000 fps)
        Size: Discrete 1280x720
            Interval: Discrete 0.017s (60.000 fps)

dmesg is here

[  509.046577] EXT4-fs error (device mmcblk1p1): ext4_lookup:1706: inode #920955: comm dpkg: iget: checksum invalid
[  509.060091] EXT4-fs error (device mmcblk1p1): ext4_lookup:1706: inode #920955: comm dpkg: iget: checksum invalid
[  525.105837] EXT4-fs error (device mmcblk1p1): ext4_lookup:1706: inode #920955: comm dpkg: iget: checksum invalid
[  525.254362] EXT4-fs error (device mmcblk1p1): ext4_lookup:1706: inode #920955: comm dpkg: iget: checksum invalid
[  601.668422] EXT4-fs error (device mmcblk1p1): ext4_lookup:1706: inode #920955: comm dpkg: iget: checksum invalid
[  601.679969] EXT4-fs error (device mmcblk1p1): ext4_lookup:1706: inode #920955: comm dpkg: iget: checksum invalid
[ 5415.167390] bwmgr API not supported
[ 5417.835568] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5417.848323] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5417.858831] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5417.866589] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 5417.877282] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5417.885015] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 5417.895891] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5420.651514] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5420.660677] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5420.671110] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5420.678842] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 5420.689512] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5420.697235] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 5420.708118] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5423.467267] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5423.476422] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5423.486985] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5423.494718] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 5423.505390] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5423.513105] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 5423.523945] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5426.283216] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5426.292372] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5426.302817] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5426.310534] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 5426.321238] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5426.328967] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 5426.339831] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5429.099162] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5429.108314] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5429.119772] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5429.127508] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 5429.138191] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5429.145914] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 5429.156949] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel

I’ve tried the commands like

v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=ov1080.raw -d /dev/video0 

the command execution frozen until I hit ctrl-c and ov1080.raw is 0 byte

gstreamer command that I tried

gst-launch-1.0 v4l2src ! videoconvert ! x264enc ! matroskamux ! filesink location=data.mkv

It is frozen until I hit ctrl-c and data.mkv cannot be opened by vlc also it’s size is 0 byte

I also tried vpc mipi demo

./vcmipidemo -ao 1000 -g 10

but it is black screen with 24.5mb size files

resim

So, It looks it installed wrong driver? because it says imx219 but I’m sure my camera imx568c. Could the problem be related with L4T version?

bazo80 commented 7 months ago

Hello @Gozgur ,

Rel 35.4.1 is currently not supported. If you have modified the scripts, you need to apply the patches in order to remove the imx219 and hook in the vc_mipi driver.

Gozgur commented 7 months ago

Hi @bazo80,

Thanks for helping and information.

Is it possible to work with Rel 35.4.1 even though not supported?

Are there any instructions about how can I apply the patches in order to remove the imx219 and hook in the vc_mipi driver?

I cannot find /hardware/nvidia/platform/... path in my device.

bazo80 commented 6 months ago

Hello @Gozgur ,

it should be possible to work with 35.4.1, but therefore you have to take a look at the setup/build pipeline in the bin directory of this repo. For the moment there is no entry for 35.4.1. You could lookup 35.3.1 in the scripts, duplicate the entries and change it to 35.4.1 and try to apply at least the 0001-Modified-tegra234-p3768-0000-a0.dts-to-integrate-VC-.patch, the 0001-Added-VC-MIPI-driver-to-Kconfig.patch and the 0001-Added-VC-MIPI-Driver-sources-to-Makefile.patch file. We haven't tested this version yet. It might be that there must be made some adjustments for 35.4.1, because nvidia is changing their sources, too.

Gozgur commented 6 months ago

Hi @bazo80,

Thanks for the information. Will 35.4.1 be supported soon?

sarpulas commented 5 months ago

Also interested in Jetpack 5.1.2 support as 5.1.1 has issues with RTC which our use case is reliant upon

bazo80 commented 4 months ago

Hello @Gozgur , hello @sarpulas , I just brought the bazo_pre_3541 branch online. Feel free to test it, if you like.