Nvarguscamerasrc problem for the imx390

Hi all,

I’m using imx390-li-gmsl2 module on the orin.

Bayer-raw image gathering is working well.
But ISP pipeline(argus) has problems.

[Environment]

SDK: Jetpack 5.0.2.
Kernel : Jetson Linux 35.1

MIPI expension: LI-JXAV-MIPI-ADPT 4CAM v1.0
DES : LI-MAX9296-IPX-DESER v1.0

[V4L raw-dump logs : normal ]

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

        [0]: 'RG12' (12-bit Bayer RGRG/GBGB)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.033s (30.000 fps)
espresso@ubuntu:~$
espresso@ubuntu:~$
espresso@ubuntu:~$ v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG12 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=test.raw
[  963.045009] imx390 30-0021: imx390_power_on: power on
[  963.077021] bwmgr API not supported
[  963.087478] imx390 30-0021: imx390_set_mode: mode index:0
[  963.091093] imx390 30-0021: imx390_write_table: channel 0,
[  964.132527] imx390 30-0021: imx390_write_table: channel 0,
<[  964.254090] imx390 30-0021: imx390_write_table: channel 0,

[  964.257739] bwmgr API not supported
[  964.267648] imx390 30-0021: imx390_power_off:
espresso@ubuntu:~$ [  964.478369] imx390 30-0021: imx390_open:
[  964.478429] imx390 31-0021: imx390_open:
[  964.478480] imx390 32-0021: imx390_open:
[  964.478529] imx390 33-0021: imx390_open:

espresso@ubuntu:~$ ls -al test.raw
-rw-rw-r-- 1 espresso espresso 4147200 10월 27 09:25 test.raw

[ nvarguscamerasrc logs : abnormal ]

root@ubuntu:/home/espresso# DISPLAY=:0 gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Error generated. gstnvarguscamerasrc.cpp, execute:751 No cameras available
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
Not enough buffering available for  the processing deadline of 0:00:00.015000000, add enough queues to buffer  0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
Got EOS from element "pipeline0".
Execution ended after 0:00:00.004412032
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

[ argus-daemon logs : abnormal ]

export DISPLAY=:0
export enableCamPclLogs=5
export enableCamScfLogs=5

killall nvargus-daemon

echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace


nvargus-daemon &



=== gst-launch-1.0[160]: Connection established (FFFF9815B900)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 7 getting next capture
Thread 7 is waiting
Thread 8 getting next capture
Thread 8 is waiting
Thread 9 getting next capture
Thread 9 is waiting
Thread 10 getting next capture
Thread 10 is waiting
Thread 11 getting next capture
Thread 11 is waiting
Thread 12 getting next capture
Thread 12 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(0xffff6c85ddf0)
getInstance: s_instance(0xffff6c85ddf0)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0xffff6c850ba0)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0xffff6c862ec0)
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
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_bottomleft_liimx390
NvPclHwPrintModuleDefinition -- Position: 0
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 30-001a
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName:
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_bottomright_liimx390
NvPclHwPrintModuleDefinition -- Position: 4
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 31-001a
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName:
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_centerleft_liimx390
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 32-001a
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_centerright_liimx390
NvPclHwPrintModuleDefinition -- Position: 2
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 33-001a
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: imx390_bottomleft_liimx390 position0
NvPclModuleListInitialize: NvPclModule list[1]: imx390_bottomright_liimx390 position4
NvPclModuleListInitialize: NvPclModule list[2]: imx390_centerleft_liimx390 position1
NvPclModuleListInitialize: NvPclModule list[3]: imx390_centerright_liimx390 position2
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
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
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 0 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8ad160
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c932250
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a9490
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a8a00
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a9000
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8ae7e0
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/imx390_bottomleft_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_bottomleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_bottomleft_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomleft_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomleft_liimx390.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)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
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 107)
NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclDriver_V4L2_Focuser_Stub_Close: Invalid NULL input pPclDriver
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a8a00
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a9000
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8ae7e0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8ad160
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c932250
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a9490
NvPclStateControllerOpen: Failed ImagerGUID 0. (error 0xA000E)
NvPclStateControllerClose: Module imx390_bottomleft_liimx390 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 646)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 311)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 477)
Acquiring SCF Camera device source via index 0 has failed. NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 4 match at index[1]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8aefb0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c932250
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8ad160
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8ae7e0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a9000
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a8a00
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/imx390_bottomright_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_bottomright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_bottomright_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomright_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomright_liimx390.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)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
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 107)
NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclDriver_V4L2_Focuser_Stub_Close: Invalid NULL input pPclDriver
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8ae7e0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a9000
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a8a00
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8aefb0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c932250
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8ad160
NvPclStateControllerOpen: Failed ImagerGUID 4. (error 0xA000E)
NvPclStateControllerClose: Module imx390_bottomright_liimx390 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 646)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 311)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 477)
Acquiring SCF Camera device source via index 1 has failed. NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 1 match at index[2]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8af180
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8ad160
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c932250
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8aefb0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a8a00
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a9000
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/imx390_centerleft_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_centerleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_centerleft_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerleft_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_centerleft_liimx390.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 107)
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 @ 0xffff6c8aefb0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a8a00
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a9000
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8af180
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8ad160
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c932250
NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E)
NvPclStateControllerClose: Module imx390_centerleft_liimx390 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 646)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 311)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 477)
Acquiring SCF Camera device source via index 2 has failed. NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 2 match at index[3]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8ae7e0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c932250
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8ad160
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8af180
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a9000
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff6c8a8a00
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/imx390_centerright_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_centerright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerright_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_centerright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_centerright_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_centerright_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_centerright_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerright_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_centerright_liimx390.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 107)
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 @ 0xffff6c8af180
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a9000
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8a8a00
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8ae7e0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c932250
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff6c8ad160
NvPclStateControllerOpen: Failed ImagerGUID 2. (error 0xA000E)
NvPclStateControllerClose: Module imx390_centerright_liimx390 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 646)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 311)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 477)
Acquiring SCF Camera device source via index 3 has failed. === gst-launch-1.0[160]: CameraProvider initialized (0xffff6c8a9530)=== gst-launch-1.0[160]: CameraProvider destroyed (0xffff6c8a9530)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(0xffff6c850ba0)
unsubscribe: SensorType(accelerometer)
unsubscribe: accelerometer sensor(0xffff6c862ec0)
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 6 exiting
FiberScheduler: thread 10 exiting
FiberScheduler: thread 9 exiting
FiberScheduler: thread 11 exiting
FiberScheduler: thread 8 exiting
FiberScheduler: thread 5 exiting
FiberScheduler: thread 7 exiting
FiberScheduler: thread 2 exiting
FiberScheduler: thread 3 exiting
FiberScheduler: thread 12 exiting
FiberScheduler: thread 1 exiting
FiberScheduler: thread 12 has been joined
FiberScheduler: thread 9 has been joined
FiberScheduler: thread 7 has been joined
FiberScheduler: thread 5 has been joined
FiberScheduler: thread 11 has been joined
FiberScheduler: thread 8 has been joined
FiberScheduler: thread 4 has been joined
FiberScheduler: thread 3 has been joined
FiberScheduler: thread 6 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[160]: Connection closed (FFFF9815B900)=== gst-launch-1.0[160]: Connection cleaned up (FFFF9815B900)


