Nvargus errors when starting a gstreamer pipeline

I am integrating a camera and driver into JP 5.1.2/L4T 35.4.1 running on a Xavier NX/CTI Boson combo. I am able to capture images using v4l2-ctl. However, I cannot capture images using the nvarguscamerasrc plugin. The gsl-launch1.0 output indicates there are no cameras available. Any suggestions for the root cause or additional debugging?

Argus Daemon output when attempting gstreamer pipeline using argus plugin:

=== NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== gst-launch-1.0[2588]: Connection established (FFFF96DA1900)Thread 1 getting next capture
Thread 1 is waiting
Thread 2 getting next capture
Thread 2 is waiting
Thread 3 getting next capture
Thread 3 is waiting
Thread 4 getting next capture
Thread 4 is waiting
Thread 5 getting next capture
Thread 5 is waiting
Thread 6 getting next capture
Thread 6 is waiting
Thread 8 getting next captureThread 7 getting next capture
Thread 7 is waiting

Thread 8 is waiting
Thread 10 getting next capture
Thread 10 is waiting
Thread 9 getting next capture
Thread 12 getting next capture
Thread 9 is waiting
Thread 11 getting next capture
Thread 12 is waiting
Thread 11 is waiting
Starting services...
Worker thread IspHw frameComplete start
Worker thread CaptureScheduler checkFramePending start
Worker thread CaptureScheduler frameStart start
Worker thread V4L2CaptureScheduler checkCaptureComplete start
Worker thread V4L2CaptureScheduler issueCaptures start
Worker thread PS handleRequests start
getInstance: s_instance(0xffff905912a0)
getInstance: s_instance(0xffff905912a0)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0xffff90424010)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0xffff904044d0)
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
Services are started
NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: numBuiltinModules 1 11
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx297_front_tis_imx297
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: tis_imx29x_mono 30-001a
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: numBuiltinModules 1 22
NvPclModuleListInitialize: NvPclModule list[0]: imx297_front_tis_imx297 position 1 numBuiltinModules 1
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclModuleListInitialize: numPlugableModules 1 +++
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwAddModules isVirtual 1 ^^^^^^^^
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwAddModules isVirtual 1 ^^^^^^^^
NvPclHwAddModules isVirtual 0 ^^^^^^^^
NvPclHwAddModules isVirtual 0 ^^^^^^^^
NvPclModuleListInitialize: numPlugableModules 0 ---
getHotplugMonitor: Getting hotplug monitor instance
 initializeHotplug++
 hotPlugfunc ++ 
 addWatch: Watch added wd='1'
CheckProcDTExists: INFO: accessing /proc/device-tree/tegra-virtual-camera-platform/modules; No such file or directory
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
setHotplugCallback: Registered new callback client
NvPclSetHotplugCallback: ---------------------- hotPlugfunc: reading from inotify FD, Thread waiting 

numSources: numSources 1 

numSources: numSources 1 

numSources: numSources 1 

getSource: index 0 and numSources 1

numSources: numSources 1 

numSources: numSources 1 


 addSourceByIndex: index 0 and guid 1ud 

NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 1 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff904ca9a0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff9058fd30
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90552630
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff904d0e20
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90665660
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90649ea0
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: stat(/Calib/camera_override.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/imx297_front_tis_imx297.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx297_front_tis_imx297.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx297_front_tis_imx297.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx297_front_tis_imx297.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx297_front_tis_imx297.isp] 8/16
CheckOverridesPermissions: override file [/var/nvidia/nvcam/settings/imx297_front_tis_imx297.isp] has correct owner and mode
---- imager: Found override file [/var/nvidia/nvcam/settings/imx297_front_tis_imx297.isp]. ----
Imager: looking for override file [/mnt/factory/camera/factory.bin] 1/16
Imager: looking for override file [/Calib/factory.bin] 2/16
Imager: looking for override file [/Calib/calibration.bin] 3/16
Imager: looking for override file [(null)] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
Imager: looking for override file [/data/vendor/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/vendor/nvcam/settings/imx297_front_tis_imx297.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx297_front_tis_imx297.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx297_front_tis_imx297.bin] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
(NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
(NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
(NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 111)
NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff904d0e20
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff90665660
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff90649ea0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff904ca9a0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff9058fd30
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff90552630
NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E)
NvPclStateControllerClose: Module imx297_front_tis_imx297 closed
NvPclOpen: PCL Open Failed. Error: 0xf
NvPclClose: ++++++++++++++++++++++
NvPclClose: ----------------------
NvPclOpen: ----------------------
SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)
numSources: numSources 1 

=== gst-launch-1.0[2588]: CameraProvider initialized (0xffff9062ecb0)=== gst-launch-1.0[2588]: CameraProvider destroyed (0xffff9062ecb0)Stopping services...
Worker thread CaptureScheduler frameStart stop
Worker thread CaptureScheduler checkFramePending stop
Worker thread IspHw frameComplete stop
Worker thread V4L2CaptureScheduler issueCaptures stop
Worker thread V4L2CaptureScheduler checkCaptureComplete stop
NvPclShutdown: ++++++++++++++++++++++
NvPclModuleListShutdown: Client still conntected, skipping shutdown
NvPclShutdown: ----------------------
Worker thread PS handleRequests stop
unsubscribe: SensorType(gyroscope)
unsubscribe: gyroscope sensor(0xffff90424010)
unsubscribe: SensorType(accelerometer)
unsubscribe: accelerometer sensor(0xffff904044d0)
Services are stopped
closeInstance: ms_instance((nil))
NvPclRemoveHotplugCallback: ++++++++++++++++++++++
getHotplugMonitor: Getting hotplug monitor instance
 shutdownHotplug: Requesting thread exit
 hotPlugfunc: Read 16 bytes from inotify FD
 hotPlugfunc: A File was Modified 00008000 NAME :  CREATE : 00000100, DELETE : 00000200 IGNORED : 00008000 CLOSE_WRITE : 00000008
 hotPlugfunc: Exit thread
 hotPlugfunc: close failure error: 'Bad file descriptor' (9)
 hotPlugfunc -- 
 shutdownHotplug -- : shutdown of hotplug is complete 
Removed callback client
NvPclRemoveHotplugCallback: ----------------------
FiberScheduler: shutting down; 0 fibers still in map

