After loading the imx586 driver, I tried to get the stream using the v4l2-ctl command, and the stream can be captured normally, as shown below:
nvidia@nvidia-desktop:~$ v4l2-ctl --set-fmt-video=width=4000,height=3000 -d /dev/video1 --stream-mmap -V --set-ctrl sensFormat Video Capture:
Width/Height : 4000/3000
Pixel Format : 'RG10' (10-bit Bayer RGRG/GBGB)
Field : None
Bytes per Line : 8000
Size Image : 24000000
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
<<<<<<<<<<<<<<<<<<<< 18.85 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 21.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 22.82 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 23.32 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 23.62 fps
<<<<<<<<<<<<<<<<<<<<<<<< 23.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 23.95 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.06 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.14 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.20 fps
<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 24.81 fps
When I preview with argus_camera, I find that the image is not complete and the saved image is as follows:
When I tried to modify pix_clk_hz in the device tree, I found that when the plck I set was greater than 600Mhz, I could not use the v4l2-ctl command to get the stream. At this time, I found that vi had an error when I checked dmesg.
[ 540.408002] imx586_power_on: power_on
[ 540.408015] imx586 10-001a: imx586_power_on: set reset gpio = 486.
[ 540.417968] bwmgr API not supported
[ 540.418684] imx586 10-001a: imx586_set_mode: imx586_set_mode-----------
[ 540.422318] imx586 10-001a: imx586_set_mode: imx586_set_mode, mode_prop_idx:0, limit_analog_gain:0, csi_port:2, numlanes:4, mode:0,fmt_width: 4000, fmt_height:3000, def_clk_freq:24000000
[ 540.428330] imx586_set_mode: imx586_write_table, mode: 0-----------
[ 540.488666] imx586_start_streaming
[ 540.488673] imx586_stand_by: write table id: 10
[ 540.501472] imx586_start_streaming: imx586_start_streaming-------------
[ 540.501480] imx586_start_streaming: IMX586_MODE_START_STREAM, 7!!!
[ 542.956003] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 542.965153] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 542.975396] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 542.983128] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 542.993810] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 543.001539] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 543.012338] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 545.523844] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 545.532983] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 545.543404] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 545.551121] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 545.561795] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 545.569511] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
Based on the above situation, I can’t confirm whether the problem is related to pclk. How should I adjust it to preview the normal image? Thank you very much for your help!