It could be incorrect contexts in modules of tegra-camera-platform{}

However, v4l2 pipeline is working fine with same device-tree.

Anyway, this is my dts.
Please review and let me know.

/*
  * imx390.c - imx390 sensor driver
 * Copyright (c) 2021-2022, LeopardImaging Inc. All rights reserved.
 *
 * Based on Copyright (c) 2018-2019, NVIDIA CORPORATION.  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/>.
 */

/ {
	tegra-capture-vi {
			status = "okay";
			num-channels = <4>;
			ports {
				status = "okay";
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					imx390_vi_in0: endpoint {
						status = "okay";
						port-index = <0>;
						bus-width = <2>;
						remote-endpoint = <&imx390_csi_out0>;
					};
				};
				port@1 {
					reg = <1>;
					imx390_vi_in1: endpoint {
						status = "okay";
						port-index = <2>;
						bus-width = <2>;
						remote-endpoint = <&imx390_csi_out1>;
					};
				};
				port@2 {
					reg = <2>;
					imx390_vi_in2: endpoint {
						status = "okay";
						port-index = <4>;
						bus-width = <2>;
						remote-endpoint = <&imx390_csi_out2>;
					};
				};
				port@3 {
					reg = <3>;
					imx390_vi_in3: endpoint {
						status = "okay";
						port-index = <5>;
						bus-width = <2>;
						remote-endpoint = <&imx390_csi_out3>;
					};
				};
			};
		};

	host1x@13e00000 {
		nvcsi@15a00000 {
			status = "okay";
			num-channels = <4>;
			#address-cells = <1>;
			#size-cells = <0>;
			channel@0 {
				reg = <0>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_csi_in0: endpoint@0 {
							status = "okay";
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&imx390_out0>;
						};
					};
					port@1 {
						reg = <1>;
						imx390_csi_out0: endpoint@1 {
							status = "okay";
							remote-endpoint = <&imx390_vi_in0>;
						};
					};
				};
			};
			channel@1 {
				reg = <1>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_csi_in1: endpoint@2 {
							status = "okay";
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&imx390_out1>;
						};
					};
					port@1 {
						reg = <1>;
						imx390_csi_out1: endpoint@3 {
							status = "okay";
							remote-endpoint = <&imx390_vi_in1>;
						};
					};
				};
			};
			channel@2 {
				reg = <2>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_csi_in2: endpoint@4 {
							status = "okay";
							port-index = <4>;
							bus-width = <2>;
							remote-endpoint = <&imx390_out2>;
						};
					};
					port@1 {
						reg = <1>;
						imx390_csi_out2: endpoint@5 {
							status = "okay";
							remote-endpoint = <&imx390_vi_in2>;
						};
					};
				};
			};
			channel@3 {
				reg = <3>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_csi_in3: endpoint@6 {
							status = "okay";
							port-index = <6>;
							bus-width = <2>;
							remote-endpoint = <&imx390_out3>;
						};
					};
					port@1 {
						reg = <1>;
						imx390_csi_out3: endpoint@7 {
							status = "okay";
							remote-endpoint = <&imx390_vi_in3>;
						};
					};
				};
			};
		};
	};

	i2c@3180000 {
		tca9546@70 {
			i2c@0 {
			max929x_a@48 {
				compatible = "maxim,max929x";
				reg = <0x48>;
				channel = "a";
			};
			imx390_a@1a {
				compatible = "sony,imx390";

				reg = <0x21>;
				devnode = "video0";
				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="imx390";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				//use_decibel_gain = "true";
				//delayed_gain = "true";
				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "true";
				limit_analog_gain = "true";
				/**
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* mclk_khz = "";
				* Standard MIPI driving clock, typically 24MHz
				*
				* num_lanes = "";
				* Number of lane channels sensor is programmed to output
				*
				* tegra_sinterface = "";
				* The base tegra serial interface lanes are connected to
				*
				* vc_id = "";
				* The virtual channel id of the sensor.
				*
				* discontinuous_clk = "";
				* The sensor is programmed to use a discontinuous clock on MIPI lanes
				*
				* dpcm_enable = "true";
				* The sensor is programmed to use a DPCM modes
				*
				* cil_settletime = "";
				* MIPI lane settle time value.
				* A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* dynamic_pixel_bit_depth = "";
				* sensor dynamic bit depth for sensor mode
				*
				* csi_pixel_bit_depth = "";
				* sensor output bit depth for sensor mode
				*
				* mode_type="";
				* Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
				*
				* pixel_phase="";
				* Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				* This is used to calibrate features in our camera stack.
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				*
				*
				*
				* inherent_gain = "";
				* Gain obtained inherently from mode (ie. pixel binning)
				*
				* min_gain_val = ""; (floor to 6 decimal places)
				* max_gain_val = ""; (floor to 6 decimal places)
				* Gain limits for mode
				* if use_decibel_gain = "true", please set the gain as decibel
				*
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (us)
				*
				*
				* min_hdr_ratio = "";
				* max_hdr_ratio = "";
				* HDR Ratio limits for mode
				*
				* min_framerate = "";
				* max_framerate = "";
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.
				*/

				mode0 {
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "2200";
					inherent_gain = "1";
					mclk_multiplier = "6";
					pix_clk_hz = "74250000";
					serdes_pix_clk_hz = "200000000";

					gain_factor = "10";
					min_gain_val = "30";
					max_gain_val = "300";
					step_gain_val = "3";
					default_gain = "30";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1";
					min_framerate = "30";
					max_framerate = "30";
					step_framerate = "1";
					default_framerate = "30";
					exposure_factor = "1000000";
					min_exp_time = "24";
					max_exp_time = "40000";
					step_exp_time = "1";
					default_exp_time = "24000";
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_out0: endpoint {
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&imx390_csi_in0>;
							};
						};
					};
				};
			};
			i2c@1 {
			max929x_b@48 {
				compatible = "maxim,max929x";
				reg = <0x48>;
				channel = "b";
			};
			imx390_c@1a {
				compatible = "sony,imx390";

				reg = <0x21>;
				devnode = "video1";
				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="imx390";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				//use_decibel_gain = "true";
				//delayed_gain = "true";
				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "true";
				limit_analog_gain = "true";
				/**
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* mclk_khz = "";
				* Standard MIPI driving clock, typically 24MHz
				*
				* num_lanes = "";
				* Number of lane channels sensor is programmed to output
				*
				* tegra_sinterface = "";
				* The base tegra serial interface lanes are connected to
				*
				* vc_id = "";
				* The virtual channel id of the sensor.
				*
				* discontinuous_clk = "";
				* The sensor is programmed to use a discontinuous clock on MIPI lanes
				*
				* dpcm_enable = "true";
				* The sensor is programmed to use a DPCM modes
				*
				* cil_settletime = "";
				* MIPI lane settle time value.
				* A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* dynamic_pixel_bit_depth = "";
				* sensor dynamic bit depth for sensor mode
				*
				* csi_pixel_bit_depth = "";
				* sensor output bit depth for sensor mode
				*
				* mode_type="";
				* Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
				*
				* pixel_phase="";
				* Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				* This is used to calibrate features in our camera stack.
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				*
				*
				*
				* inherent_gain = "";
				* Gain obtained inherently from mode (ie. pixel binning)
				*
				* min_gain_val = ""; (floor to 6 decimal places)
				* max_gain_val = ""; (floor to 6 decimal places)
				* Gain limits for mode
				* if use_decibel_gain = "true", please set the gain as decibel
				*
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (us)
				*
				*
				* min_hdr_ratio = "";
				* max_hdr_ratio = "";
				* HDR Ratio limits for mode
				*
				* min_framerate = "";
				* max_framerate = "";
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.
				*/

				mode0 {
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_c";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "2200";
					inherent_gain = "1";
					mclk_multiplier = "6";
					pix_clk_hz = "74250000";
					serdes_pix_clk_hz = "200000000";

					gain_factor = "10";
					min_gain_val = "30";
					max_gain_val = "300";
					step_gain_val = "3";
					default_gain = "30";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1";
					min_framerate = "30";
					max_framerate = "30";
					step_framerate = "1";
					default_framerate = "30";
					exposure_factor = "1000000";
					min_exp_time = "24";
					max_exp_time = "40000";
					step_exp_time = "1";
					default_exp_time = "24000";
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_out1: endpoint {
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&imx390_csi_in1>;
							};
						};
					};
				};
			};
			i2c@2 {
			max929x_c@48 {
				compatible = "maxim,max929x";
				reg = <0x48>;
				channel = "c";
			};
			imx390_e@1a {
				compatible = "sony,imx390";

				reg = <0x21>;
				devnode = "video2";
				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="imx390";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				//use_decibel_gain = "true";
				//delayed_gain = "true";
				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "true";
				limit_analog_gain = "true";
				/**
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* mclk_khz = "";
				* Standard MIPI driving clock, typically 24MHz
				*
				* num_lanes = "";
				* Number of lane channels sensor is programmed to output
				*
				* tegra_sinterface = "";
				* The base tegra serial interface lanes are connected to
				*
				* vc_id = "";
				* The virtual channel id of the sensor.
				*
				* discontinuous_clk = "";
				* The sensor is programmed to use a discontinuous clock on MIPI lanes
				*
				* dpcm_enable = "true";
				* The sensor is programmed to use a DPCM modes
				*
				* cil_settletime = "";
				* MIPI lane settle time value.
				* A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* dynamic_pixel_bit_depth = "";
				* sensor dynamic bit depth for sensor mode
				*
				* csi_pixel_bit_depth = "";
				* sensor output bit depth for sensor mode
				*
				* mode_type="";
				* Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
				*
				* pixel_phase="";
				* Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				* This is used to calibrate features in our camera stack.
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				*
				*
				*
				* inherent_gain = "";
				* Gain obtained inherently from mode (ie. pixel binning)
				*
				* min_gain_val = ""; (floor to 6 decimal places)
				* max_gain_val = ""; (floor to 6 decimal places)
				* Gain limits for mode
				* if use_decibel_gain = "true", please set the gain as decibel
				*
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (us)
				*
				*
				* min_hdr_ratio = "";
				* max_hdr_ratio = "";
				* HDR Ratio limits for mode
				*
				* min_framerate = "";
				* max_framerate = "";
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.
				*/

				mode0 {
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "2200";
					inherent_gain = "1";
					mclk_multiplier = "6";
					pix_clk_hz = "74250000";
					serdes_pix_clk_hz = "200000000";

					gain_factor = "10";
					min_gain_val = "30";
					max_gain_val = "300";
					step_gain_val = "3";
					default_gain = "30";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1";
					min_framerate = "30";
					max_framerate = "30";
					step_framerate = "1";
					default_framerate = "30";
					exposure_factor = "1000000";
					min_exp_time = "24";
					max_exp_time = "40000";
					step_exp_time = "1";
					default_exp_time = "24000";
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_out2: endpoint {
							port-index = <4>;
							bus-width = <2>;
							remote-endpoint = <&imx390_csi_in2>;
							};
						};
					};
				};
			};
			i2c@3 {
			max929x_d@48 {
				compatible = "maxim,max929x";
				reg = <0x48>;
				channel = "d";
			};
			imx390_g@1a {
				compatible = "sony,imx390";

				reg = <0x21>;
				devnode = "video3";
				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="imx390";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				//use_decibel_gain = "true";
				//delayed_gain = "true";
				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "true";
				limit_analog_gain = "true";
				/**
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* mclk_khz = "";
				* Standard MIPI driving clock, typically 24MHz
				*
				* num_lanes = "";
				* Number of lane channels sensor is programmed to output
				*
				* tegra_sinterface = "";
				* The base tegra serial interface lanes are connected to
				*
				* vc_id = "";
				* The virtual channel id of the sensor.
				*
				* discontinuous_clk = "";
				* The sensor is programmed to use a discontinuous clock on MIPI lanes
				*
				* dpcm_enable = "true";
				* The sensor is programmed to use a DPCM modes
				*
				* cil_settletime = "";
				* MIPI lane settle time value.
				* A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* dynamic_pixel_bit_depth = "";
				* sensor dynamic bit depth for sensor mode
				*
				* csi_pixel_bit_depth = "";
				* sensor output bit depth for sensor mode
				*
				* mode_type="";
				* Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
				*
				* pixel_phase="";
				* Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				* This is used to calibrate features in our camera stack.
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				*
				*
				*
				* inherent_gain = "";
				* Gain obtained inherently from mode (ie. pixel binning)
				*
				* min_gain_val = ""; (floor to 6 decimal places)
				* max_gain_val = ""; (floor to 6 decimal places)
				* Gain limits for mode
				* if use_decibel_gain = "true", please set the gain as decibel
				*
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (us)
				*
				*
				* min_hdr_ratio = "";
				* max_hdr_ratio = "";
				* HDR Ratio limits for mode
				*
				* min_framerate = "";
				* max_framerate = "";
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.
				*/

				mode0 {
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_g";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "2200";
					inherent_gain = "1";
					mclk_multiplier = "6";
					pix_clk_hz = "74250000";
					serdes_pix_clk_hz = "200000000";

					gain_factor = "10";
					min_gain_val = "30";
					max_gain_val = "300";
					step_gain_val = "3";
					default_gain = "30";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1";
					min_framerate = "30";
					max_framerate = "30";
					step_framerate = "1";
					default_framerate = "30";
					exposure_factor = "1000000";
					min_exp_time = "24";
					max_exp_time = "40000";
					step_exp_time = "1";
					default_exp_time = "24000";
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						imx390_out3: endpoint {
							port-index = <5>;
							bus-width = <2>;
							remote-endpoint = <&imx390_csi_in3>;
							};
						};
					};
				};
			};
		};
	};
};

