Device Tree Differences between OE4T and JetPack?

Hello,

We are working on a Xavier NX based product that uses a custom baseboard. We started off using a yocto distribution based on OE4T’s L4T 35.1 branch with a modified device tree that was able to detect and capture video from our Raspberry Pi IMX477 cameras attached to the baseboard. We are also able to use these same cameras with our dev kits running JetPack 5.1, although this requires removing the resistor as documented here.

We have decided we want to explore using JetPack with our custom baseboard rather than the Yocto based custom distribution. This is because of NVIDIA’s growing support for A/B OTA updates, parity between our dev kits and production modules, faster and more predictable release cycles, and more. However, to do so we need to get our custom device tree working with JetPack 5.1.

I was able to replace the device tree on my JetPack device (this is the Xavier NX module inserted in our custom baseboard) with the .dtb file from our Yocto image. After rebooting with the new device tree, the cameras attached to the baseboard properly show up with v4l2-ctl. The output here is the same between JetPack and our working Yocto image.

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

vi-output, imx477 32-001a (platform:tegra-capture-vi:0):
	/dev/video1

vi-output, imx477 31-001a (platform:tegra-capture-vi:2):
	/dev/video0

However, things go wrong when we attempt to actually capture video from the cameras:

jetpack@jetpack-desktop:~$ gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! nvvidconv ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location=test_cam1_full.mp4
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:751 No cameras available
Redistribute latency...
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
Got EOS from element "pipeline0".
Execution ended after 0:00:00.012964764
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 339)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 355)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)

Here’s the corresponding dmesg output:

[  902.279011] CPU: 3 PID: 2438 Comm: nvargus-daemon Tainted: G        W  O      5.10.104-tegra #1
[  902.279016] Hardware name: Unknown NVIDIA Jetson Xavier NX Developer Kit/NVIDIA Jetson Xavier NX Developer Kit, BIOS 1.0-d7fb19b 08/10/2022
[  902.279027] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[  902.279034] pc : tegra_capture_ivc_register_control_cb+0x180/0x1d0
[  902.279040] lr : tegra_capture_ivc_register_control_cb+0x28/0x1d0
[  902.279043] sp : ffff80001069bb30
[  902.279048] x29: ffff80001069bb30 x28: ffff4be05980c000
[  902.279059] x27: ffff4be0634ab2a8 x26: ffff4be05980c098
[  902.279068] x25: ffff4be05980c020 x24: ffff4be05980c000
[  902.279078] x23: ffff80001069bbec x22: ffffc6093d2a8420
[  902.279087] x21: ffff80001069bd40 x20: 0000000000000000
[  902.279100] x19: 0000000000000000 x18: 0000000000000000
[  902.279110] x17: 000000000001ffd4 x16: ffffc6093d7a3050
[  902.279119] x15: ffffff2f7ce00000 x14: 0000000000001000
[  902.279129] x13: ffff4be1bf131000 x12: ffff80001a38f000
[  902.279139] x11: 0000000000000000 x10: ffff85d881e4b000
[  902.279148] x9 : 00000000fffffffe x8 : ffff4be06d5d018f
[  902.279158] x7 : 000000000000000e x6 : 00000006b89b0970
[  902.279168] x5 : ffffc6093cd07b70 x4 : ffff80001069bb74
[  902.279177] x3 : ffff80001069bb70 x2 : ffffc6093c76e090
[  902.279187] x1 : ffff80001069bbec x0 : ffffc6093e6c5000
[  902.279196] Call trace:
[  902.279203]  tegra_capture_ivc_register_control_cb+0x180/0x1d0
[  902.279210]  isp_capture_setup+0x220/0x5c0
[  902.279215]  isp_channel_ioctl+0x240/0x560
[  902.279225]  __arm64_sys_ioctl+0xac/0xf0
[  902.279233]  el0_svc_common.constprop.0+0x80/0x1d0
[  902.279239]  do_el0_svc+0x38/0xb0
[  902.279248]  el0_svc+0x1c/0x30
[  902.279254]  el0_sync_handler+0xa8/0xb0
[  902.279259]  el0_sync+0x16c/0x180
[  902.279283] ---[ end trace a9961e65edc58d5f ]---
[  902.279401] tegra194-isp5 13e10000.host1x:isp@14800000: failed to register control callback
[  902.279649] tegra194-isp5 13e10000.host1x:isp@14800000: isp capture setup failed
[  902.339317] falcon 154c0000.nvenc: Direct firmware load for nvhost_nvenc070.fw failed with error -2
[  902.339575] falcon 154c0000.nvenc: Falling back to sysfs fallback for: nvhost_nvenc070.fw
[  902.345635] falcon 154c0000.nvenc: looking for firmware in subdirectory
[  902.410427] falcon 15a80000.nvenc1: Direct firmware load for nvhost_nvenc070.fw failed with error -2
[  902.410673] falcon 15a80000.nvenc1: Falling back to sysfs fallback for: nvhost_nvenc070.fw
[  902.413301] falcon 15a80000.nvenc1: looking for firmware in subdirectory

