Hi JerryChang,
Thanks for your support. Here I have attached kernel message of tegra194-vi5
[ 2.904924] tegra194-vi5 15c10000.vi: using default number of vi channels, 36
[ 2.911488] tegra194-vi5 15c10000.vi: initialized
[ 2.915569] tegra194-vi5 15c10000.vi: tegra_channel_csi_init:Fail to parse port info
[ 2.915790] tegra194-vi5 15c10000.vi: channel init failed
[ 2.915926] tegra194-vi5 15c10000.vi: tegra_channel_csi_init:Fail to parse port info
[ 2.916095] tegra194-vi5 15c10000.vi: channel init failed
[ 2.916217] tegra194-vi5 15c10000.vi: all channel init failed
[ 2.916344] tegra194-vi5 15c10000.vi: Init channel failed
[ 2.916606] tegra194-vi5 15c10000.vi: tegra_vi_media_controller_init: failed
[ 2.916791] tegra194-vi5 15c10000.vi: media controller init failed
Could please suggest some idea to debug it and It doesn’t created any sub device info from VI driver.
please review the Port Binding session and review your device tree configurations.
you’ll need to assign correct port information in the DT to let VI driver register video nodes.
thanks
it’s VI engine to setup the buffers for receiving the signal according to device tree properties, you should review those device tree properties settings.
those DT properties should match your actual sensor MIPI signaling.
according to your VI tracing messages, it looks VI engine did not receive frame signals.
for example, you should see PXL_SOF and PXL_EOF which indicate start-of-frame and end-of-frame.
I would suggest you to examine your Sensor Pixel Clock settings, it’s camera software uses the sensor pixel clock to calculate the exposure and frame rate of the sensor. you must configure pix_clk_hz correctly to avoid some potential issues.
thanks
Hi JerryChang,
Thanks for your support. I have checked my clock it’s fine and it’s working on imx219 driver but it’s throughing error in my imx390 driver. Is any other chances for populating error.
Hi JerryChang,
Thanks for your support. Finally we able to receive 2 channel parallely using imx390 sensor. The issue in resolution and default image height macro. Thank you so much Jerry.
After receiving 4 channel packet I will update you.
Hi JerryChang,
I have enabled 4 virtual channels and driver also successfully loaded. but sub dev and /dev/video2 and /dev/video3 is not registered. I have attached my dmesg log.
Hello JerryChang,
Thanks for your time and support. Finally we able to read 4 VC packet the issue in channel_numbers in dtsi file. Now am reading my frame using v4l2 API in C that I can read data using memmap but when am using userprt concept it’s generating following. could you please suggest some document for this and any idea to debug it.
VIDIC_QBUF error 22, Invalid argument.
Here I have attached my c file.
Thanks for your timev4l2.c (19.0 KB)
Hi JerryChang,
My driver is working properly in above 850Mbps. But its not working for below 850Mbps data rate. I have changed settle time, then also no improvement, Is there any limitation in Xavier NX datarate/pixel_clock. Could you please suggest some Idea to debug it.
Then one doubt JerryChang, How to read the status of register in csi5_fops.c and vi5_fops.c file for debugging. And also, Is any possibility there to check what is the error like LP error or SOT error or Start frame error or clock error.
that sensor data rate setting in device tree should be identical of your sensor outputs.
may I know what’s the scenario for setting data rate below 850-Mbps?
thanks
Hi JerryChang,
Thanks for your reply. My custom sensor can send data from 200 Mbps to 1.3Gbps by configuring. So that we tested different data rate by configuring sensor and dtsi (pixel clock and settle time) file in imx390. In that it’s working in 1.3Gbps and 900Mbps But When my sensor configured for 650, 450, 220 and 350 Mbps its not working. Could you please suggest any idea.
Xavier’s VI engine is timing sensitive, it should be timing issue for different sensor data rate settings.
please have a try to add set_mode_delay_ms property for increasing timeout values for 1st frame.
for example,
set_mode_delay_ms | Maximum wait time for the first frame after capture starts, in milliseconds.
Hello JerryChang,
Thanks for your reply. yes I modified serdes_pix_clk_hz as same as pixel_clk because I didn’t found method to calculate it.
I have tested upto CAPTURE_TIMEOUT_MS =25000ms but there is no change in error.
Here I have atttached the output of $ cat /etc/nv_tegra_release in below. # R32 (release), REVISION: 4.4, GCID: 23942405, BOARD: t186ref, EABI: aarch64, DATE: Fri Oct 16 19:37:08 UTC 2020
Could you please suggest any solution to debug it.
could you please have a try by update the scf binary with the attachment, Topic160038_Dec01.zip (2.7 MB)
you may using scp to copy that binary to your target and overwrite the libnvscf.so binary.
thereafter, please perform a warm-reboot to have verification.
for example,