MAX9296+MAX9295+ IMX728 GMSL Camera

Hi,

I have the same image output like this user:
[max9296+max9295+8MP camera]
But the embedded_metadata_height is correct in my setup.
The image will also be stuck when i run the cameras simultaneously.

Device tree:
dts.txt (30.0 KB)
Just focus on imx728_a@1b, imx728_b@1c, imx728_g@1b, imx728_h@1c.

Trace log:
trace.txt (24.8 MB)

Please give me some suggestions.

Thanks!

Hi,

For the camera basic functionality first needs to check the device and driver configuration.
You can reference to below program guide for the detailed information of device tree and driver implementation.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#sensor-software-driver-programming

Please refer to Applications Using V4L2 IOCTL Directly by using V4L2 IOCTL to verify basic camera functionality.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#to-run-a-v4l2-ctl-test

Once confirm the configure and still failed below link help to get log and some information and some tips for debug.
https://elinux.org/Jetson/l4t/Camera_BringUp#Steps_to_enable_more_debug_messages

Thanks!

How should i configure the embedded_metadata_height? I found the CHANSEL_NOMATCH error in my trace log now. @.@

When bringing up the camera, it seems similar to the symptoms that occur when the SerDes pixel clock does not meet the specifications. How about increasing the SerDes pixel clock? (400?)

Boost clocks to try.

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

Hi ShaneCCC,

Unfortunately, it is still the same. To make it easier, i am now only using two cameras, both with 2 csi_lane.

mode- 1920x1080_30fps

The first camera works fine, but the second one doesn’t. Below is the trace log when i only run the second camera.
trace.txt (4.0 MB)

Hi popoyhyun,

Thanks for your suggestion. In fact, the first thing i did was change the pixel clock and use different methods to calculate it, but it didn’t work.

Below error tell the PIXEL_LONG_LINE/PIXEL_SPURIOUS/PIXEL_RUNAWAY
Looks like the sensor output incorrect size and unsupport package like mipi user-defined type.

     kworker/8:1-94      [008] ....   261.737859: rtcpu_vinotify_event: tstamp:8815663098 cch:1 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:0 vi_tstamp:282089457536 data:0x0000000004370182

     kworker/8:1-94      [008] ....   261.737860: rtcpu_vinotify_event: tstamp:8815663384 cch:1 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:0 vi_tstamp:282089467936 data:0x00000000043801c0

Hi ShaneCCC,

Thanks for your debugging. So is it caused by the camera driver, not the device tree?

Suppose yes.

Hi ShaneCC,

I have one more question. What does “channel:0x23” mean?

It’s tell on which VI channel.