Xavier - using raw CSI without i2c

Thanks for the reply ShaneCCC; I think I understand the issue.

For now, I’m working to get the camera’s single-frame mode functioning. I’ve removed all but one mode of the ov5693 devicetree, and configured that mode to have a HxW of 1024x1024, and pixel depth of 12bits:

active_w = "1024";
active_h = "1024";
mode_type = "bayer";
pixel_phase = "bggr";
csi_pixel_bit_depth = "12";

I tried to capture a frame using v4l2-ctl, also configuring these parameters there:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1024,height=1024,pixelformat=RG12 --stream-mmap --stream-count=1 --stream-to=csi.raw --verbose
VIDIOC_QUERYCAP: ok
VIDIOC_G_FMT: ok
VIDIOC_S_FMT: ok
Format Video Capture:
	Width/Height      : 2592/1944
	Pixel Format      : 'RG12'
	Field             : None
	Bytes per Line    : 5184
	Size Image        : 10077696
	Colorspace        : sRGB
	Transfer Function : Default (maps to sRGB)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Full Range)
	Flags             : 
VIDIOC_REQBUFS: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_STREAMON: failed: Remote I/O error

For some reason, v4l2-ctl prints out the video format differently; I’m not sure where this configuration is coming from (and it fails with an I/O error).

Also, during boot, I see some sort of a crash after the ov5693 is bound to the VI, see dmesg output (NULL pointer dereference); but the system still boots up, and I see a /dev/video0 device.