And the nvargus-daemon logs:

Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : isp capture setup ioctl failed:  19
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: === NVIDIA Libargus Camera Service (0.98.3)=== Listening for connections...=== gst-launch-1.0[2436]: Connection established (FFFFADA15900)SCF: Error IoctlFailed:  (propagating from src/services/capture/FusaCaptureIspHw.cpp, function openIspHw(), line 239)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error IoctlFailed:  (propagating from src/services/capture/CaptureServiceDeviceIsp.cpp, function open(), line 188)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error IoctlFailed:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function initialize(), line 302)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error InvalidState: Isp is not opened (in src/services/capture/CaptureServiceDeviceIsp.cpp, function close(), line 201)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error IoctlFailed:  (propagating from src/services/capture/CaptureService.cpp, function startService(), line 608)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error InvalidState: Queue mutex not initialized (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamerautils/inc/QueueImpl.h, function dequeue(), line 227)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error IoctlFailed:  (propagating from src/components/ServiceHost.cpp, function startServices(), line 123)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error InvalidState:  (in src/services/capture/CaptureService.cpp, function stopService(), line 645)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error InvalidState:  (propagating from src/components/ServiceHost.cpp, function stopServicesInternal(), line 200)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error IoctlFailed:  (propagating from src/api/CameraDriver.cpp, function initialize(), line 178)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error InvalidState: Services are already stopped (in src/components/ServiceHost.cpp, function stopServicesInternal(), line 193)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : (fusa) Error: IoctlFailed ioctl failed. in:/capture/src/fusaIspChannelLinux.cpp 160
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: SCF: Error IoctlFailed:  (propagating from src/api/CameraDriver.cpp, function getCameraDriver(), line 119)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: (Argus) Error IoctlFailed:  (propagating from src/api/GlobalProcessState.cpp, function createCameraProvider(), line 210)
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : (fusa) Error: IoctlFailed  propagating from:/capture/src/fusaIspHandler.cpp 71
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : isp capture release ioctl failed:  9
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : (fusa) Error: IoctlFailed ioctl failed. in:/capture/src/fusaIspChannelLinux.cpp 216
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : (fusa) Error: IoctlFailed  propagating from:/capture/src/fusaIspHandler.cpp 130
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : (fusa) Error: IoctlFailed  propagating from:/capture/src/fusaIspHandler.cpp 93
Mar 23 17:12:38 jetpack-desktop nvargus-daemon[904]: Module_id 30 Severity 2 : (fusa) Error: IoctlFailed  propagating from:/capture/src/core.cpp 108
Mar 23 17:12:39 jetpack-desktop nvargus-daemon[904]: === gst-launch-1.0[2436]: CameraProvider initialized (0xffffa8039dc0)=== gst-launch-1.0[2436]: CameraProvider destroyed (0xffffa8039dc0)
Mar 23 17:12:39 jetpack-desktop systemd[1]: nvargus-daemon.service: Main process exited, code=killed, status=11/SEGV
Mar 23 17:12:39 jetpack-desktop systemd[1]: nvargus-daemon.service: Failed with result 'signal'.
Mar 23 17:12:39 jetpack-desktop systemd[1]: nvargus-daemon.service: Scheduled restart job, restart counter is at 1.
Mar 23 17:12:39 jetpack-desktop systemd[1]: Stopped Argus daemon.
Mar 23 17:12:39 jetpack-desktop systemd[1]: Started Argus daemo

And media-ctl:

Media controller API version 5.10.104

Media device information
------------------------
driver          tegra-camrtc-ca
model           NVIDIA Tegra Video Input Device
serial
bus info
hw revision     0x3
driver version  5.10.104