FiberScheduler: thread 4 exiting
FiberScheduler: thread 5 exiting
FiberScheduler: thread 6 exiting
FiberScheduler: thread 7 exiting
FiberScheduler: thread 8 exiting
FiberScheduler: thread 10 exiting
FiberScheduler: thread 9 exiting
FiberScheduler: thread 1 exiting
FiberScheduler: thread 12 exiting
FiberScheduler: thread 12 has been joined
FiberScheduler: thread 2 exiting
FiberScheduler: thread 3 exiting
FiberScheduler: thread 11 exiting
FiberScheduler: thread 11 has been joined
FiberScheduler: thread 8 has been joined
FiberScheduler: thread 9 has been joined
FiberScheduler: thread 7 has been joined
FiberScheduler: thread 6 has been joined
FiberScheduler: thread 5 has been joined
FiberScheduler: thread 4 has been joined
FiberScheduler: thread 3 has been joined
FiberScheduler: thread 2 has been joined
FiberScheduler: thread 10 has been joined
FiberScheduler: thread 1 has been joined
=== gst-launch-1.0[2588]: Connection closed (FFFF96DA1900)=== gst-launch-1.0[2588]: Connection cleaned up (FFFF96DA1900)

Device Tree:

/dts-v1/;
#include "tegra194-xavier-nx-cti-NGX007.dts" 


/* camera control gpio definitions */
/*BLD #include "cti_camera/tegra194-cti-camera-fsm-imx296-4cam-1mux-1sensor-header-MANTIS.dtsi" */
#include "cti_camera/tegra194-cti-fsm-imx296-modes-header-MANTIS.dtsi"
/*BLD #include "cti_camera/tegra194-cti-camera-4cam-vi-csi-base.dtsi" */
/*BLD #include "cti_camera/tegra194-cti-camera-4cam-platform-base.dtsi" */
/*BLD #include "cti_camera/tegra194-cti-camera-4cam-1mux-1sensor-base.dtsi" */
/*BLD #include "cti_camera/tegra194-xavier-nx-cti-NGX007-FSM-4CAM-base.dtsi" */

/ {
    nvidia,dtsfilename = "tegra194-cti-mantis-mono-18.dts";
    nvidia,dtbbuildtime = __DATE__, __TIME__;

};

/* camera control gpio definitions */
/ {
  tegra-camera-platform {
    compatible = "nvidia, tegra-camera-platform";
    status = "okay";

    /**
    * Physical settings to calculate max ISO BW
    *
    * num_csi_lanes = <>;
    * Total number of CSI lanes when all cameras are active
    *
    * max_lane_speed = <>;
    * Max lane speed in Kbit/s
    *
    * min_bits_per_pixel = <>;
    * Min bits per pixel
    *
    * vi_peak_byte_per_pixel = <>;
    * Max byte per pixel for the VI ISO case
    *
    * vi_bw_margin_pct = <>;
    * Vi bandwidth margin in percentage
    *
    * max_pixel_rate = <>;
    * Max pixel rate in Kpixel/s for the ISP ISO case
    *
    * isp_peak_byte_per_pixel = <>;
    * Max byte per pixel for the ISP ISO case
    *
    * isp_bw_margin_pct = <>;
    * Isp bandwidth margin in percentage
    */
    num_csi_lanes = <4>;
    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 {
      module0 {
        badge = "imx297_front_tis_imx297";
        position = "front";
        orientation = "0";
        status = "okay";
        drivernode0 {
          /* Declare PCL support driver (classically known as guid)  */
          pcl_id = "v4l2_sensor";
          /* Driver v4l2 device name */
          devname = "tis_imx29x_mono 30-001a";
          /* Declare the device-tree hierarchy to driver instance */
          proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@74/i2c@0/tis_imx297_a@1a";
          status = "okay";
        };
      };
    };
  };
};

/ {
  tegra-capture-vi {
    num-channels = <1>;
    status = "okay";
    ports {
      #address-cells = <1>;
      #size-cells = <0>;
      port@0 {
        reg = <0>;
        status = "okay";
        vi_in0: endpoint {
          vc-id=<0>;
          port-index = <0>;
          bus-width = <1>;
          status = "okay";
          remote-endpoint = <&csi_out0>;
        };
      };
      /*port@1 {
        reg = <1>;
        status = "disabled";
      };
      port@2 {
        reg = <2>;
        status = "disabled";
      };
      port@3 {
        reg = <3>;
        status = "disabled";
      };*/
    };
  };

  host1x@13e00000{
    nvcsi@15a00000 {
      num-channels = <1>;
      #address-cells = <1>;
      #size-cells = <0>;
      status = "okay";	
      channel@0 {
        reg = <0>;
        status = "okay";	
        ports {
          #address-cells = <1>;
          #size-cells = <0>;
          port@0 {
            reg = <0>;
            status = "okay";
            csi_in0: endpoint@0 {
              port-index = <0>;
              bus-width = <1>;
              status = "okay";
              remote-endpoint = <&imx297_a_out0>;
            };
          };
          port@1 {
            reg = <1>;
            status = "okay";
            csi_out0: endpoint@1 {
              remote-endpoint = <&vi_in0>;
              status = "okay";
            };
          };
        };
      };
/*      channel@1 {
        reg = <1>;
        status = "okay";	
      };
      channel@2 {
        reg = <2>;
        status = "okay";	
      };
      channel@3 {
        reg = <3>;
        status = "okay";	
      };*/
    };
  };
};