[    7.557935] tegra-xusb 3610000.xhci: Firmware timestamp: 2019-07-24 05:47:34 UTC, Version: 60.06 release
[    7.557962] tegra-xusb 3610000.xhci: xHCI Host Controller
[    7.557973] tegra-xusb 3610000.xhci: new USB bus registered, assigned bus number 1
[    7.558642] tegra-xusb 3610000.xhci: hcc params 0x0184ff25 hci version 0x110 quirks 0x00050810
[    7.558683] tegra-xusb 3610000.xhci: irq 471, io mem 0x03610000
[    7.558848] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    7.558851] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.558854] usb usb1: Product: xHCI Host Controller
[    7.558856] usb usb1: Manufacturer: Linux 4.9.140-tegra xhci-hcd
[    7.558858] usb usb1: SerialNumber: 3610000.xhci
[    7.559329] hub 1-0:1.0: USB hub found
[    7.559355] hub 1-0:1.0: 4 ports detected
[    7.559640] tegra-xusb 3610000.xhci: xHCI Host Controller
[    7.559646] tegra-xusb 3610000.xhci: new USB bus registered, assigned bus number 2
[    7.559650] tegra-xusb 3610000.xhci: Host supports USB 3.1 Enhanced SuperSpeed
[    7.559787] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    7.559790] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.559793] usb usb2: Product: xHCI Host Controller
[    7.559796] usb usb2: Manufacturer: Linux 4.9.140-tegra xhci-hcd
[    7.559798] usb usb2: SerialNumber: 3610000.xhci
[    7.560105] hub 2-0:1.0: USB hub found
[    7.560126] hub 2-0:1.0: 4 ports detected
[    7.631639] tegra-ivc ivc-bc00000.rtcpu: region 0: iova=0xbfee0000-0xbfefffff size=131072
[    7.631960] tegra-ivc ivc-bc00000.rtcpu:echo@0: echo: ver=0 grp=1 RX[16x64]=0x1000-0x1480 TX[16x64]=0x1480-0x1900
[    7.632182] tegra-ivc ivc-bc00000.rtcpu:dbg@1: dbg: ver=0 grp=1 RX[1x384]=0x1900-0x1b00 TX[1x384]=0x1b00-0x1d00
[    7.632305] tegra-ivc ivc-bc00000.rtcpu:dbg@2: dbg: ver=0 grp=1 RX[1x8192]=0x1d00-0x3d80 TX[1x8192]=0x3d80-0x5e00
[    7.632586] tegra-ivc ivc-bc00000.rtcpu:ivccontrol@3: ivccontrol: ver=0 grp=1 RX[64x320]=0x5e00-0xae80 TX[64x320]=0xae80-0xff00
[    7.632651] tegra-ivc ivc-bc00000.rtcpu:ivccapture@4: ivccapture: ver=0 grp=1 RX[512x64]=0xff00-0x17f80 TX[512x64]=0x17f80-0x20000
[    7.632887] tegra186-cam-rtcpu bc00000.rtcpu: using cam RTCPU IRQ (69)
[    7.632890] tegra186-cam-rtcpu bc00000.rtcpu: tegra_camrtc_mon_create is successful
[    7.633715] tegra186-cam-rtcpu bc00000.rtcpu: firmware version cpu=rce cmd=5 sha1=cf2bef3ad10e437272857b76308abef8ffb80bda
[    7.634124] gpio tegra-gpio wake67 for gpio=48(G:0)
[    7.634182] gpio tegra-gpio-aon wake29 for gpio=36(EE:4)
[    7.634321] input: gpio-keys as /devices/gpio-keys/input/input5
[    7.664189] usb usb1: usb_suspend_both: status 0
[    7.667219] tegra_rtc c2a0000.rtc: setting system clock to 2020-02-25 23:18:52 UTC (1582672732)
[    7.667568] mmcblk mmc0:0001: Card claimed for testing.
[    7.707504] bpmp: mounted debugfs mirror
[    7.713342] vdd-1v8-cvb: disabling
[    7.713346] vdd-1v8-sd: disabling
[    7.713349] vdd-epb-1v0: disabling
[    7.713351] avdd-cam-2v8: disabling
[    7.713353] vdd-sata-1v5: disabling
[    7.713355] vdd-3v3-slt: disabling
[    7.713357] vdd-fan: disabling
[    7.713359] vdd_sys_en: disabling
[    7.713365] ALSA device list:
[    7.713368]   #0: tegra-hda-galen-t194 at 0x3518000 irq 68
[    7.713370]   #1: tegra-snd-t19x-mobile-rt565x
[    7.915674] tegradc 15210000.nvdisplay: vblank syncpt # 15 for dc 1
[    7.921415] tegradc 15210000.nvdisplay: vpulse3 syncpt # 16 for dc 1
[    7.936555] tegradc 15210000.nvdisplay: probed
[    7.936883] tegradc 15210000.nvdisplay: fb registered
[    7.941337] hpd: state 7 (Takeover from bootloader), hpd 0, pending_hpd_evt 1
[    7.944238] tegradc 15220000.nvdisplay: disp2 connected to head2->/host1x/sor1
[    7.944271] tegradc 15220000.nvdisplay: parse_dp_settings: No dp-lt-settings node
[    7.944323] tegradc 15220000.nvdisplay: DT parsed successfully
[    7.944356] tegradc 15220000.nvdisplay: Display dc.ffffff80114d0000 registered with id=2
[    7.944491] tegradc 15220000.nvdisplay: vblank syncpt # 17 for dc 2
[    7.944496] tegradc 15220000.nvdisplay: vpulse3 syncpt # 18 for dc 2
[    7.952917] tegradc 15220000.nvdisplay: probed
[    7.990711] hpd: switching from state 7 (Takeover from bootloader) to state 0 (Reset)
[    7.990734] hpd: state 0 (Reset), hpd 0, pending_hpd_evt 0
[    8.003761] tegradc 15220000.nvdisplay: fb registered
[    8.003764] tegradc 15210000.nvdisplay: blank - powerdown
[    8.006980] hpd: state 7 (Takeover from bootloader), hpd 0, pending_hpd_evt 1
[    8.006983] hpd: switching from state 7 (Takeover from bootloader) to state 0 (Reset)
[    8.006988] hpd: state 0 (Reset), hpd 0, pending_hpd_evt 0
[    8.008501] Freeing unused kernel memory: 8576K
[    8.039185] extcon-disp-state external-connection:disp-state: cable 44 state 0 already set.
[    8.039189] tegradc 15220000.nvdisplay: blank - powerdown
[    8.039203] Extcon DP: HPD disabled
[    8.039208] hpd: hpd_switch 0
[    8.039211] hpd: switching from state 0 (Reset) to state 1 (Check Plug)
[    8.039222] hpd: state 1 (Check Plug), hpd 0, pending_hpd_evt 0
[    8.039226] hpd: switching from state 1 (Check Plug) to state 3 (Disabled)
[    8.079775] extcon-disp-state external-connection:disp-state: cable 44 state 0 already set.
[    8.079789] Extcon DP: HPD disabled
[    8.079798] hpd: hpd_switch 0
[    8.079800] hpd: switching from state 0 (Reset) to state 1 (Check Plug)
[    8.079811] hpd: state 1 (Check Plug), hpd 0, pending_hpd_evt 0
[    8.079815] hpd: switching from state 1 (Check Plug) to state 3 (Disabled)
[    8.139612] Root device found: mmcblk0p1
[    8.141036] Found dev node: /dev/mmcblk0p1
[    8.168332] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[    8.169335] Rootfs mounted over mmcblk0p1
[    8.187118] Switching from initrd to actual rootfs
[    8.330755] ip_tables: (C) 2000-2006 Netfilter Core Team
[    8.334676] cgroup: cgroup2: unknown option "nsdelegate"
[    8.343720] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[    8.344605] systemd[1]: Detected architecture arm64.
[    8.354390] systemd[1]: Set hostname to <xavier01>.
[    8.436771] systemd[1]: File /lib/systemd/system/systemd-journald.service:35 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[    8.437058] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[    8.573690] random: systemd: uninitialized urandom read (16 bytes read)
[    8.576934] systemd[1]: Created slice System Slice.
[    8.577638] random: systemd: uninitialized urandom read (16 bytes read)
[    8.577898] systemd[1]: Listening on udev Kernel Socket.
[    8.578181] random: systemd: uninitialized urandom read (16 bytes read)
[    8.578305] systemd[1]: Reached target User and Group Name Lookups.
[    8.578876] systemd[1]: Listening on Syslog Socket.
[    8.579286] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[    8.636172] gpio tegra-gpio wake44 for gpio=192(Y:0)
[    8.667168] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[    8.993908] systemd-journald[2469]: Received request to flush runtime journal from PID 1
[    9.110286] nvgpu: 17000000.gv11b          nvgpu_nvhost_syncpt_init:291  [INFO]  syncpt_unit_base 60000000 syncpt_unit_size 400000 size 1000

