Receives CSI data without I2C and device tree questions for none-camera sensor

Hi recently I’m trying to get CSI data in Xavier and my sensor(not a camera) can output CSI data without I2C. I have gone through the Sensor Software Driver Programming:
and these posts:
Jetson AGX Xavier and TI MMWAVE Radar raw data capture over CSI
Xavier - using raw CSI without i2c
Jetson AGX Xavier MIPI CSI-2 without I2C from FPGA

I’m using JetPack 4.6 release, with L4T 32.6.1.

I know in order to get CSI data I need to modify tegra194-p2822-0000-camera-e3326-a00.dtsi , tegra194-camera-e3326-a00.dtsi. and tegra194-p2822-camera-modules.dtsi for ov5683.c and modify ov5683.c to remove I2C part but my questions is:

the example dtsi and doc are all for camera or I2C and in dtsi file it has a lot of values but what should I change based on tegra194-p2822-0000-camera-e3326-a00.dtsi and tegra194-camera-e3326-a00.dtsi. for none-camera sensor to receive CSI data without I2C? Thanks!

You can keep all device tree about the i2c just remove the access i2c REG code from the ov5693.c

Thanks for your reply.

In device tree a lot of values are related to camera pixel like mode_type, pixel_phase, csi_pixel_bit_depth, pix_clk_hz, active_w, active_h but we are not using pixel so I’m not sure how to map my CSI data to to pixel setting. The below images are the CSI data structure:

and they are from the doc:

For each channel each sample i or sample q we are using 16 bits. so,

  1. Do you have any suggestion what values I should use for mode_type, pixel_phase, csi_pixel_bit_depth, pix_clk_hz, active_w, active_h?

  2. also instead of using v4l2, do you have any example to use csi driver directly?(eg: csi.c)

  3. can current driver decode the this CSI data and get the payload?


  1. You may consult with vendor to get it.
  2. Do you want to capture in kernel space?
  3. The data flow is NVCSI → VI → Memory, have a check TRM

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