/ {

	tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		/**
		* 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 = <12>;
		max_lane_speed = <1500000>;
		min_bits_per_pixel = <10>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
		isp_peak_byte_per_pixel = <5>;
		isp_bw_margin_pct = <25>;

		/**
		 * The general guideline for naming badge_info contains 3 parts, and is as follows,
		 * The first part is the camera_board_id for the module; if the module is in a FFD
		 * platform, then use the platform name for this part.
		 * The second part contains the position of the module, ex. "rear" or "front".
		 * The third part contains the last 6 characters of a part number which is found
		 * in the module's specsheet from the vender.
		 */
		modules {
			module0 {
				badge = "imx390_bottomleft_liimx390";
				position = "bottomleft";
				orientation = "0";
				drivernode0 {
					status = "okay";
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_sensor";
					/* Driver v4l2 device name */
					devname = "imx390 30-001a";
					/* Declare the device-tree hierarchy to driver instance */
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_a@1a";
				};
			};
			module1 {
				badge = "imx390_bottomright_liimx390";
				position = "bottomright";
				orientation = "0";
				drivernode0 {
					status = "okay";
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_sensor";
					/* Driver v4l2 device name */
					devname = "imx390 31-001a";
					/* Declare the device-tree hierarchy to driver instance */
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/imx390_c@1a";
				};
			};
			module2 {
				badge = "imx390_centerleft_liimx390";
				position = "centerleft";
				orientation = "0";
				drivernode0 {
					status = "okay";
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_sensor";
					/* Driver v4l2 device name */
					devname = "imx390 32-001a";
					/* Declare the device-tree hierarchy to driver instance */
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/imx390_e@1a";
				};
			};
			module3 {
				badge = "imx390_centerright_liimx390";
				position = "centerright";
				orientation = "0";
				drivernode0 {
					status = "okay";
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_sensor";
					/* Driver v4l2 device name */
					devname = "imx390 33-001a";
					/* Declare the device-tree hierarchy to driver instance */
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@3/imx390_g@1a";
				};
			};
		};
	};
};