[    9.502131] using random self ethernet address
[    9.502227] using random host ethernet address
[    9.536950] ov5693 2-0036: probing v4l2 sensor.
[    9.536957] ov5693 2-0036: TEST!
[    9.537678] ov5693 2-0036: tegracam sensor driver:ov5693_v2.0.6
[    9.548722] tegra194-vi5 15c10000.vi: subdev ov5693 2-0036 bound
[    9.549173] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[    9.549320] Mem abort info:
[    9.549368]   ESR = 0x96000005
[    9.549428]   Exception class = DABT (current EL), IL = 32 bits
[    9.549521]   SET = 0, FnV = 0
[    9.549572]   EA = 0, S1PTW = 0
[    9.549622] Data abort info:
[    9.549669]   ISV = 0, ISS = 0x00000005
[    9.549733]   CM = 0, WnR = 0
[    9.549786] user pgtable: 4k pages, 39-bit VAs, pgd = ffffffc3d74a2000
[    9.549888] [0000000000000000] *pgd=0000000000000000, *pud=0000000000000000
[    9.550011] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[    9.550108] Modules linked in: ov5693(+) spidev nvgpu binfmt_misc bluedroid_pm ip_tables x_tables
[    9.550298] CPU: 0 PID: 4381 Comm: systemd-udevd Not tainted 4.9.140-tegra #1
[    9.551810] Hardware name: Jetson-AGX (DT)
[    9.556013] task: ffffffc3d965c600 task.stack: ffffffc3d74c4000
[    9.561882] PC is at camera_common_g_fmt+0x44/0xc8
[    9.566777] LR is at camera_common_g_fmt+0x30/0xc8
[    9.571678] pc : [<ffffff8008b45d04>] lr : [<ffffff8008b45cf0>] pstate: 40400045
[    9.579204] sp : ffffffc3d74c76a0
[    9.582446] x29: ffffffc3d74c76a0 x28: 0000000000000018 
[    9.588211] x27: 0000000000000175 x26: 0000000000000002 
[    9.593811] x25: 0000000000000038 x24: 0000000000000001 
[    9.599411] x23: ffffffc3dddcf050 x22: ffffffc3dddcf050 
[    9.604836] x21: ffffffc3dddcf018 x20: 0000000000000000 
[    9.609999] x19: ffffffc3d74c7770 x18: 0000000000000001 
[    9.615773] x17: 0000007fb22511d0 x16: ffffff800825b9a8 
[    9.621290] x15: ffffffffffffffff x14: ffffffc3d74c76a0 
[    9.626973] x13: ffffffc3d74c75a5 x12: ffffffffffffffff 
[    9.632327] x11: ffffffc3d74c7560 x10: ffffffc3d74c7560 
[    9.638174] x9 : 0000000000000002 x8 : 0000000000000002 
[    9.643948] x7 : ffffff8008fb6e08 x6 : 0000000000000090 
[    9.649206] x5 : 000000000000008d x4 : 0000000000000001 
[    9.654543] x3 : 0000000000010000 x2 : 0000000000000000 
[    9.660136] x1 : ffffffc3d965c600 x0 : 0000000000000001 