/ {
  i2c@3180000 {
    #address-cells = <1>;
    #size-cells = <0>;
    clock-frequency = <100000>;
    status = "okay";

    tca9548@74 {
      compatible = "nxp,pca9548";
      reg = <0x74>;
      #address-cells = <1>;
      #size-cells = <0>;
      skip_mux_detect;
      vcc-supply = <&p3509_vdd_3v3_cvb>;
      force_bus_start = <(0x1E + 0)>;
      status = "okay";

      i2c@0 {
        reg = <0>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "okay";

        tis_imx297_a@1a  {
          compatible = "tis,tis_imx297_mono";
          reg = <0x1a>;
          reg-tis_eeprom = <0x50>;
          reg-nv_eeprom = <0x57>;
          reg-fpga_user = <0x42>;
          reg-fpga_config = <0x40>;
          reset-gpios = <&tis_interposer_0 1 GPIO_ACTIVE_HIGH>;
          pwdn-gpios = <&tis_interposer_0 0 GPIO_ACTIVE_HIGH>;
          gpoutlevel-gpios = <&tis_interposer_0 2 GPIO_ACTIVE_HIGH>;
          gpoutpushpull-gpios = <&tis_interposer_0 3 GPIO_ACTIVE_HIGH>;
          gpoutselect-gpios = <&tis_interposer_0 4 GPIO_ACTIVE_HIGH>;
          triglvlsel-gpios = <&tis_interposer_0 5 GPIO_ACTIVE_HIGH>;
          trigsrcsel-gpios = <&tis_interposer_0 6 GPIO_ACTIVE_HIGH>;
          devnode = "video0";
          physical_w = "5.640";
          physical_h = "3.216";
          sensor_model = "imx297";
          use_decibel_gain = "true";
          use_sensor_mode_id = "true";
          post_crop_frame_drop = "2";
          delayed_gain = "false";
          status = "okay";

          mode0 {
            num_lanes = "1";
            tegra_sinterface = "serial_a";
            mclk_khz = "37000";
            phy_mode = "DPHY";
            discontinuous_clk = "yes";
            dpcm_enable = "false";
            cil_settletime = "0";
            raw_fourcc_color = "RG16";
            raw_fourcc_mono = "Y16 ";
            active_w = "728";
            active_h = "544";
            line_length = "1070";
            dynamic_pixel_bit_depth = "10";
            csi_pixel_bit_depth = "10";
            mode_type = "bayer";
            pixel_phase = "rggb";
            readout_orientation = "0";
            inherent_gain = "1";
            pix_clk_hz = "118800000";
            gain_factor = "10";
            framerate_factor = "1000000";
            exposure_factor = "1000000";
            min_gain_val = "0";
            max_gain_val = "480";
            step_gain_val = "1";
            default_gain = "0";
            min_hdr_ratio = "1";
            max_hdr_ratio = "1";
            min_framerate = "5000000";
            max_framerate = "120000000";
            step_framerate = "1";
            default_framerate = "5000000";
            min_exp_time = "1";
            max_exp_time = "1000000";
            step_exp_time = "1";
            default_exp_time = "50000";
            embedded_metadata_height = "2";
          };

          mode1 {
            num_lanes = "1";
            tegra_sinterface = "serial_a";
            mclk_khz = "37000";
            phy_mode = "DPHY";
            discontinuous_clk = "yes";
            dpcm_enable = "false";
            cil_settletime = "0";
            raw_fourcc_color = "RG16";
            raw_fourcc_mono = "Y16 ";
            active_w = "640";
            active_h = "480";
            line_length = "1070";
            dynamic_pixel_bit_depth = "10";
            csi_pixel_bit_depth = "10";
            mode_type = "bayer";
            pixel_phase = "rggb";
            readout_orientation = "0";
            inherent_gain = "1";
            pix_clk_hz = "118800000";
            gain_factor = "10";
            framerate_factor = "1000000";
            exposure_factor = "1000000";
            min_gain_val = "0";
            max_gain_val = "480";
            step_gain_val = "1";
            default_gain = "0";
            min_hdr_ratio = "1";
            max_hdr_ratio = "1";
            min_framerate = "5000000";
            max_framerate = "131000000";
            step_framerate = "1";
            default_framerate = "120000000";
            min_exp_time = "1";
            max_exp_time = "1000000";
            step_exp_time = "1";
            default_exp_time = "2495";
            embedded_metadata_height = "2";
          };

          ports {
            #address-cells = <1>;
            #size-cells = <0>;
            status="okay";
            port@0 {
              reg = <0>;
              status="okay";
              imx297_a_out0: endpoint {
                port-index = <0>;
                bus-width = <1>;
                remote-endpoint = <&csi_in0>;
                status="okay";
              };
            };
          };
      
          tis_interposer_0: tis_interposer {
            gpio-controller;
            #gpio-cells = <2>;
            clock_khz = <37000>;
            tis_interposer_a_input {
              status = "disabled";
            };
            tis_interposer_a_outlow {
              status = "okay";
              gpio-hog;
              output-low;
              gpios = <0 0 1 0 2 0 3 0 4 0 5 0 6 0>;
              line-name = "tis_interposer_0_CAM_PWR", "tis_interposer_0_RESET", "tis_interposer_0_GPOUT_LEVEL", "tis_interposer_0_GPOUT_PUSHPULL", "tis_interposer_0_GPOUT_SELECT", "tis_interposer_0_TRIG_LVL_SEL", "tis_interposer_0_TRIG_SRC_SEL";
            };
            tis_interposer_a_outhigh {
              status = "disabled";
            };
          };
        };
      };

      i2c@1 {
        reg = <1>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";
      };

      i2c@2 {
        reg = <2>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";
      };

      i2c@3 {
        reg = <3>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";
      };
    };
  };
};



#if LINUX_VERSION >= 414
#include <tegra194-linux-4.14.dtsi>
#endif

Trace when capturing with V4L2:

# tracer: nop
#
# entries-in-buffer/entries-written: 104/104   #P:4
#
#                                _-----=> irqs-off
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| /     delay
#           TASK-PID     CPU#  ||||   TIMESTAMP  FUNCTION
#              | |         |   ||||      |         |
     kworker/0:7-142     [000] ....    64.706118: rtcpu_string: tstamp:2722061789 id:0x04010000 str:"VM0 deactivating."
        v4l2-ctl-2389    [001] ....   242.449315: tegra_channel_open: vi-output, tis_imx29x_mono 30-0
        v4l2-ctl-2389    [001] ....   242.454447: tegra_channel_set_power: tis_imx29x_mono 30-001a : 0x1
        v4l2-ctl-2389    [001] ....   242.454462: camera_common_s_power: status : 0x1
        v4l2-ctl-2389    [001] ....   242.454502: tegra_channel_set_power: 13e10000.host1x:nvcsi@15a00000- : 0x1
        v4l2-ctl-2389    [001] ....   242.454505: csi_s_power: enable : 0x1
        v4l2-ctl-2389    [001] ....   242.455134: tegra_channel_capture_setup: vnc_id 0 W 728 H 544 fmt c4
        v4l2-ctl-2389    [001] ....   242.464121: tegra_channel_set_stream: enable : 0x1
        v4l2-ctl-2389    [001] ....   242.467333: tegra_channel_set_stream: 13e10000.host1x:nvcsi@15a00000- : 0x1
        v4l2-ctl-2389    [001] ....   242.467336: csi_s_stream: enable : 0x1
        v4l2-ctl-2389    [001] ....   242.468069: tegra_channel_set_stream: tis_imx29x_mono 30-001a : 0x1
     kworker/0:7-142     [000] ....   242.494114: rtcpu_string: tstamp:8277589770 id:0x04010000 str:"VM0 activating."
     kworker/0:7-142     [000] ....   242.494116: rtcpu_string: tstamp:8277677161 id:0x04010000 str:"NVCSILP clock rate = 204000000 Hz.
"
     kworker/0:7-142     [000] ....   242.494133: rtcpu_string: tstamp:8277849902 id:0x04010000 str:"tegra_nvcsi_stream_set_config(vm0, stream=0, csi"
     kworker/0:7-142     [000] ....   242.494136: rtcpu_string: tstamp:8277850033 id:0x04010000 str:"=0)
"
     kworker/0:7-142     [000] ....   242.494143: rtcpu_string: tstamp:8277850583 id:0x04010000 str:"MIPI clock = 594000 kHz, tHS-SETTLE = 0, tCLK-SE"
     kworker/0:7-142     [000] ....   242.494144: rtcpu_string: tstamp:8277850697 id:0x04010000 str:"TTLE = 0