/*
 * Copyright (c) 2018-2021, NVIDIA CORPORATION.  All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope 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 <t234-common-modules/tegra234-camera-imx390-a00.dtsi>
#include "dt-bindings/clock/tegra234-clock.h"

#define CAM0_RST_L	TEGRA234_MAIN_GPIO(H, 3)
#define CAM0_PWDN	TEGRA234_MAIN_GPIO(H, 6)
#define CAM1_RST_L	TEGRA234_MAIN_GPIO(AC, 2)
#define CAM1_PWDN	TEGRA234_MAIN_GPIO(AC, 0)

#define CAMERA_I2C_MUX_BUS(x) (0x1E + x)
/* camera control gpio definitions */

/ {
        i2c@3180000 {
                tca9546@70 {
                        compatible = "nxp,pca9546";
                        reg = <0x70>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        skip_mux_detect = "yes";
						vif-supply = <&p3737_vdd_1v8_sys>;
                        vcc-supply = <&p3737_vdd_1v8_sys>;
                        vcc-pullup-supply = <&battery_reg>;
                        vcc_lp = "vcc";
                        force_bus_start = <CAMERA_I2C_MUX_BUS(0)>;
                        status = "okay";

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

                                imx390_a@1a {
                                        status = "okay";
                                        def-addr = <0x21>;
                                        /* Define any required hw resources needed by driver */
                                        /* ie. clocks, io pins, power sources */
                                        clocks = <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>,
                                                        <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>;
                                        clock-names = "extperiph1", "pllp_grtba";
                                        mclk = "extperiph1";
                                        channel = "a";
                                        reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
                                };
                        };
                        i2c@1 {
                                reg = <1>;
                                i2c-mux,deselect-on-exit;
                                #address-cells = <1>;
                                #size-cells = <0>;

                                imx390_c@1a {
                                        status = "okay";
                                        def-addr = <0x21>;
                                        /* Define any required hw resources needed by driver */
                                        /* ie. clocks, io pins, power sources */
                                        clocks = <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>,
                                                        <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>;
                                        clock-names = "extperiph1", "pllp_grtba";
                                        mclk = "extperiph1";
                                        channel = "b";
                                        reset-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
                                };
                        };
                        i2c@2 {
                                reg = <2>;
                                i2c-mux,deselect-on-exit;
                                #address-cells = <1>;
                                #size-cells = <0>;

                                imx390_e@1a {
                                        status = "okay";
                                        def-addr = <0x21>;
                                        /* Define any required hw resources needed by driver */
                                        /* ie. clocks, io pins, power sources */
                                        clocks = <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>,
                                                        <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>;
                                        clock-names = "extperiph1", "pllp_grtba";
                                        mclk = "extperiph1";
                                        channel = "c";
                                        reset-gpios = <&tegra_main_gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
                                };
                        };
                        i2c@3 {
                                reg = <3>;
                                i2c-mux,deselect-on-exit;
                                #address-cells = <1>;
                                #size-cells = <0>;

                                imx390_g@1a {
                                        status = "okay";
                                        def-addr = <0x21>;
                                        /* Define any required hw resources needed by driver */
                                        /* ie. clocks, io pins, power sources */
                                        clocks = <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>,
                                                        <&bpmp_clks TEGRA234_CLK_EXTPERIPH1>;
                                        clock-names = "extperiph1", "pllp_grtba";
                                        mclk = "extperiph1";
                                        channel = "d";
                                        reset-gpios = <&tegra_main_gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
                                };
                        };
                };
        };
};


