CSI D-PHY errors and doubts

Hi All,

We are trying to develop a driver code for a sensor. but we got PXL_SOF syncpt timeout! err = -11.
we printed the values in D-PHY registers.

When we connect the sensor board,

108.701862] nvcsi 150c0000.nvcsi: csi4_start_streaming ports index=0, lanes=4
[ 108.709015] nvcsi 150c0000.nvcsi: csi4_stream_init
[ 108.709027] nvcsi 150c0000.nvcsi: csi4_stream_config
[ 108.709038] nvcsi 150c0000.nvcsi: csi4_stream_config (0) read VC0_DPCM_CTRL = 00000000
[ 108.709041] nvcsi 150c0000.nvcsi: csi4_phy_config
[ 108.709047] nvcsi 150c0000.nvcsi: NVCSI_CIL_CONFIG = 00000000
[ 108.709051] nvcsi 150c0000.nvcsi: ### Phy registers ###
[ 108.709056] nvcsi 150c0000.nvcsi: 0x00010400 = 00000000
[ 108.709061] nvcsi 150c0000.nvcsi: 0x00010404 = 0fffffff
[ 108.709065] nvcsi 150c0000.nvcsi: 0x00010408 = 00000000
[ 108.709070] nvcsi 150c0000.nvcsi: 0x0001040c = 0fffffff
[ 108.709075] nvcsi 150c0000.nvcsi: 0x00010c00 = 0000009c
[ 108.709079] nvcsi 150c0000.nvcsi: 0x00010c04 = 00000000
[ 108.709084] nvcsi 150c0000.nvcsi: 0x00010c08 = 0000009c
[ 108.709088] nvcsi 150c0000.nvcsi: 0x00010c0c = 00000000
[ 108.709092] nvcsi 150c0000.nvcsi: 0x00018000 = 00000000
[ 108.709097] nvcsi 150c0000.nvcsi: 0x00018004 = 00000000
[ 108.709101] nvcsi 150c0000.nvcsi: 0x00018008 = 00000000
[ 108.709105] nvcsi 150c0000.nvcsi: 0x0001800c = 00000200
[ 108.709110] nvcsi 150c0000.nvcsi: 0x00018010 = 00000000
[ 108.709114] nvcsi 150c0000.nvcsi: 0x00018014 = 00000000
[ 108.709119] nvcsi 150c0000.nvcsi: 0x00018018 = 00000000
[ 108.709123] nvcsi 150c0000.nvcsi: 0x0001801c = 00000000
[ 108.709127] nvcsi 150c0000.nvcsi: 0x00018020 = 00700000
[ 108.709132] nvcsi 150c0000.nvcsi: 0x00018024 = 00000000
[ 108.709136] nvcsi 150c0000.nvcsi: 0x00018028 = 00440000
[ 108.709141] nvcsi 150c0000.nvcsi: 0x0001802c = 0000bf00
[ 108.709145] nvcsi 150c0000.nvcsi: 0x00018030 = 9f80bf00
[ 108.709149] nvcsi 150c0000.nvcsi: 0x00018034 = 00000000
[ 108.709154] nvcsi 150c0000.nvcsi: 0x00018038 = 00000000
[ 108.709158] nvcsi 150c0000.nvcsi: 0x0001803c = 00000000
[ 108.709162] nvcsi 150c0000.nvcsi: 0x00018040 = 00000000
[ 108.709166] nvcsi 150c0000.nvcsi: 0x00018044 = 00000000
[ 108.709171] nvcsi 150c0000.nvcsi: 0x00018048 = 00000000
[ 108.709175] nvcsi 150c0000.nvcsi: 0x0001804c = 00000000
[ 108.709179] nvcsi 150c0000.nvcsi: 0x00018050 = 00000000
[ 108.709184] nvcsi 150c0000.nvcsi: 0x00018054 = 00000000
[ 108.709188] nvcsi 150c0000.nvcsi: 0x00018058 = 00000000
[ 108.709192] nvcsi 150c0000.nvcsi: 0x0001805c = 00110000
[ 108.709212] fpga_hdmi2csi 0-003c: fpga_hdmi2csi_s_stream():
[ 109.707337] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 110.711749] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 111.716120] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11

The errors as: 0x00010c00 = 0000009C and the fields:
intr_cil_data_lane_sot_mb_err0_b
intr_cil_data_lane_ctrl_err0_b
intr_cil_data_lane_rxfifo_full_err0_b
intr_cil_data_lane_rxfifo_full_err1_b

the above fields are 1.

Why do we get the errors for Phy0 CILB? What is the meaning of these errors?

Then we disconnected the sensor board and run the vlc command to stream the video, We got error field in register as follows,

[ 108.709075] nvcsi 150c0000.nvcsi: 0x00010c00 = 00000088
[ 108.709079] nvcsi 150c0000.nvcsi: 0x00010c04 = 00000000
[ 108.709084] nvcsi 150c0000.nvcsi: 0x00010c08 = 00000088

The errors as: 0x00010c00 = 00000088 and the fields:
intr_cil_data_lane_ctrl_err0_b
intr_cil_data_lane_ctrl_err1_b

the above fields are 1.

In Phy 0, CILA, whether the sensor board is connected or not, it is not showing any errors in
status registers, register address offset: 0x10400 and 0x10408.

-Thanks.

Would you use v4l2-ctl for sensor bring up you can check the sensor programing guide in L4T document.
And enable logs from user-space for more details

https://elinux.org/Jetson_TX2/28.1_Camera_BringUp