how you update the device tree, did you confirm the changes is applied correctly?
besides, what’s the failure on kernel side to enable the camera stream?
[ 93.209161] falcon 154c0000.nvenc: Direct firmware load for nvhost_nvenc080.fw failed with error -2
[ 93.218514] falcon 154c0000.nvenc: Falling back to sysfs fallback for: nvhost_nvenc080.fw
[ 93.229249] falcon 154c0000.nvenc: looking for firmware in subdirectory
[ 93.307829] bwmgr API not supported
[ 95.993057] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 96.005810] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 96.016192] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 96.023987] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 96.034683] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 96.042424] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 96.053219] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 98.809028] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 98.818191] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 98.828836] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 98.836795] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 98.847476] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 98.855191] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 98.866180] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 101.624926] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 101.634078] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 101.644814] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 101.652698] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 101.663402] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 101.671141] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 101.682001] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 104.440091] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 104.449221] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 104.459940] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 104.467668] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 104.478323] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 104.486040] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 104.496783] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 107.255993] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 107.265137] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 107.280115] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 107.287836] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 107.298493] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 107.306210] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 107.316997] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 110.071896] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 110.081034] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 110.090784] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 110.098497] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 110.109159] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 110.116879] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 110.127628] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 112.887817] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 112.896949] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 112.906777] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 112.914493] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 112.925154] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 112.932871] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 112.943583] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 115.455768] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 115.464911] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 115.475273] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 115.482988] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 115.493650] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 115.501364] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 115.512214] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 115.529896] bwmgr API not supported
the VI tracing log indicate there’s PHY interrupt error.
for example, rtcpu_nvcsi_intr: tstamp:225941763378 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
it’s trigger bit-2, which means there’s more than one bit error detected on the data-lane sync word.
this usually the failure from the sensor side, please review the configuration of your bridge driver.
BTW,
please download Jetson Orin NX Series and Orin Nano Series Design Guide and check [Figure 10-1. CSI Connection Options].
you’ll see lane polarity swizzle for 1st CSI brick, i.e. CSI-A and CSI-B.
you should moving to the latest Jetpack release, JP-5.1. there’s device tree property, lane_polarity to configure lane polarity for the camera connections.
please see-also reference driver, for example, $public_sources/kernel_src/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-camera-rbpcv2-imx219.dtsi
re-cap as below for lane_polarity descriptions,
* lane_polarity
* Based on the camera connector pin.
* CSIx_D0 | CSIx_D1 | CSI(X+1)_D0 | CSI(X+1)CSIx_D1
* LSB | BIT1 | BIT2 | MSB
* if there is a polarity swap on any lane, the bit corrsponding
* to the lane should be set
* e.g. polarity swap on CSIx_D0 only -> lane_polarity = "1"; 0001
* e.g. polarity swap on CSIx_D1 and CSI(X+1)_D0 -> lane_polarity = "6"; 0110
Coud you give me advice how to update lane_polarity wihout modeX property in the DT? I’m using MIPI-CSI 2 bridge driver (tc358743), if I add the modeX, I will have a kernel panic.
it shall also parse lane_polarity under the same node without mode property.
please check kernel sources for the csi5_stream_set_config() function.
for example, $public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/nvcsi/csi5_fops.c
I have tested lane_polarity, different CSI port, different dev board with tc358743 and different HDMI image source but still not working (green image on gstreamer).
[ 161.004868] bwmgr API not supported
[ 163.502260] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 163.514989] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 163.525201] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 163.532920] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=3, csi_port=3
[ 163.544072] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 163.551792] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 3 vc- 0
[ 163.562611] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
I managed to get distorted video by changing link-frequencies = /bits/ 64 <297000000> to link-frequencies = /bits/ 64 <148500000>.
It means that data rate 297Mbps is ok, but 594Mbps to high. I know that output data rate without skew calibration should to be < 1.5Gbps, but 594Mbps is much less. Do you have idea what is wrong?
there’s show PHY interrupts. the error code PHY_INTR0=0x40 indicate more than one bit error detected on the data-lane sync word. this usually the configuration issues on sensor side.
also, an error CHANSEL_SHORT_FRAME reported means the receiving MIPI signal height is less than your DT configuration.