Dump the device tree to confirm the tegra-camera-platform{} as expect.

sudo dtc -I fs -O dts -o extracted_proc.dts /proc/device-tree

Following text is a part of extracted file from proc.

        tegra-camera-platform {
                tpg_max_iso = <0x3bc400>;
                vi_bw_margin_pct = <0x19>;
                max_lane_speed = <0x16e360>;
                vi_peak_byte_per_pixel = <0x02>;
                num_csi_lanes = <0x0c>;
                compatible = "nvidia, tegra-camera-platform";
                min_bits_per_pixel = <0x0a>;
                isp_bw_margin_pct = <0x19>;
                isp_peak_byte_per_pixel = <0x05>;
                phandle = <0x4b5>;

                modules {

                        module1 {
                                badge = "imx390_bottomright_liimx390";
                                position = "bottomright";
                                status = "okay";
                                orientation = [30 00];
                                phandle = <0x4b9>;

                                drivernode0 {
                                        devname = "imx390 31-001a";
                                        proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/imx390_c@1a";
                                        pcl_id = "v4l2_sensor";
                                        status = "okay";
                                        phandle = <0x4ba>;
                                };

                                drivernode1 {
                                        pcl_id = "v4l2_lens";
                                        status = "okay";
                                        phandle = <0x4bb>;
                                };
                        };

                        module2 {
                                badge = "imx390_centerleft_liimx390";
                                position = "centerleft";
                                orientation = [30 00];

                                drivernode0 {
                                        devname = "imx390 32-001a";
                                        proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/imx390_e@1a";
                                        pcl_id = "v4l2_sensor";
                                        status = "okay";
                                };
                        };

                        module0 {
                                badge = "imx390_bottomleft_liimx390";
                                position = "bottomleft";
                                status = "okay";
                                orientation = [30 00];
                                phandle = <0x4b6>;

                                drivernode0 {
                                        devname = "imx390 30-001a";
                                        proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_a@1a";
                                        pcl_id = "v4l2_sensor";
                                        status = "okay";
                                        phandle = <0x4b7>;
                                };

                                drivernode1 {
                                        pcl_id = "v4l2_lens";
                                        status = "okay";
                                        phandle = <0x4b8>;
                                };
                        };

                        module3 {
                                badge = "imx390_centerright_liimx390";
                                position = "centerright";
                                orientation = [30 00];

                                drivernode0 {
                                        devname = "imx390 33-001a";
                                        proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@3/imx390_g@1a";
                                        pcl_id = "v4l2_sensor";
                                        status = "okay";
                                };
                        };
                };
        };

