We have working V4l driver under L4T32.7.3.
I copied driver files in drivers/media/i2c, made one modification:
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
.use_single_rw = true,
#else
.use_single_read = true,
.use_single_write = true,
#endif
and was able to rebuild kernel image.
I copied device tree files in “platform/t19x/jakku/kernel-dts/common”, added
" tegra-capture-vi {"
according to imx477 device tree file and was able to rebuild device tree and have “/dev/video0” and /dev/media0" created.
When I run the same v4l2-ctl command to capture frames, I got errors:
[ 129.247570] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 129.247838] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 129.248700] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 129.248890] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 129.249118] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 129.249290] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 129.249821] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 131.807664] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 131.808004] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 131.808678] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 131.808866] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 131.809189] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 131.809368] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
I have never seen such errors under L4T32.7.3.
What changes are needed to port camera drivers from L4T32.7.3 to L4T35.3.1?
Thanks in advance for helps