"
     kworker/0:7-142     [000] ....   242.494150: rtcpu_string: tstamp:8277850986 id:0x04010000 str:"===== NVCSI Stream Configuration =====
"
     kworker/0:7-142     [000] ....   242.494154: rtcpu_string: tstamp:8277851318 id:0x04010000 str:"stream_id: PP 0, csi_port: PORT A
"
     kworker/0:7-142     [000] ....   242.494160: rtcpu_string: tstamp:8277851658 id:0x04010000 str:"Brick: PHY 0, Mode: D-PHY
"
     kworker/0:7-142     [000] ....   242.494165: rtcpu_string: tstamp:8277852056 id:0x04010000 str:"Partition: CIL A, LP bypass: Enabled, Lanes: 1
"
     kworker/0:7-142     [000] ....   242.494170: rtcpu_string: tstamp:8277852283 id:0x04010000 str:"Clock information:
"
     kworker/0:7-142     [000] ....   242.494174: rtcpu_string: tstamp:8277852705 id:0x04010000 str:"MIPI clock rate: 594.00 MHz
"
     kworker/0:7-142     [000] ....   242.494179: rtcpu_string: tstamp:8277853035 id:0x04010000 str:"T_HS settle: 0, T_CLK settle: 0
"
     kworker/0:7-142     [000] ....   242.494184: rtcpu_string: tstamp:8277853336 id:0x04010000 str:"======================================
"
     kworker/0:7-142     [000] ....   242.494189: rtcpu_string: tstamp:8277856714 id:0x04010000 str:"tegra_nvcsi_stream_open(vm0, stream=0, csi=0)
"
     kworker/0:7-142     [000] ....   242.494198: rtcpu_string: tstamp:8277857607 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_0_NVCSI_CIL_A_"
     kworker/0:7-142     [000] ....   242.494199: rtcpu_string: tstamp:8277857721 id:0x04010000 str:"SW_RESET_0 = 00000001
"
     kworker/0:7-142     [000] ....   242.494205: rtcpu_string: tstamp:8277858244 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_0_NVCSI_CIL_B_"
     kworker/0:7-142     [000] ....   242.494206: rtcpu_string: tstamp:8277858358 id:0x04010000 str:"SW_RESET_0 = 00000000
"
     kworker/0:7-142     [000] ....   242.494211: rtcpu_string: tstamp:8277859069 id:0x04010000 str:"nvcsi_reset_lane_merger: NVCSI_PHY_0_LM_SW_RESET"
     kworker/0:7-142     [000] ....   242.494212: rtcpu_string: tstamp:8277859181 id:0x04010000 str:"_0 = 00000001
"
     kworker/0:7-142     [000] ....   242.494217: rtcpu_string: tstamp:8277865516 id:0x04010000 str:"nvcsi_reset_lane_merger: NVCSI_PHY_0_LM_SW_RESET"
     kworker/0:7-142     [000] ....   242.494218: rtcpu_string: tstamp:8277865627 id:0x04010000 str:"_0 = 00000000
"
     kworker/0:7-142     [000] ....   242.494224: rtcpu_string: tstamp:8277866189 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 19
"
     kworker/0:7-142     [000] ....   242.494229: rtcpu_string: tstamp:8277866554 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 19
"
     kworker/0:7-142     [000] ....   242.494233: rtcpu_string: tstamp:8277866911 id:0x04010000 str:"nvcsi_calc_tclk_settle tclk_settle 33
"
     kworker/0:7-142     [000] ....   242.494238: rtcpu_string: tstamp:8277867546 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_0_NVCSI_CIL_A_"
     kworker/0:7-142     [000] ....   242.494239: rtcpu_string: tstamp:8277867662 id:0x04010000 str:"SW_RESET_0 = 00000000
"
     kworker/0:7-142     [000] ....   242.494245: rtcpu_string: tstamp:8277868179 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_0_NVCSI_CIL_B_"
     kworker/0:7-142     [000] ....   242.494246: rtcpu_string: tstamp:8277868291 id:0x04010000 str:"SW_RESET_0 = 00000000