What’s the v4l2-ctl --list-devices?

This is result of v4l-command.

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

vi-output, imx390 30-0021 (platform:tegra-capture-vi:0):
        /dev/video0

vi-output, imx390 31-0021 (platform:tegra-capture-vi:2):
        /dev/video1

vi-output, imx390 32-0021 (platform:tegra-capture-vi:4):
        /dev/video2

vi-output, imx390 33-0021 (platform:tegra-capture-vi:5):
        /dev/video3

The address are incorrect, should be “imx390 3*-0021”

1 Like

It’s something changed.
However, ISP still doesn’t work.
What is suspicious is that sensor-id is different with command line.
I intend to use sensor-id zero(0). But log is sensor-id one(1).

… summary 1…

Error generated. gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)

… summary 2…

Using ISP A
NvPHSSendThroughputHints: sensorId=1, m_usecase=4, m_type=2, m_value=4294967295, m_timeout_ms=1000

[ nvarguscamerasrc logs ]

root@ubuntu:/home/espresso# gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)960' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 3.000000, max 30.000000; Exposure Range min 24000, max 40000000;

GST_ARGUS: Running with following settings:
   Camera index = 0
   Camera mode  = 0
   Output Stream W = 1920 H = 1080
   seconds to Run    = 0
   Frame Rate = 29.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