Device topology
- entity 1: 13e10000.host1x:nvcsi@15a00000- (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	pad0: Sink
		<- "imx477 32-001a":0 [ENABLED]
	pad1: Source
		-> "vi-output, imx477 32-001a":0 [ENABLED]

- entity 4: 13e10000.host1x:nvcsi@15a00000- (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
	pad0: Sink
		<- "imx477 31-001a":0 [ENABLED]
	pad1: Source
		-> "vi-output, imx477 31-001a":0 [ENABLED]

- entity 7: 13e10000.host1x:nvcsi@15a00000- (2 pads, 0 link)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev2
	pad0: Sink
	pad1: Source

- entity 10: imx477 31-001a (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev3
	pad0: Source
		[fmt:SRGGB10_1X10/3840x2160 field:none colorspace:srgb]
		-> "13e10000.host1x:nvcsi@15a00000-":0 [ENABLED]

- entity 12: vi-output, imx477 31-001a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
	pad0: Sink
		<- "13e10000.host1x:nvcsi@15a00000-":1 [ENABLED]

- entity 28: imx477 32-001a (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev4
	pad0: Source
		[fmt:SRGGB10_1X10/3840x2160 field:none colorspace:srgb]
		-> "13e10000.host1x:nvcsi@15a00000-":0 [ENABLED]

- entity 30: vi-output, imx477 32-001a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
	pad0: Sink
		<- "13e10000.host1x:nvcsi@15a00000-":1 [ENABLED]

My core confusion here comes from the different behavior between JetPack and OE4T when using the same underlying L4T version, the same baseboard, and the same device tree. Shouldn’t the sensor → CSI → VI pipelines behave the same? Clearly there is some misunderstanding on my part but I am not quite sure where it lays. Is it entirely wrong to try to use the same device tree across OE4T and JetPack? If so, what should my starting point be? As far as I can tell both use the same source jakku device tree for the Xavier NX devkit.

Any pointers as to where to further debug this or what might be causing the errors would be greatly appreciated.

hello pwolfe1,

according to the description of OE4T.
it’s did not clearly mention the code-line. the l4t release should be l4t-r35.1 for JetPack 5.1 release version.

NVIDIA downstream Linux kernel for Jetson platforms in single-repo form, derived from L4T R35.x series BSP

anyways, the failure shows… No cameras available.
are you able to narrow down the issue by running v4l standard controls to access the camera stream?
for example, Applications Using V4L2 IOCTL Directly.

I am not able to access the cameras using v4l2-ctl either

Here is my v4l compliance output:

jetpack@jetpack-desktop:~$ v4l2-compliance -s
v4l2-compliance SHA: not available, 64 bits

Compliance test for tegra-video device /dev/video0:

Driver Info:
	Driver name      : tegra-video
	Card type        : vi-output, imx477 31-001a
	Bus info         : platform:tegra-capture-vi:2
	Driver version   : 5.10.104
	Capabilities     : 0x84200001
		Video Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : tegra-camrtc-ca
	Model            : NVIDIA Tegra Video Input Device
	Serial           :
	Bus info         :
	Media version    : 5.10.104
	Hardware revision: 0x00000003 (3)
	Driver version   : 5.10.104
Interface Info:
	ID               : 0x0300000e
	Type             : V4L Video
Entity Info:
	ID               : 0x0000000c (12)
	Name             : vi-output, imx477 31-001a
	Function         : V4L2 I/O
	Pad 0x0100000d   : 0: Sink
	  Link 0x02000012: from remote pad 0x1000006 of entity '13e10000.host1x:nvcsi@15a00000-': Data, Enabled

Required ioctls:
	test MC information (see 'Media Driver Info' above): OK
	test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
	test second /dev/video0 open: OK
	test VIDIOC_QUERYCAP: OK
	test VIDIOC_G/S_PRIORITY: OK
	test for unlimited opens: OK

Debug ioctls:
	test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
	test VIDIOC_LOG_STATUS: OK

Input ioctls:
	test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
	test VIDIOC_ENUMAUDIO: OK (Not Supported)
	test VIDIOC_G/S/ENUMINPUT: OK
	test VIDIOC_G/S_AUDIO: OK (Not Supported)
	Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
	test VIDIOC_G/S_MODULATOR: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_ENUMAUDOUT: OK (Not Supported)
	test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
	test VIDIOC_G/S_AUDOUT: OK (Not Supported)
	Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
	test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
	test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
	test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
	test VIDIOC_G/S_EDID: OK (Not Supported)

Control ioctls (Input 0):
	test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
	test VIDIOC_QUERYCTRL: OK
	test VIDIOC_G/S_CTRL: OK
	test VIDIOC_G/S/TRY_EXT_CTRLS: OK
	test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
	test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
	Standard Controls: 1 Private Controls: 20

Format ioctls (Input 0):
	test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
		fail: v4l2-test-formats.cpp(1280): ret && node->has_frmintervals
	test VIDIOC_G/S_PARM: FAIL
	test VIDIOC_G_FBUF: OK (Not Supported)
	test VIDIOC_G_FMT: OK
	test VIDIOC_TRY_FMT: OK
	test VIDIOC_S_FMT: OK
	test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
	test Cropping: OK (Not Supported)
	test Composing: OK (Not Supported)
	test Scaling: OK (Not Supported)

Codec ioctls (Input 0):
	test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
	test VIDIOC_G_ENC_INDEX: OK (Not Supported)
	test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

Buffer ioctls (Input 0):
		fail: v4l2-test-buffers.cpp(715): q.create_bufs(node, 1, &fmt) != EINVAL
	test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
	test VIDIOC_EXPBUF: OK
	test Requests: OK (Not Supported)

Test input 0:

Streaming ioctls:
		fail: v4l2-test-buffers.cpp(790): ret >= 0 || errno != EINVAL
	test read/write: FAIL
		fail: v4l2-test-buffers.cpp(2147): node->streamon(q.g_type())
		fail: v4l2-test-buffers.cpp(2226): testBlockingDQBuf(node, q)
	test blocking wait: FAIL
		fail: v4l2-test-buffers.cpp(1295): q.create_bufs(node, 1, &fmt) != EINVAL
	test MMAP (no poll): FAIL
		fail: v4l2-test-buffers.cpp(1295): q.create_bufs(node, 1, &fmt) != EINVAL
	test MMAP (select): FAIL
		fail: v4l2-test-buffers.cpp(1295): q.create_bufs(node, 1, &fmt) != EINVAL
	test MMAP (epoll): FAIL
		fail: v4l2-test-buffers.cpp(1487): ret && ret != ENOTTY
		fail: v4l2-test-buffers.cpp(1575): setupUserPtr(node, q)
	test USERPTR (no poll): FAIL
		fail: v4l2-test-buffers.cpp(1487): ret && ret != ENOTTY
		fail: v4l2-test-buffers.cpp(1575): setupUserPtr(node, q)
	test USERPTR (select): FAIL
	test DMABUF: Cannot test, specify --expbuf-device

Total for tegra-video device /dev/video0: 52, Succeeded: 43, Failed: 9, Warnings: 0

corresponding dmesg output:

[322997.944371] ------------[ cut here ]------------
[322997.944404] WARNING: CPU: 0 PID: 25851 at /dvs/git/dirty/git-master_linux/kernel/nvidia/drivers/platform/tegra/rtcpu/capture-ivc.c:96 tegra_capture_ivc_register_control_cb+0x180/0x1d0
[322997.944841] Modules linked in: fuse lzo_rle lzo_compress zram realtek bnep loop ofpart snd_soc_tegra210_admaif snd_soc_tegra186_asrc snd_soc_tegra_pcm snd_soc_tegra210_iqc cmdlinepart snd_soc_tegra186_dspk snd_soc_tegra186_arad snd_soc_tegra210_mixer snd_soc_tegra210_amx snd_soc_tegra210_ope snd_soc_tegra210_sfc snd_soc_tegra210_dmic snd_soc_tegra210_i2s snd_soc_tegra210_adx iwlmvm snd_soc_tegra210_mvc snd_soc_tegra210_afc qspi_mtd mac80211 mtd aes_ce_blk crypto_simd cryptd aes_ce_cipher ghash_ce sha2_ce input_leds sha256_arm64 sha1_ce cdc_acm btusb btrtl btbcm btintel snd_soc_spdif_tx snd_soc_tegra_machine_driver snd_soc_tegra210_adsp max77620_thermal snd_soc_tegra_utils snd_soc_simple_card_utils snd_soc_tegra210_ahub nvadsp snd_hda_codec_hdmi tegra_bpmp_thermal tegra210_adma userspace_alert snd_hda_tegra snd_hda_codec iwlwifi snd_hda_core cfg80211 nv_imx477 spi_tegra210_qspi spi_tegra114 binfmt_misc ina3221 pwm_fan nvgpu nvmap ip_tables x_tables
[322997.945118] CPU: 0 PID: 25851 Comm: v4l2-compliance Tainted: G        W  O      5.10.104-tegra #1
[322997.945123] Hardware name: Unknown NVIDIA Jetson Xavier NX Developer Kit/NVIDIA Jetson Xavier NX Developer Kit, BIOS 1.0-d7fb19b 08/10/2022
[322997.945131] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[322997.945139] pc : tegra_capture_ivc_register_control_cb+0x180/0x1d0
[322997.945146] lr : tegra_capture_ivc_register_control_cb+0x28/0x1d0
[322997.945150] sp : ffff80002d403870
[322997.945154] x29: ffff80002d403870 x28: ffff1e44d609e080
[322997.945166] x27: 0000000000001043 x26: ffff1e43d166c000
[322997.945175] x25: ffff1e44241d97b8 x24: ffff1e43d166c000
[322997.945185] x23: ffff80002d40392c x22: ffffcaccffeb4940
[322997.945195] x21: 0000000000000000 x20: ffff80002d403a90
[322997.945205] x19: 0000000000000000 x18: 0000000000000001
[322997.945214] x17: 0000000000000000 x16: 0000000000000068
[322997.945225] x15: ffffffffffffffff x14: ffffff0000000000
[322997.945234] x13: ffffffffffffffff x12: 0000000000000026
[322997.945244] x11: 0000000000000000 x10: ffff5377ff1da000
[322997.945254] x9 : 00000000fffffffe x8 : ffff1e44241d958a
[322997.945264] x7 : 0000000000000009 x6 : 0000092e468b5c1d
[322997.945274] x5 : ffffcaccff91bd20 x4 : ffff80002d4038b4
[322997.945283] x3 : ffff80002d4038b0 x2 : ffffcaccff37e090
[322997.945293] x1 : ffff80002d40392c x0 : ffffcacd012d5000
[322997.945303] Call trace:
[322997.945310]  tegra_capture_ivc_register_control_cb+0x180/0x1d0
[322997.945318]  vi_capture_setup+0x1cc/0x670
[322997.945324]  tegra_channel_capture_setup+0xe8/0x2d0
[322997.945352]  vi5_channel_start_streaming+0x164/0x3f0
[322997.945360]  tegra_channel_start_streaming+0x54/0x80
[322997.945366]  vb2_start_streaming+0x74/0x160
[322997.945371]  vb2_core_streamon+0x9c/0x1a0
[322997.945377]  __vb2_init_fileio+0x22c/0x2b0
[322997.945382]  __vb2_perform_fileio+0x5a0/0x890
[322997.945387]  vb2_read+0x50/0x70
[322997.945393]  vb2_fop_read+0xc0/0x100
[322997.945416]  v4l2_read+0xa0/0xf0
[322997.945424]  vfs_read+0xb4/0x1c0
[322997.945430]  ksys_read+0x7c/0x110
[322997.945435]  __arm64_sys_read+0x28/0x40
[322997.945444]  el0_svc_common.constprop.0+0x80/0x1d0
[322997.945468]  do_el0_svc+0x38/0xb0
[322997.945477]  el0_svc+0x1c/0x30
[322997.945483]  el0_sync_handler+0xa8/0xb0
[322997.945489]  el0_sync+0x16c/0x180
[322997.945494] ---[ end trace 3d6ee3562e70e7f6 ]---
[322997.945620] tegra194-vi5 15c10000.vi: failed to register control callback
[322997.945801] tegra-camrtc-capture-vi tegra-capture-vi: vi capture setup failed
[322997.946015] ------------[ cut here ]------------
[322997.946025] WARNING: CPU: 0 PID: 25851 at /dvs/git/dirty/git-master_linux/kernel/nvidia/drivers/platform/tegra/rtcpu/capture-ivc.c:66 tegra_capture_ivc_control_submit+0x44/0x60
[322997.946365] Modules linked in: fuse lzo_rle lzo_compress zram realtek bnep loop ofpart snd_soc_tegra210_admaif snd_soc_tegra186_asrc snd_soc_tegra_pcm snd_soc_tegra210_iqc cmdlinepart snd_soc_tegra186_dspk snd_soc_tegra186_arad snd_soc_tegra210_mixer snd_soc_tegra210_amx snd_soc_tegra210_ope snd_soc_tegra210_sfc snd_soc_tegra210_dmic snd_soc_tegra210_i2s snd_soc_tegra210_adx iwlmvm snd_soc_tegra210_mvc snd_soc_tegra210_afc qspi_mtd mac80211 mtd aes_ce_blk crypto_simd cryptd aes_ce_cipher ghash_ce sha2_ce input_leds sha256_arm64 sha1_ce cdc_acm btusb btrtl btbcm btintel snd_soc_spdif_tx snd_soc_tegra_machine_driver snd_soc_tegra210_adsp max77620_thermal snd_soc_tegra_utils snd_soc_simple_card_utils snd_soc_tegra210_ahub nvadsp snd_hda_codec_hdmi tegra_bpmp_thermal tegra210_adma userspace_alert snd_hda_tegra snd_hda_codec iwlwifi snd_hda_core cfg80211 nv_imx477 spi_tegra210_qspi spi_tegra114 binfmt_misc ina3221 pwm_fan nvgpu nvmap ip_tables x_tables
[322997.946622] CPU: 0 PID: 25851 Comm: v4l2-compliance Tainted: G        W  O      5.10.104-tegra #1
[322997.946627] Hardware name: Unknown NVIDIA Jetson Xavier NX Developer Kit/NVIDIA Jetson Xavier NX Developer Kit, BIOS 1.0-d7fb19b 08/10/2022
[322997.946633] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[322997.946640] pc : tegra_capture_ivc_control_submit+0x44/0x60
[322997.946645] lr : tegra_capture_ivc_control_submit+0x20/0x60
[322997.946649] sp : ffff80002d403890
[322997.946653] x29: ffff80002d403890 x28: ffff1e44d609e080
[322997.946663] x27: ffff1e4380e46020 x26: ffff1e44fff841b8
[322997.946673] x25: ffff1e43d166c130 x24: ffff1e44241d9780
[322997.946683] x23: 0000000000000049 x22: 0000000000000118
[322997.946693] x21: ffff1e43c6723a00 x20: 0000000000000118
[322997.946703] x19: ffff80002d403940 x18: 0000000000000010
[322997.946712] x17: 0000000000000000 x16: 0000000000000068
[322997.946722] x15: ffff1e43c6723f70 x14: 7061632d6374726d
[322997.946732] x13: 61632d6172676574 x12: 61632d6172676574
[322997.946741] x11: 2069762d65727574 x10: 706163206976203a
[322997.946751] x9 : 0000000000000000 x8 : ffff80002d403a58
[322997.946761] x7 : 000000000000ffff x6 : 0000000000000002
[322997.946770] x5 : 0000000000000000 x4 : 0000000000000049
[322997.946780] x3 : 0000000000000000 x2 : ffffcaccff37e090
[322997.946790] x1 : 0000000000000118 x0 : 0000000000000000
[322997.946799] Call trace:
[322997.946805]  tegra_capture_ivc_control_submit+0x44/0x60
[322997.946812]  vi_capture_ivc_send_control.isra.0+0x6c/0x130
[322997.946818]  csi_stream_tpg_disable+0x74/0xb0
[322997.946824]  csi_stream_release+0x6c/0xd0
[322997.946848]  vi_capture_shutdown+0x4c/0x100
[322997.946854]  vi_channel_close_ex+0x30/0x90
[322997.946860]  vi5_channel_start_streaming+0x27c/0x3f0
[322997.946866]  tegra_channel_start_streaming+0x54/0x80
[322997.946871]  vb2_start_streaming+0x74/0x160
[322997.946876]  vb2_core_streamon+0x9c/0x1a0
[322997.946902]  __vb2_init_fileio+0x22c/0x2b0
[322997.946908]  __vb2_perform_fileio+0x5a0/0x890
[322997.946913]  vb2_read+0x50/0x70
[322997.946918]  vb2_fop_read+0xc0/0x100
[322997.946924]  v4l2_read+0xa0/0xf0
[322997.946929]  vfs_read+0xb4/0x1c0
[322997.946934]  ksys_read+0x7c/0x110
[322997.946955]  __arm64_sys_read+0x28/0x40
[322997.946961]  el0_svc_common.constprop.0+0x80/0x1d0
[322997.946967]  do_el0_svc+0x38/0xb0
[322997.946973]  el0_svc+0x1c/0x30
[322997.946979]  el0_sync_handler+0xa8/0xb0
[322997.946984]  el0_sync+0x16c/0x180
[322997.946988] ---[ end trace 3d6ee3562e70e7f7 ]---
[322997.947146] tegra194-vi5 15c10000.vi: IVC control submit failed
[322997.949216] tegra194-vi5 15c10000.vi: csi_stream_release: failed to disable nvcsi tpg on stream 2 virtual channel 0
[322997.969224] ------------[ cut here ]------------
[322997.969259] WARNING: CPU: 3 PID: 25851 at /dvs/git/dirty/git-master_linux/kernel/nvidia/drivers/platform/tegra/rtcpu/capture-ivc.c:96 tegra_capture_ivc_register_control_cb+0x180/0x1d0
[322997.969760] Modules linked in: fuse lzo_rle lzo_compress zram realtek bnep loop ofpart snd_soc_tegra210_admaif snd_soc_tegra186_asrc snd_soc_tegra_pcm snd_soc_tegra210_iqc cmdlinepart snd_soc_tegra186_dspk snd_soc_tegra186_arad snd_soc_tegra210_mixer snd_soc_tegra210_amx snd_soc_tegra210_ope snd_soc_tegra210_sfc snd_soc_tegra210_dmic snd_soc_tegra210_i2s snd_soc_tegra210_adx iwlmvm snd_soc_tegra210_mvc snd_soc_tegra210_afc qspi_mtd mac80211 mtd aes_ce_blk crypto_simd cryptd aes_ce_cipher ghash_ce sha2_ce input_leds sha256_arm64 sha1_ce cdc_acm btusb btrtl btbcm btintel snd_soc_spdif_tx snd_soc_tegra_machine_driver snd_soc_tegra210_adsp max77620_thermal snd_soc_tegra_utils snd_soc_simple_card_utils snd_soc_tegra210_ahub nvadsp snd_hda_codec_hdmi tegra_bpmp_thermal tegra210_adma userspace_alert snd_hda_tegra snd_hda_codec iwlwifi snd_hda_core cfg80211 nv_imx477 spi_tegra210_qspi spi_tegra114 binfmt_misc ina3221 pwm_fan nvgpu nvmap ip_tables x_tables
[322997.970065] CPU: 3 PID: 25851 Comm: v4l2-compliance Tainted: G        W  O      5.10.104-tegra #1
[322997.970069] Hardware name: Unknown NVIDIA Jetson Xavier NX Developer Kit/NVIDIA Jetson Xavier NX Developer Kit, BIOS 1.0-d7fb19b 08/10/2022
[322997.970077] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[322997.970084] pc : tegra_capture_ivc_register_control_cb+0x180/0x1d0
[322997.970090] lr : tegra_capture_ivc_register_control_cb+0x28/0x1d0
[322997.970094] sp : ffff80002d4037f0
[322997.970100] x29: ffff80002d4037f0 x28: ffff1e44d609e080
[322997.970111] x27: 0000000000001043 x26: ffff1e43ae9f7400
[322997.970122] x25: ffff1e43c66b1db8 x24: ffff1e43ae9f7400
[322997.970131] x23: ffff80002d4038ac x22: ffffcaccffeb4940
[322997.970141] x21: 0000000000000000 x20: ffff80002d403a10
[322997.970151] x19: 0000000000000000 x18: 0000000000000001
[322997.970161] x17: 0000000000000000 x16: 0000000000000000
[322997.970171] x15: ffffffffffffffff x14: ffffff0000000000
[322997.970181] x13: ffffffffffffffff x12: 0000000000000026
[322997.970191] x11: 0000000000000000 x10: ffff5377ff23a000
[322997.970201] x9 : 00000000fffffffe x8 : ffff1e439ada868a
[322997.970210] x7 : 0000000000000009 x6 : 0000092e4696cdcd
[322997.970220] x5 : ffffcaccff91bd20 x4 : ffff80002d403834
[322997.970230] x3 : ffff80002d403830 x2 : ffffcaccff37e090
[322997.970239] x1 : ffff80002d4038ac x0 : ffffcacd012d5000
[322997.970250] Call trace:
[322997.970256]  tegra_capture_ivc_register_control_cb+0x180/0x1d0
[322997.970265]  vi_capture_setup+0x1cc/0x670
[322997.970271]  tegra_channel_capture_setup+0xe8/0x2d0
[322997.970276]  vi5_channel_start_streaming+0x164/0x3f0
[322997.970291]  tegra_channel_start_streaming+0x54/0x80
[322997.970297]  vb2_start_streaming+0x74/0x160
[322997.970303]  vb2_core_streamon+0x9c/0x1a0
[322997.970308]  vb2_streamon+0x34/0x80
[322997.970313]  vb2_ioctl_streamon+0x58/0x70
[322997.970321]  v4l_streamon+0x40/0x50
[322997.970327]  __video_do_ioctl+0x188/0x400
[322997.970332]  video_usercopy+0x280/0x790
[322997.970337]  video_ioctl2+0x40/0x180
[322997.970342]  v4l2_ioctl+0x68/0x90
[322997.970351]  __arm64_sys_ioctl+0xac/0xf0
[322997.970376]  el0_svc_common.constprop.0+0x80/0x1d0
[322997.970384]  do_el0_svc+0x38/0xb0
[322997.970393]  el0_svc+0x1c/0x30
[322997.970399]  el0_sync_handler+0xa8/0xb0
[322997.970405]  el0_sync+0x16c/0x180
[322997.970410] ---[ end trace 3d6ee3562e70e7f8 ]---
[322997.970586] tegra194-vi5 15c10000.vi: failed to register control callback
[322997.970807] tegra-camrtc-capture-vi tegra-capture-vi: vi capture setup failed
[322997.971073] ------------[ cut here ]------------
[322997.971084] WARNING: CPU: 3 PID: 25851 at /dvs/git/dirty/git-master_linux/kernel/nvidia/drivers/platform/tegra/rtcpu/capture-ivc.c:66 tegra_capture_ivc_control_submit+0x44/0x60
[322997.976798] Modules linked in: fuse lzo_rle lzo_compress zram realtek bnep loop ofpart snd_soc_tegra210_admaif snd_soc_tegra186_asrc snd_soc_tegra_pcm snd_soc_tegra210_iqc cmdlinepart snd_soc_tegra186_dspk snd_soc_tegra186_arad snd_soc_tegra210_mixer snd_soc_tegra210_amx snd_soc_tegra210_ope snd_soc_tegra210_sfc snd_soc_tegra210_dmic snd_soc_tegra210_i2s snd_soc_tegra210_adx iwlmvm snd_soc_tegra210_mvc snd_soc_tegra210_afc qspi_mtd mac80211 mtd aes_ce_blk crypto_simd cryptd aes_ce_cipher ghash_ce sha2_ce input_leds sha256_arm64 sha1_ce cdc_acm btusb btrtl btbcm btintel snd_soc_spdif_tx snd_soc_tegra_machine_driver snd_soc_tegra210_adsp max77620_thermal snd_soc_tegra_utils snd_soc_simple_card_utils snd_soc_tegra210_ahub nvadsp snd_hda_codec_hdmi tegra_bpmp_thermal tegra210_adma userspace_alert snd_hda_tegra snd_hda_codec iwlwifi snd_hda_core cfg80211 nv_imx477 spi_tegra210_qspi spi_tegra114 binfmt_misc ina3221 pwm_fan nvgpu nvmap ip_tables x_tables
[322997.977039] CPU: 3 PID: 25851 Comm: v4l2-compliance Tainted: G        W  O      5.10.104-tegra #1
[322997.977044] Hardware name: Unknown NVIDIA Jetson Xavier NX Developer Kit/NVIDIA Jetson Xavier NX Developer Kit, BIOS 1.0-d7fb19b 08/10/2022
[322997.977050] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[322997.977057] pc : tegra_capture_ivc_control_submit+0x44/0x60
[322997.977062] lr : tegra_capture_ivc_control_submit+0x20/0x60
[322997.977066] sp : ffff80002d403810
[322997.977070] x29: ffff80002d403810 x28: ffff1e44d609e080
[322997.977080] x27: ffff1e4380e46020 x26: ffff1e44fff841b8
[322997.977090] x25: ffff1e43ae9f7530 x24: ffff1e43c66b1d80
[322997.977100] x23: 0000000000000049 x22: 0000000000000118
[322997.977109] x21: ffff1e43c6723a00 x20: 0000000000000118
[322997.977119] x19: ffff80002d4038c0 x18: 0000000000000010
[322997.977129] x17: 0000000000000000 x16: 0000000000000000
[322997.977139] x15: ffff1e43c6723f70 x14: 7061632d6374726d
[322997.977148] x13: 61632d6172676574 x12: 61632d6172676574
[322997.977158] x11: 2069762d65727574 x10: 706163206976203a
[322997.977167] x9 : 0000000000000000 x8 : ffff80002d4039d8
[322997.977177] x7 : 000000000000ffff x6 : 0000000000000002
[322997.977187] x5 : 0000000000000000 x4 : 0000000000000049
[322997.977196] x3 : 0000000000000000 x2 : ffffcaccff37e090
[322997.977206] x1 : 0000000000000118 x0 : 0000000000000000
[322997.977215] Call trace:
[322997.977221]  tegra_capture_ivc_control_submit+0x44/0x60
[322997.977228]  vi_capture_ivc_send_control.isra.0+0x6c/0x130
[322997.977234]  csi_stream_tpg_disable+0x74/0xb0
[322997.977259]  csi_stream_release+0x6c/0xd0
[322997.977265]  vi_capture_shutdown+0x4c/0x100
[322997.977272]  vi_channel_close_ex+0x30/0x90
[322997.977277]  vi5_channel_start_streaming+0x27c/0x3f0
[322997.977283]  tegra_channel_start_streaming+0x54/0x80
[322997.977289]  vb2_start_streaming+0x74/0x160
[322997.977309]  vb2_core_streamon+0x9c/0x1a0
[322997.977315]  vb2_streamon+0x34/0x80
[322997.977321]  vb2_ioctl_streamon+0x58/0x70
[322997.977326]  v4l_streamon+0x40/0x50
[322997.977332]  __video_do_ioctl+0x188/0x400
[322997.977338]  video_usercopy+0x280/0x790
[322997.977343]  video_ioctl2+0x40/0x180
[322997.977362]  v4l2_ioctl+0x68/0x90
[322997.977370]  __arm64_sys_ioctl+0xac/0xf0
[322997.977377]  el0_svc_common.constprop.0+0x80/0x1d0
[322997.977383]  do_el0_svc+0x38/0xb0
[322997.977389]  el0_svc+0x1c/0x30
[322997.977395]  el0_sync_handler+0xa8/0xb0
[322997.977400]  el0_sync+0x16c/0x180
[322997.977404] ---[ end trace 3d6ee3562e70e7f9 ]---
[322997.981751] tegra194-vi5 15c10000.vi: IVC control submit failed
[322997.987873] tegra194-vi5 15c10000.vi: csi_stream_release: failed to disable nvcsi tpg on stream 2 virtual channel 0

hello pwolfe1,

Xavier NX with Jetpack-5.1 release image is default support Raspberry Pi IMX477.
why don’t you use the native Jetpack release for development?

We have a different baseboard than the Jakku baseboard so our i2c addresses are different. That is the only meaningful change we have made to the base jakku device tree (to account for 3 cameras instead of 2 and to change the i2c addresses)

hello pwolfe1,

you may still based-on native Jetpack release to revise device tree for your development.
please visit, https://developer.nvidia.com/embedded/jetson-linux-r3521. please download [Driver Package (BSP) Sources] for public release sources.

I believe the device tree at that location is the same as the one used in OE4T’s repository. But we can try to apply our changes and re-build if you think it’s worth a shot.

Is there a list of steps or documentation somewhere for building a device tree from the source files you linked?

hello pwolfe1,

please check developer guide, Building the Kernel.

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