"
     kworker/0:7-142     [000] ....   242.494252: rtcpu_vinotify_event: tstamp:8278248335 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:264887913184 data:0xcd9ce50010000000
     kworker/0:7-142     [000] ....   242.494253: rtcpu_vinotify_event: tstamp:8278248507 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:264887924960 data:0x0000000031000001
     kworker/0:7-142     [000] ....   242.494254: rtcpu_vinotify_event: tstamp:8278248682 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:264887988992 data:0xcd9ce20010000000
     kworker/0:7-142     [000] ....   242.494254: rtcpu_vinotify_event: tstamp:8278248834 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:264888000928 data:0x0000000031000002
 vi-output, tis_-2391    [001] ....   242.783913: tegra_channel_capture_frame: sof:265.199496128
 vi-output, tis_-2391    [001] ....   242.783917: tegra_channel_capture_frame: eof:265.207362080
     kworker/0:7-142     [000] ....   242.830117: rtcpu_vinotify_event: tstamp:8287738402 cch:0 vi:0 tag:FS channel:0x00 frame:1 vi_tstamp:265199308064 data:0x0000000000000010
     kworker/0:7-142     [000] ....   242.830120: rtcpu_vinotify_event: tstamp:8287738559 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:1 vi_tstamp:265199308128 data:0x0000000800000000
     kworker/0:7-142     [000] ....   242.830121: rtcpu_vinotify_event: tstamp:8287738730 cch:0 vi:0 tag:CHANSEL_EMBED_SOF channel:0x23 frame:1 vi_tstamp:265199322560 data:0x0000000000000004
     kworker/0:7-142     [000] ....   242.830122: rtcpu_vinotify_event: tstamp:8287738879 cch:0 vi:0 tag:CHANSEL_EMBED_EOF channel:0x23 frame:1 vi_tstamp:265199343104 data:0x0000000000010008
     kworker/0:7-142     [000] ....   242.830123: rtcpu_vinotify_event: tstamp:8287739049 cch:0 vi:0 tag:ATOMP_EMB_DATA_DONE channel:0x23 frame:1 vi_tstamp:265199344000 data:0x0000000000000000
     kworker/0:7-142     [000] ....   242.830123: rtcpu_vinotify_event: tstamp:8287739198 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:1 vi_tstamp:265199370528 data:0x0000000003020001
     kworker/0:7-142     [000] ....   242.830124: rtcpu_vinotify_event: tstamp:8287739371 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:1 vi_tstamp:265199438272 data:0x00000000000006e9
     kworker/0:7-142     [000] ....   242.830125: rtcpu_vinotify_event: tstamp:8287739521 cch:0 vi:0 tag:CHANSEL_PXL_SOF channel:0x23 frame:1 vi_tstamp:265199496128 data:0x0000000000000001
     kworker/0:7-142     [000] ....   242.830126: rtcpu_vinotify_event: tstamp:8287739690 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:1 vi_tstamp:265199531072 data:0x0000000008020001
     kworker/0:7-142     [000] ....   242.830127: rtcpu_vinotify_event: tstamp:8287739838 cch:0 vi:0 tag:CHANSEL_PXL_EOF channel:0x23 frame:1 vi_tstamp:265207353632 data:0x00000000021f0002
     kworker/0:7-142     [000] ....   242.830128: rtcpu_vinotify_event: tstamp:8287740006 cch:0 vi:0 tag:ATOMP_FRAME_DONE channel:0x23 frame:1 vi_tstamp:265207354432 data:0x0000000000000000
     kworker/0:7-142     [000] ....   242.830129: rtcpu_vinotify_event: tstamp:8287740154 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:1 vi_tstamp:265207378528 data:0x0000000002020001
     kworker/0:7-142     [000] ....   242.830130: rtcpu_vinotify_event: tstamp:8288231047 cch:0 vi:0 tag:FE channel:0x00 frame:1 vi_tstamp:265207361984 data:0x0000000000000020
     kworker/0:7-142     [000] ....   242.830131: rtcpu_vinotify_event: tstamp:8288231221 cch:0 vi:0 tag:ATOMP_FE channel:0x00 frame:1 vi_tstamp:265207362080 data:0x0000000800000000
     kworker/0:7-142     [000] ....   242.830132: rtcpu_vinotify_event: tstamp:8288231391 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:1 vi_tstamp:265207445536 data:0x0000000000020001
 vi-output, tis_-2391    [000] ....   242.983903: tegra_channel_capture_frame: sof:265.399484672
 vi-output, tis_-2391    [000] ....   242.983907: tegra_channel_capture_frame: eof:265.407350560
        v4l2-ctl-2389    [000] ....   242.984084: tegra_channel_set_stream: enable : 0x0
        v4l2-ctl-2389    [000] ....   242.984088: tegra_channel_set_stream: tis_imx29x_mono 30-001a : 0x0
        v4l2-ctl-2389    [000] ....   242.985148: tegra_channel_set_stream: 13e10000.host1x:nvcsi@15a00000- : 0x0
        v4l2-ctl-2389    [000] ....   242.985156: csi_s_stream: enable : 0x0
        v4l2-ctl-2389    [000] ....   242.990471: tegra_channel_set_power: tis_imx29x_mono 30-001a : 0x0
        v4l2-ctl-2389    [000] ....   242.990481: camera_common_s_power: status : 0x0
        v4l2-ctl-2389    [000] ....   242.990507: tegra_channel_set_power: 13e10000.host1x:nvcsi@15a00000- : 0x0
        v4l2-ctl-2389    [000] ....   242.990509: csi_s_power: enable : 0x0
        v4l2-ctl-2389    [000] ....   242.992480: tegra_channel_close: vi-output, tis_imx29x_mono 30-0
     kworker/0:7-142     [000] ....   242.998238: rtcpu_vinotify_event: tstamp:8293988135 cch:0 vi:0 tag:FS channel:0x00 frame:2 vi_tstamp:265399296608 data:0x0000000000000010
     kworker/0:7-142     [000] ....   242.998241: rtcpu_vinotify_event: tstamp:8293988314 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:2 vi_tstamp:265399296672 data:0x0000000800000000
     kworker/0:7-142     [000] ....   242.998243: rtcpu_vinotify_event: tstamp:8293988464 cch:0 vi:0 tag:CHANSEL_EMBED_SOF channel:0x23 frame:2 vi_tstamp:265399311104 data:0x0000000000000004
     kworker/0:7-142     [000] ....   242.998244: rtcpu_vinotify_event: tstamp:8293988634 cch:0 vi:0 tag:CHANSEL_EMBED_EOF channel:0x23 frame:2 vi_tstamp:265399331648 data:0x0000000000010008
     kworker/0:7-142     [000] ....   242.998245: rtcpu_vinotify_event: tstamp:8293988787 cch:0 vi:0 tag:ATOMP_EMB_DATA_DONE channel:0x23 frame:2 vi_tstamp:265399332512 data:0x0000000000000000
     kworker/0:7-142     [000] ....   242.998246: rtcpu_vinotify_event: tstamp:8293988955 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:2 vi_tstamp:265399359104 data:0x0000000003020002
     kworker/0:7-142     [000] ....   242.998247: rtcpu_vinotify_event: tstamp:8293989118 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:2 vi_tstamp:265399426816 data:0x00000000000006e9
     kworker/0:7-142     [000] ....   242.998248: rtcpu_vinotify_event: tstamp:8293989289 cch:0 vi:0 tag:CHANSEL_PXL_SOF channel:0x23 frame:2 vi_tstamp:265399484672 data:0x0000000000000001
     kworker/0:7-142     [000] ....   242.998249: rtcpu_vinotify_event: tstamp:8293989437 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:2 vi_tstamp:265399519616 data:0x0000000008020002
     kworker/0:7-142     [000] ....   242.998250: rtcpu_vinotify_event: tstamp:8293989604 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:265399801184 data:0xcd9ce50010000000
     kworker/0:7-142     [000] ....   242.998251: rtcpu_vinotify_event: tstamp:8293989753 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:265399844672 data:0x0000000031000003
     kworker/0:7-142     [000] ....   242.998252: rtcpu_vinotify_event: tstamp:8293989922 cch:0 vi:0 tag:CHANSEL_PXL_EOF channel:0x23 frame:2 vi_tstamp:265407342144 data:0x00000000021f0002
     kworker/0:7-142     [000] ....   242.998252: rtcpu_vinotify_event: tstamp:8293990071 cch:0 vi:0 tag:ATOMP_FRAME_DONE channel:0x23 frame:2 vi_tstamp:265407342944 data:0x0000000000000000
     kworker/0:7-142     [000] ....   242.998254: rtcpu_string: tstamp:8294019521 id:0x04010000 str:"ISR PHY 0 CIL_A 0x1
"
     kworker/0:7-142     [000] ....   242.998278: rtcpu_nvcsi_intr: tstamp:8294019185 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000001
     kworker/0:7-142     [000] ....   242.998279: rtcpu_string: tstamp:8294020022 id:0x04010000 str:"ISR1 PHY 0 CIL_A status 20