Not enough buffering available for  the processing deadline of 0:00:00.015000000, add enough queues to buffer  0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
Got EOS from element "pipeline0".
Execution ended after 0:00:04.003429568
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)

[ nvargus-daemon logs]

espresso@ubuntu:~$ === NVIDIA Libargus Camera Service (0.98.3)=== Listening for connections...=== gst-launch-1.0[122]: Connection established (FFFF96274900)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 5 getting next capture
Thread 5 is waiting
Thread 6 getting next capture
Thread 6 is waiting
Thread 7 getting next capture
Thread 4 getting next capture
Thread 7 is waiting
Thread 4 is waiting
Thread 9 getting next capture
Thread 9 is waiting
Thread 10 getting next capture
Thread 10 is waiting
Thread 11 getting next capture
Thread 11 is waiting
Thread 8 getting next capture
Thread 8 is waiting
Thread 12 getting next capture
Thread 12 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(0xffff90609560)
getInstance: s_instance(0xffff90609560)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0xffff9047a760)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0xffff90459960)
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
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_bottomleft_liimx390
NvPclHwPrintModuleDefinition -- Position: 0
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 30-0021
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName:
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_bottomright_liimx390
NvPclHwPrintModuleDefinition -- Position: 4
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 31-0021
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName:
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_centerleft_liimx390
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 32-0021
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: imx390_centerright_liimx390
NvPclHwPrintModuleDefinition -- Position: 2
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx390 33-0021
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: imx390_bottomleft_liimx390 position0
NvPclModuleListInitialize: NvPclModule list[1]: imx390_bottomright_liimx390 position4
NvPclModuleListInitialize: NvPclModule list[2]: imx390_centerleft_liimx390 position1
NvPclModuleListInitialize: NvPclModule list[3]: imx390_centerright_liimx390 position2
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
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
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 0 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90544f30
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906017b0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff905b4f40
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff905b4e80
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906524f0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90651e90
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/imx390_bottomleft_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_bottomleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_bottomleft_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_bottomleft_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomleft_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomleft_liimx390.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)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
OFDPropertyGetString: could not read property [sync_sensor]
OFDPropertyGetString: could not read property [type]
loadSubType: Sensor type missing in DT, 206
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode0.vc_id]
OFDPropertyCopyToFloat: could not read property [mode0.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode0.clk_settletime]
OFDPropertyCopyToLong: could not read property [mode0.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
initialize: Loaded Driver: 1 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclInitializeDrivers: v4l2_lens ++++++++++++++++++
(NvOdmDevice) Error NotInitialized: hDev Table not initialized (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2Lens.cpp, function initialize(), line 54)
NvPclDriverInitializeData: Unable to initialize driver v4l2_lens
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_lens
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff905b4e80
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff906524f0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff90651e90
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff90544f30
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff906017b0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff905b4f40
NvPclStateControllerOpen: Failed ImagerGUID 0. (error 0x3)
NvPclStateControllerClose: Module imx390_bottomleft_liimx390 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 646)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 311)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 477)
Acquiring SCF Camera device source via index 0 has failed. NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 4 match at index[1]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906521a0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff905b4f40
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906017b0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90544f30
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90651e90
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906524f0
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/imx390_bottomright_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_bottomright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_bottomright_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_bottomright_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_bottomright_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_bottomright_liimx390.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)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
OFDPropertyGetString: could not read property [sync_sensor]
OFDPropertyGetString: could not read property [type]
loadSubType: Sensor type missing in DT, 206
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode0.vc_id]
OFDPropertyCopyToFloat: could not read property [mode0.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode0.clk_settletime]
OFDPropertyCopyToLong: could not read property [mode0.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
initialize: Loaded Driver: 1 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclInitializeDrivers: v4l2_lens ++++++++++++++++++
(NvOdmDevice) Error NotInitialized: hDev Table not initialized (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2Lens.cpp, function initialize(), line 54)
NvPclDriverInitializeData: Unable to initialize driver v4l2_lens
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_lens
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff90544f30
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff90651e90
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff906524f0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff906521a0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff905b4f40
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0xffff906017b0
NvPclStateControllerOpen: Failed ImagerGUID 4. (error 0x3)
NvPclStateControllerClose: Module imx390_bottomright_liimx390 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 646)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 311)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 477)
Acquiring SCF Camera device source via index 1 has failed. NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 1 match at index[2]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff905b4e80
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906017b0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff905b4f40
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906521a0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906524f0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90651e90
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/imx390_centerleft_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_centerleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_centerleft_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_centerleft_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerleft_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_centerleft_liimx390.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]
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
OFDPropertyGetString: could not read property [sync_sensor]
OFDPropertyGetString: could not read property [type]
loadSubType: Sensor type missing in DT, 206
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode0.vc_id]
OFDPropertyCopyToFloat: could not read property [mode0.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode0.clk_settletime]
OFDPropertyCopyToLong: could not read property [mode0.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
initialize: Loaded Driver: 1 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclOpen: ----------------------
LSC: LSC surface is not based on full res!
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 2 match at index[3]
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90acd2c0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90ab43b0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906559d0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff906520b0
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90656d80
NvPclHwInitializeModule: allocate overrides pathname @ 0xffff90656e10
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/imx390_centerright_liimx390.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx390_centerright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerright_liimx390.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx390_centerright_liimx390.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx390_centerright_liimx390.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx390_centerright_liimx390.isp) call failed
---- imager: No override file found. ----
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/imx390_centerright_liimx390.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx390_centerright_liimx390.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx390_centerright_liimx390.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]
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
OFDPropertyGetString: could not read property [sync_sensor]
OFDPropertyGetString: could not read property [type]
loadSubType: Sensor type missing in DT, 206
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode0.vc_id]
OFDPropertyCopyToFloat: could not read property [mode0.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode0.clk_settletime]
OFDPropertyCopyToLong: could not read property [mode0.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
initialize: Loaded Driver: 1 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclOpen: ----------------------
LSC: LSC surface is not based on full res!
=== gst-launch-1.0[122]: CameraProvider initialized (0xffff90accc50)sourceRegistry[2] assigned

ispRegistry[0] assigned

Using Source GUID 1
Worker thread ViCsiHw frameComplete start
Worker thread ViCsiHw frameStart start
NvPclPowerOn: +++++++++++
NvPclPowerOn: -----------
Using ISP A
NvPHSSendThroughputHints: sensorId=1, m_usecase=4, m_type=2, m_value=4294967295, m_timeout_ms=1000

SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
LSC: LSC surface is not based on full res!
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
No library found, disabling AC plugin.
Worker thread CaptureDispatcher start
genInstructionBayerSource: useSensorCaptureStage 1 useMemoryToISPCaptureStage 1 and useSensorISPCapture 0

Must retain AR: in=1920x1080 out=1920x960 enclosing=(0.00,0.00, 1.00,1.00) firstClip=(0.00,0.00, 1.12,1.00)
No output buffers for 2
No output buffers for 1
InstructionList:
  + GraphSettings
      | SensorMode: 1920x1080 BayerS16RGGB 30.0fps
      | output 0: 1920x960 BL U8_V8_ER 420SP
      | inputClipRect 0: (0.00,0.00, 1.00,1.00)
      | sharedIsp

  + Instruction List
      | id: 0
      +  0: CCDataSetupStage
          | EstimatedIspOutLatencyFrames: 6
          | NumConcurrentCaptures: 1
          | UnprocessedYuvBufferMask: 0
      +  1: ACSynchronizeStage
      +  2: AeAfApplyStage
      +  3: AcPluginStage
          | operation: opApply
      +  4: AcMergeStage
          | IspIn: [1920, 1080]
          | IspOut0: [1920, 1080]
          | IspOut1: [0, 0]
          | IspOut2: [640, 360]
      +  5: TempBufferAcquireStage
          | Buffer Index: 4
          | BufferRequirements: 1920x1080 Pitch BayerS16RGGB
      +  6: TempBufferAcquireStage
          | Buffer Index: 5
          | BufferRequirements: 1920x1 Pitch NonColor8
      +  7: SensorCaptureStage
          | Master: 1
          | Source GUID: 1
          | Output Buffer: 4
          | SensorMetadata Buffer: 5
      +  8: TempBufferAcquireStage
          | Buffer Index: 2
          | BufferRequirements: 1920x1080 BL U8_V8_ER 420SP
      +  9: StatsBufferAcquireStage
          | Buffer Index: 1
          | BufferRequirements: 640x360 Pitch U8_V8_ER 420SP
      + 10: TempBufferAcquireStage
          | Buffer Index: 3
          | BufferRequirements: 524288x1 Pitch NonColor8
      + 11: MemoryToISPCaptureStage
          | Master: 1
          | Input Buffer: 4
          | Output A Buffer: 2
          | Output Thumb Buffer: 1
          | Output IspStats Buffer: 3
          | Source GUID: 1
      + 12: BufferReturnStage
          | Output A Buffer: 4
      + 13: StatsUpdateStage
          | Output Meta Buffer: 5
          | Output IspStats Buffer: 3
      + 14: BufferReturnStage
          | Output A Buffer: 5
      + 15: BufferReturnStage
          | Output A Buffer: 3
      + 16: AcPluginStage
          | operation: opAnalyze
      + 17: AfAnalysisStage
      + 18: BlitStage
          | Input Buffer: 2
          | Output Buffer: 0
          | Filter: Smart
          | Transform: None
          | Src Rect: [0, 0, 1920, 1080]
          | Dst Rect: Not used
      + 19: MonitorStage
      + 20: ExifStage
      + 21: MakerNoteStage
      + 22: BufferReturnStage
          | Output A Buffer: 2
      + 23: BufferReturnStage
          | Output A Buffer: 0
      + 24: MetadataReturnStage
      + 25: PerfStatsStage


Could you check by fakesink.

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920,height=1080,format=NV12' ! nvvidconv ! fpsdisplaysink video-sink=fakesink --verbose

After using changed module number,
It works fine.
Thank you for your supports.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.