[    9.666620] Process systemd-udevd (pid: 4381, stack limit = 0xffffffc3d74c4000)
[    9.673787] Call trace:
[    9.676160] [<ffffff8008b45d04>] camera_common_g_fmt+0x44/0xc8
[    9.681754] [<ffffff8008b4a520>] v4l2sd_get_fmt+0x28/0x38
[    9.686832] [<ffffff8008b3497c>] tegra_channel_fmts_bitmap_init+0x13c/0x268
[    9.693305] [<ffffff8008b3614c>] tegra_channel_init_subdevices+0x17c/0x790
[    9.699954] [<ffffff8008b37370>] tegra_vi_graph_notify_complete+0x2e8/0x6e0
[    9.706344] [<ffffff8008b1ab6c>] v4l2_async_test_notify+0x104/0x120
[    9.712206] [<ffffff8008b1ada8>] v4l2_async_register_subdev+0x88/0x100
[    9.718334] [<ffffff8008b4a334>] tegracam_v4l2subdev_register+0xf4/0x1a0
[    9.724732] [<ffffff80011bca4c>] ov5693_probe+0x20c/0x4e8 [ov5693]
[    9.730493] [<ffffff8008ae1534>] i2c_device_probe+0x144/0x258
[    9.736268] [<ffffff800877e418>] driver_probe_device+0xd8/0x408
[    9.742127] [<ffffff800877e824>] __driver_attach+0xdc/0x128
[    9.747743] [<ffffff800877be94>] bus_for_each_dev+0x5c/0xa8
[    9.753415] [<ffffff800877dc18>] driver_attach+0x30/0x40
[    9.758839] [<ffffff800877d64c>] bus_add_driver+0x20c/0x2a8
[    9.764440] [<ffffff800877f75c>] driver_register+0x6c/0x110
[    9.770219] [<ffffff8008ae1c24>] i2c_register_driver+0x4c/0xb0
[    9.776191] [<ffffff80011c40c0>] ov5693_i2c_driver_init+0x18/0x30 [ov5693]
[    9.783253] [<ffffff8008083afc>] do_one_initcall+0x44/0x130
[    9.788771] [<ffffff80081c2ddc>] do_init_module+0x64/0x1a8
[    9.794455] [<ffffff80081581dc>] load_module+0x10a4/0x12d8
[    9.799877] [<ffffff80081586c0>] SyS_finit_module+0xd8/0xf0
[    9.805394] [<ffffff800808391c>] __sys_trace_return+0x0/0x4
[    9.807344] random: crng init done
[    9.807348] random: 7 urandom warning(s) missed due to ratelimiting
[    9.820707] ---[ end trace 76774f2ddcb176e4 ]---
[   10.426792] Mass Storage Function, version: 2009/09/11
[   10.426912] LUN: removable file: (no medium)
[   10.432159] using random self ethernet address
[   10.432267] using random host ethernet address
[   10.468427] rndis0: HOST MAC ea:a9:92:fb:a8:78
[   10.468854] rndis0: MAC ea:a9:92:fb:a8:79
[   10.471408] usb0: HOST MAC ea:a9:92:fb:a8:7a
[   10.471544] usb0: MAC ea:a9:92:fb:a8:7b
[   10.471634] tegra-xudc-new 3550000.xudc: exiting ELPG
[   10.472865] tegra-xudc-new 3550000.xudc: exiting ELPG done
[   10.473013] tegra-xudc-new 3550000.xudc: ep 0 (type: 0, dir: out) enabled
[   10.473166] tegra-xudc-new 3550000.xudc: entering ELPG
[   10.473981] tegra-xudc-new 3550000.xudc: entering ELPG done
[   10.474110] tegra-xudc-new 3550000.xudc: exiting ELPG
[   10.475733] tegra-xudc-new 3550000.xudc: exiting ELPG done
[   10.475876] tegra-xudc-new 3550000.xudc: entering ELPG
[   10.476207] tegra-xudc-new 3550000.xudc: entering ELPG done
[   10.482391] l4tbr0: port 1(rndis0) entered blocking state
[   10.482515] l4tbr0: port 1(rndis0) entered disabled state
[   10.482802] device rndis0 entered promiscuous mode
[   10.489195] IPv6: ADDRCONF(NETDEV_UP): rndis0: link is not ready
[   10.494580] l4tbr0: port 2(usb0) entered blocking state
[   10.494698] l4tbr0: port 2(usb0) entered disabled state
[   10.494974] device usb0 entered promiscuous mode
[   10.499536] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[   11.040485] nvgpu: 17000000.gv11b                 tpc_pg_mask_store:843  [INFO]  no value change, same mask already set
[   11.191549] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   11.333056] gpio tegra-gpio wake20 for gpio=52(G:4)
[   11.345213] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   11.805834] zram: Added device: zram0
[   11.809071] zram: Added device: zram1
[   11.809907] zram: Added device: zram2
[   11.810876] zram: Added device: zram3
[   11.811435] zram: Added device: zram4
[   11.812657] zram: Added device: zram5
[   11.813604] zram: Added device: zram6
[   11.814187] zram: Added device: zram7
[   11.830462] zram0: detected capacity change from 0 to 1037008896
[   11.848196] Adding 1012700k swap on /dev/zram0.  Priority:5 extents:1 across:1012700k SS
[   11.850800] zram1: detected capacity change from 0 to 1037008896
[   11.859731] Adding 1012700k swap on /dev/zram1.  Priority:5 extents:1 across:1012700k SS
[   11.861918] zram2: detected capacity change from 0 to 1037008896
[   11.870708] Adding 1012700k swap on /dev/zram2.  Priority:5 extents:1 across:1012700k SS
[   11.873282] zram3: detected capacity change from 0 to 1037008896
[   11.883433] Adding 1012700k swap on /dev/zram3.  Priority:5 extents:1 across:1012700k SS
[   11.886079] zram4: detected capacity change from 0 to 1037008896
[   11.895516] Adding 1012700k swap on /dev/zram4.  Priority:5 extents:1 across:1012700k SS
[   11.897943] zram5: detected capacity change from 0 to 1037008896
[   11.907023] Adding 1012700k swap on /dev/zram5.  Priority:5 extents:1 across:1012700k SS
[   11.909448] zram6: detected capacity change from 0 to 1037008896
[   11.916561] Wake76 for irq=199
[   11.916641] Wake77 for irq=199
[   11.916695] Wake78 for irq=199
[   11.916749] Wake79 for irq=199
[   11.916801] Wake80 for irq=199
[   11.916853] Wake81 for irq=199
[   11.916907] Wake82 for irq=199
[   11.916991] tegra-xusb 3610000.xhci: Upgrade port 0 to USB3.0
[   11.917092] tegra-xusb 3610000.xhci: Upgrade port 1 to USB3.0
[   11.918966] Adding 1012700k swap on /dev/zram6.  Priority:5 extents:1 across:1012700k SS
[   11.921323] zram7: detected capacity change from 0 to 1037008896
[   11.930999] Adding 1012700k swap on /dev/zram7.  Priority:5 extents:1 across:1012700k SS
[   12.148085] usb 1-1: new high-speed USB device number 2 using tegra-xusb
[   12.169930] usb 1-1: New USB device found, idVendor=2109, idProduct=2812
[   12.170068] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   12.170185] usb 1-1: Product: USB2.0 Hub             
[   12.170269] usb 1-1: Manufacturer: VIA Labs, Inc.         
[   12.171241] hub 1-1:1.0: USB hub found
[   12.171566] hub 1-1:1.0: 4 ports detected
[   12.288418] usb 2-3: new SuperSpeed USB device number 2 using tegra-xusb
[   12.320108] usb 1-1: usb_suspend_both: status 0
[   12.320300] usb usb1: usb_suspend_both: status 0
[   12.540635] usb 2-3: New USB device found, idVendor=2109, idProduct=0812
[   12.540783] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   12.540906] usb 2-3: Product: USB3.0 Hub             
[   12.540997] usb 2-3: Manufacturer: VIA Labs, Inc.         
[   12.547339] hub 2-3:1.0: USB hub found
[   12.547606] hub 2-3:1.0: 4 ports detected
[   12.742847] tegradc 15200000.nvdisplay: blank - powerdown
[   12.742969] tegradc 15210000.nvdisplay: blank - powerdown
[   12.743061] tegradc 15220000.nvdisplay: blank - powerdown
[   12.936375] usb 2-3.3: new SuperSpeed USB device number 3 using tegra-xusb
[   12.957512] usb 2-3.3: New USB device found, idVendor=0bda, idProduct=8153
[   12.957655] usb 2-3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[   12.957773] usb 2-3.3: Product: USB 10/100/1000 LAN
[   12.957852] usb 2-3.3: Manufacturer: Realtek
[   12.957937] usb 2-3.3: SerialNumber: 000002
[   13.052715] usb 2-3.3: reset SuperSpeed USB device number 3 using tegra-xusb
[   13.121181] r8152 2-3.3:1.0 eth1: v2.09.00 (2017/08/21)
[   13.121301] r8152 2-3.3:1.0 eth1: This product is covered by one or more of the following patents:
               		US6,570,884, US6,115,776, and US6,327,625.

Thank you for any suggestions or comments.