"
     kworker/0:7-142     [000] ....   242.998288: rtcpu_nvcsi_intr: tstamp:8294019185 class:GLOBAL type:PHY_INTR1 phy:0 cil:0 st:0 vc:0 status:0x00000020
     kworker/0:7-142     [000] ....   242.998289: rtcpu_string: tstamp:8294031707 id:0x04010000 str:"tegra_nvcsi_stream_close(vm0, stream=0, csi=0)
"
     kworker/0:7-142     [000] ....   242.998296: rtcpu_string: tstamp:8294032563 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_0_NVCSI_CIL_A_"
     kworker/0:7-142     [000] ....   242.998299: rtcpu_string: tstamp:8294032676 id:0x04010000 str:"SW_RESET_0 = 00000001
"
     kworker/0:7-142     [000] ....   242.998307: rtcpu_string: tstamp:8294033188 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_0_NVCSI_CIL_B_"
     kworker/0:7-142     [000] ....   242.998309: rtcpu_string: tstamp:8294033302 id:0x04010000 str:"SW_RESET_0 = 00000000
"
     kworker/0:7-142     [000] ....   242.998316: rtcpu_string: tstamp:8294034010 id:0x04010000 str:"nvcsi_reset_lane_merger: NVCSI_PHY_0_LM_SW_RESET"
     kworker/0:7-142     [000] ....   242.998318: rtcpu_string: tstamp:8294034123 id:0x04010000 str:"_0 = 00000001
"
     kworker/0:7-142     [000] ....   242.998327: rtcpu_vinotify_event: tstamp:8294338660 cch:-1 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:2 vi_tstamp:265407375680 data:0x0000000002020002
     kworker/0:7-142     [000] ....   242.998328: rtcpu_vinotify_event: tstamp:8294338811 cch:-1 vi:0 tag:FE channel:0x00 frame:2 vi_tstamp:265407350496 data:0x0000000000000020
     kworker/0:7-142     [000] ....   242.998329: rtcpu_vinotify_event: tstamp:8294338987 cch:-1 vi:0 tag:ATOMP_FE channel:0x00 frame:2 vi_tstamp:265407350560 data:0x0000000800000000
     kworker/0:7-142     [000] ....   242.998330: rtcpu_vinotify_event: tstamp:8294339132 cch:-1 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:2 vi_tstamp:265407434016 data:0x0000000000020002
 gst-plugin-scan-2414    [001] ....   243.723732: tegra_channel_open: vi-output, tis_imx29x_mono 30-0
 gst-plugin-scan-2414    [001] ....   243.723808: tegra_channel_close: vi-output, tis_imx29x_mono 30-0
     kworker/0:7-142     [000] ....   248.950130: rtcpu_string: tstamp:8480062693 id:0x04010000 str:"VM0 deactivating."

hello bdudley,

is it a single camera use-case?
please try revise position property to rear as it’s the default settings for single camera.
is it correct that your sensor sending 2 embedded metadata line?

may I double check what’s the sensor output pixel formats?
these two looks contradiction.

BTW,
may I also know your pipeline to launch camera stream via gstreamer.

Thanks for the response.

Currently, this is a single camera system, however, we want to add an additional camera using a different sensor and a second CSI brick.

For the current setup, this camera supports 2 metadata lines as far as I know. I obtained that setting from the mfr. device-tree source. I can verify the sensor works in a Jetson Nano/Nvidia carrier system running JP 4.5.1.

In our desired configuration of a Xavier NX/CTI Boson setup running JP 5.1.2, I have ported the driver and constructed a device tree with the settings I think should work. Regarding the position attribute, I observe the same behavior with front or rear as the value.

Regarding the raw_fourcc_color setting, the vendor’s dts uses RG10 for the Nano and RG16 for the Xavier. As part of my integration debugging, I have tried both settings, but I have observed the same failed behavior when attempting to start a gst pipeline.

Note that I can capture a frame using this command:

v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=1 --stream-to=file.raw

However, I cannot start a gst pipeline using either the nvarguscamerasrc or v4l2src. I have tried the following commands with Argus:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=1 ! 'video/x-raw(memory:NVMM),width=640,height=480,framerate=5/1,format=NV12' ! nvvidconv ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v
gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=1 ! 'video/x-raw(memory:NVMM),width=640,height=480,framerate=5/1,format=NV12' ! nvvidconv ! xvimagesink
gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=1 ! 'video/x-raw(memory:NVMM),width=640,height=480,framerate=5/1,format=NV12' ! nvvidconv ! nv3dsink

hello bdudley,

let’s dump the sensor support formats, $ v4l2-ctl -d /dev/video0 --list-formats-ext
please also check Camera Driver Porting since you’re porting from JP-4 to JP-5.

JerryChang,

V4l2 lists these formats:

nvidia@nvidia-desktop:~$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'RG10' (10-bit Bayer RGRG/GBGB)
                Size: Discrete 728x544
                        Interval: Discrete 0.008s (120.000 fps)
                        Interval: Discrete 0.017s (60.000 fps)
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                        Interval: Discrete 1.000s (1.000 fps)
                Size: Discrete 640x480
                        Interval: Discrete 0.008s (131.000 fps)
                        Interval: Discrete 0.008s (120.000 fps)
                        Interval: Discrete 0.017s (60.000 fps)
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                        Interval: Discrete 1.000s (1.000 fps)

hello bdudley,

it shows RG10 according to sensor format dumps.
could you please double check the correctness of your raw file captured by v4l2-ctl.

I know from the sensor mfr’s datasheet, it is a Bayer rggb sensor with a 10-bit pixel depth, so that is the value I am using. Unfortunately, the dts I attached was a test with RG16, however, I have not been concerned with that because I have tried both settings with equal results.

The camera mfr, which is a different company than the sensor mfr, specifies it is a 10-bit sensor, so I am not sure why their driver uses RG16 in the Xavier dts. Again, I have tested with both settings, and neither solves the problem

Regarding the raw file, the byte count of the file is exactly 2x the number of pixels of the senor. This is to be expected because the 10-bit pixels are being saved to a memory device that is 8-bits wide, so 2 bytes are required to save 10 bits. That being the case, the data appears to match the format outlined in this post: How to make RAW-10 data display properly on Jetson NX? - #3 by ShaneCCC

Unfortunately, I have at least two issues -

  1. the raw image from the sensor has some banding/data alignment issues
  2. the argus daemon does not see the camera.

My working assumptions for the issues are:
Issue 1 - The settings written to the sensor register (most likely clock and line length) are off a bit, and/or mismatched with the dts
Issue 2 - I have missed something that argus requires in my port of the driver.

In my investigation, I have come across some information that leads me to believe the version of the v4l2src plugin in that is included in JP 5.1.2 does not support this pixel format (SRGGB10). As it is now I cannot setup a gstreamer pipeline with either, nvarguscamersrc or v4l2src. I can only capture images using v4l2-ctl, then view the capture with a separate application. Will you, please, verify whether the v4l2src plugin in JP 5.1.2 supports this pixel format?

hello bdudley,

as you can see.. Xavier series took T_R16 to handle Raw10 content.
so, a 10-bit data in memory looks like this..

bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Raw10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 d9 d8 d7 d6 d5 d4

let’s keep below settings for a Bayer rggb sensor with a 10-bit pixel depth.

            csi_pixel_bit_depth = "10";
            mode_type = "bayer";
            pixel_phase = "rggb";

this is due to a LP sequence error detected on clock lane [A/B].
please give it a try to adjust cil_settletime, you may see-also developer guide for more details.

please also try to boost all the VI/CSI/ISP clocks with below commands,

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate

besides,
let’s give it a try for disabling preview and shows frame-rate only to launch camera with nvarguscamerasrc.
$ gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=728, height=544, framerate=30/1, format=NV12' ! nvvidconv ! fpsdisplaysink text-overlay=0 name=sink_0 video-sink=fakesink sync=0 -v

Adjusting cil_settletime according to the dev guide doesn’t resolve the issue for us. Setting it to 15, which is calculated based on the recommendation in the dev guide, causes captures to fail altogether.

Boosting the clocks doesn’t cause and behavioral changes. Argus still gives the “No cameras available” error.

hello bdudley,

I assume you have DTB Support to load device tree blob via FDT entry, right?
please disassembler the dtb file into text file, let me double check your device tree port bindings.
for instance, $ dtc -I dtb -O dts -o output.txt tegra194-xxx.dtb

We are using DTB but we are not using overlays. DTS is attached. It is gzipped because the web i/f will not let me upload the raw dts file.
imx297.dts.gz (46.6 KB)

hello bdudley,

please try remove virtual channel ID from VI node.
for instance,

	tegra-capture-vi {
		ports {
			port@0 {
				endpoint {
					vc-id = <0x0>; <==  remove this.  

please try using continuous clock for testing.

				tis_imx297_a@1a {
					mode0 {
						discontinuous_clk = "yes"; <== change to "no". 

besides..
please double check devname property settings within tegra-camera-platform{},
the devname with respect to its device name and i2c slave address,

	tegra-camera-platform {
		modules {
			module0 {
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "tis_imx29x_mono 30-001a";

BTW,
please see-also similar topics for reference, such as.. Topic 255878, and Topic 322663.

Hi JerryChang,

I deleted the vc_id attribute - still the same behavior. Argus does not initialize the camera. Same with the discontinuous_clk setting.

I also updated my dts and the i2c device id table in my driver as below. No change in behavior. Currently, I am running the Argus daemon in the foreground with Pcl and Scf logs set to 5, but the logs do not indicate with specificity which setting it may not be able to find. Is there any more logging/debugging capability to enable in Argus?

Driver device ids:

static const struct i2c_device_id tis_imx296_id[] = {
	{ "tis_imx296_mono", 0 },
	{ "tis_imx297_mono", 0 },
	{ }
};

Update dts:

/dts-v1/;
#include "tegra194-xavier-nx-cti-NGX007.dts" 


/ {
    nvidia,dtsfilename = "tegra194-cti-mantis-mono-19.dts";
    nvidia,dtbbuildtime = __DATE__, __TIME__;

};

/* camera control gpio definitions */
/ {
  tegra-camera-platform {
    compatible = "nvidia, tegra-camera-platform";
    status = "okay";

    /**
    * Physical settings to calculate max ISO BW
    *
    * num_csi_lanes = <>;
    * Total number of CSI lanes when all cameras are active
    *
    * max_lane_speed = <>;
    * Max lane speed in Kbit/s
    *
    * min_bits_per_pixel = <>;
    * Min bits per pixel
    *
    * vi_peak_byte_per_pixel = <>;
    * Max byte per pixel for the VI ISO case
    *
    * vi_bw_margin_pct = <>;
    * Vi bandwidth margin in percentage
    *
    * max_pixel_rate = <>;
    * Max pixel rate in Kpixel/s for the ISP ISO case
    *
    * isp_peak_byte_per_pixel = <>;
    * Max byte per pixel for the ISP ISO case
    *
    * isp_bw_margin_pct = <>;
    * Isp bandwidth margin in percentage
    */
    num_csi_lanes = <4>;
    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 {
      module0 {
        badge = "imx297_front_tis_imx297";
        position = "rear";
        orientation = "0";
        status = "okay";
        drivernode0 {
          /* Declare PCL support driver (classically known as guid)  */
          pcl_id = "v4l2_sensor";
          /* Driver v4l2 device name */
          devname = "tis_imx29x_mono 30-001a";
          /* Declare the device-tree hierarchy to driver instance */
          proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@74/i2c@0/tis_imx297_mono@1a";
          status = "okay";
        };
      };
    };
  };
};

/ {
  tegra-capture-vi {
    num-channels = <1>;
    status = "okay";
    ports {
      #address-cells = <1>;
      #size-cells = <0>;
      port@0 {
        reg = <0>;
        status = "okay";
        vi_in0: endpoint {
          port-index = <0>;
          bus-width = <1>;
          status = "okay";
          remote-endpoint = <&csi_out0>;
        };
      };
      /*port@1 {
        reg = <1>;
        status = "disabled";
      };
      port@2 {
        reg = <2>;
        status = "disabled";
      };
      port@3 {
        reg = <3>;
        status = "disabled";
      };*/
    };
  };

  host1x@13e00000{
    nvcsi@15a00000 {
      num-channels = <1>;
      #address-cells = <1>;
      #size-cells = <0>;
      status = "okay";	
      channel@0 {
        reg = <0>;
        status = "okay";	
        ports {
          #address-cells = <1>;
          #size-cells = <0>;
          port@0 {
            reg = <0>;
            status = "okay";
            csi_in0: endpoint@0 {
              port-index = <0>;
              bus-width = <1>;
              status = "okay";
              remote-endpoint = <&imx297_a_out0>;
            };
          };
          port@1 {
            reg = <1>;
            status = "okay";
            csi_out0: endpoint@1 {
              remote-endpoint = <&vi_in0>;
              status = "okay";
            };
          };
        };
      };
/*      channel@1 {
        reg = <1>;
        status = "okay";	
      };
      channel@2 {
        reg = <2>;
        status = "okay";	
      };
      channel@3 {
        reg = <3>;
        status = "okay";	
      };*/
    };
  };
};


/ {
  i2c@3180000 {
    #address-cells = <1>;
    #size-cells = <0>;
    clock-frequency = <100000>;
    status = "okay";

    tca9548@74 {
      compatible = "nxp,pca9548";
      reg = <0x74>;
      #address-cells = <1>;
      #size-cells = <0>;
      skip_mux_detect;
      vcc-supply = <&p3509_vdd_3v3_cvb>;
      force_bus_start = <(0x1E + 0)>;
      status = "okay";

      i2c@0 {
        reg = <0>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "okay";

        tis_imx297_mono@1a  {
          compatible = "tis,tis_imx297_mono";
          reg = <0x1a>;
          reg-tis_eeprom = <0x50>;
          reg-nv_eeprom = <0x57>;
          reg-fpga_user = <0x42>;
          reg-fpga_config = <0x40>;
          reset-gpios = <&tis_interposer_0 1 GPIO_ACTIVE_HIGH>;
          pwdn-gpios = <&tis_interposer_0 0 GPIO_ACTIVE_HIGH>;
          gpoutlevel-gpios = <&tis_interposer_0 2 GPIO_ACTIVE_HIGH>;
          gpoutpushpull-gpios = <&tis_interposer_0 3 GPIO_ACTIVE_HIGH>;
          gpoutselect-gpios = <&tis_interposer_0 4 GPIO_ACTIVE_HIGH>;
          triglvlsel-gpios = <&tis_interposer_0 5 GPIO_ACTIVE_HIGH>;
          trigsrcsel-gpios = <&tis_interposer_0 6 GPIO_ACTIVE_HIGH>;
          devnode = "video0";
          physical_w = "5.640";
          physical_h = "3.216";
          sensor_model = "imx297";
          use_decibel_gain = "true";
          use_sensor_mode_id = "false";
          post_crop_frame_drop = "2";
          delayed_gain = "false";
          status = "okay";

          mode0 {
            num_lanes = "1";
            tegra_sinterface = "serial_a";
            mclk_khz = "37000";
            phy_mode = "DPHY";
            discontinuous_clk = "no";
            dpcm_enable = "false";
            cil_settletime = "20";
            raw_fourcc_color = "RG10";
            raw_fourcc_mono = "Y10 ";
            active_w = "728";
            active_h = "544";
            line_length = "1070";
            dynamic_pixel_bit_depth = "10";
            csi_pixel_bit_depth = "10";
            mode_type = "bayer";
            pixel_phase = "rggb";
            readout_orientation = "0";
            inherent_gain = "1";
            pix_clk_hz = "118800000";
            gain_factor = "10";
            framerate_factor = "1000000";
            exposure_factor = "1000000";
            min_gain_val = "0";
            max_gain_val = "480";
            step_gain_val = "1";
            default_gain = "0";
            min_hdr_ratio = "1";
            max_hdr_ratio = "1";
            min_framerate = "5000000";
            max_framerate = "120000000";
            step_framerate = "1";
            default_framerate = "120000000";
            min_exp_time = "1";
            max_exp_time = "1000000";
            step_exp_time = "1";
            default_exp_time = "5000";
            embedded_metadata_height = "2";
          };
/*
          mode1 {
            num_lanes = "1";
            tegra_sinterface = "serial_a";
            mclk_khz = "37000";
            phy_mode = "DPHY";
            discontinuous_clk = "yes";
            dpcm_enable = "false";
            cil_settletime = "0";
            raw_fourcc_color = "RG10";
            raw_fourcc_mono = "Y10 ";
            active_w = "640";
            active_h = "480";
            line_length = "1070";
            dynamic_pixel_bit_depth = "10";
            csi_pixel_bit_depth = "10";
            mode_type = "bayer";
            pixel_phase = "rggb";
            readout_orientation = "0";
            inherent_gain = "1";
            pix_clk_hz = "118400000";
            gain_factor = "10";
            framerate_factor = "1000000";
            exposure_factor = "1000000";
            min_gain_val = "0";
            max_gain_val = "480";
            step_gain_val = "1";
            default_gain = "0";
            min_hdr_ratio = "1";
            max_hdr_ratio = "1";
            min_framerate = "5000000";
            max_framerate = "131000000";
            step_framerate = "1";
            default_framerate = "120000000";
            min_exp_time = "1";
            max_exp_time = "1000000";
            step_exp_time = "1";
            default_exp_time = "2495";
            embedded_metadata_height = "2";
          };
*/
          ports {
            #address-cells = <1>;
            #size-cells = <0>;
            status="okay";
            port@0 {
              reg = <0>;
              status="okay";
              imx297_a_out0: endpoint {
                port-index = <0>;
                bus-width = <1>;
                remote-endpoint = <&csi_in0>;
                status="okay";
              };
            };
          };
      
          tis_interposer_0: tis_interposer {
            gpio-controller;
            #gpio-cells = <2>;
            clock_khz = <37000>;
            tis_interposer_a_input {
              status = "disabled";
            };
            tis_interposer_a_outlow {
              status = "okay";
              gpio-hog;
              output-low;
              gpios = <0 0 1 0 2 0 3 0 4 0 5 0 6 0>;
              line-name = "tis_interposer_0_CAM_PWR", "tis_interposer_0_RESET", "tis_interposer_0_GPOUT_LEVEL", "tis_interposer_0_GPOUT_PUSHPULL", "tis_interposer_0_GPOUT_SELECT", "tis_interposer_0_TRIG_LVL_SEL", "tis_interposer_0_TRIG_SRC_SEL";
            };
            tis_interposer_a_outhigh {
              status = "disabled";
            };
          };
        };
      };

      i2c@1 {
        reg = <1>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";
      };

      i2c@2 {
        reg = <2>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";
      };

      i2c@3 {
        reg = <3>;
        i2c-mux,deselect-on-exit;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";
      };
    };
  };

  /* Nvidia SPI-0; CTI SPI-0 */
  spi@3210000 {
    status = "okay";
    /delete-node/ spi@0;

    ecp5_spi_0@0 {
      compatible = "tegra-spidev";
      reg = <0x0>;
      spi-max-frequency = <65000000>;
      status = "okay";
      controller-data{
        nvidia,enable-hw-based-cs;
      };
    };
  };

  /* Nvidia SPI-2; CTI SPI-1 */
  spi@3230000 {
    status = "okay";
    /delete-node/ spi@0;

    ecp5_spi_1@0 {
      compatible = "tegra-spidev";
      reg = <0x0>;
      spi-max-frequency = <65000000>;
      status = "okay";
      controller-data{
        nvidia,enable-hw-based-cs;
      };
    };
  };

};



#if LINUX_VERSION >= 414
#include <tegra194-linux-4.14.dtsi>
#endif

hello bdudley,

here’re steps to enable Argus logs, please configure below settings on the target.

$ sudo su 
# pkill nvargus-daemon
# export enableCamScfLogs=5
# export enableCamCoreLogs=5
# nvargus-daemon 2>&1 | tee argus-output.log

Thanks. I have already enabled logs that way. The logs are in the original post. I was asking if there are any additional log levels or categories I can enable.