read MIPI infomation[Xavier_TRM_DP09253002]

dear

I hope make the new product for longing solution,

I choose Xavier platform and we use 1024 x 769 resolution,

now we want to change camera format 1280 x 844 resolution,

but Xavier is not detect the recently format.

as a result, I found NVCSI contents in ‘Xavier_TRM_DP09253002’

we proceed the command for get some information, but we can not access the register,

could you help me for access the register?(I will use read command only)

ex) word count, sof, endof etc…

What kind of case need to access the REG?
Have a check the CSI/VI kernel driver at …/kernel/nvidia/drivers/media/tegra/camera/…

sof, eof, wc, crc etc…

I checked the mipi signal, it is ok, HS, LS, sof, eof but I can’t see the image,

thank you so mush, :)

Have enable the trace to get more information.

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

thank you for your response.

I have a question, we use XAVIER platform, is this same between TX2 and Xavier.

we annotated in vi5_capture_dequeue

vi5_capture_dequeue as below

else if (descr->status.status != CAPTURE_STATUS_SUCCESS) {
if ((descr->status.flags
& CAPTURE_STATUS_FLAG_CHANNEL_IN_ERROR) != 0) {
chan->queue_error = true;
dev_err(vi->dev, “uncorr_err: flags %d, err_data %d\n”,
descr->status.flags, descr->status.err_data);
} else {
dev_warn(vi->dev,
"corr_err: discarding frame %d, flags: %d, "
“err_data %d\n”,
descr->status.frame_id, descr->status.flags,
descr->status.err_data);
buf->vb2_state = VB2_BUF_STATE_REQUEUEING;
goto done;
}

as a result, we can see unstable image.

and set the camera resolution, camera_v4l2_cuda -d /dev/video0 -s 1280x944 -f YUYV

and then I can see the ok image,

so I think it problem is camera capture buffer? or DMA?

I ask your opinion.

I mistake write word,

comment out this block.

else if (descr->status.status != CAPTURE_STATUS_SUCCESS) {
if ((descr->status.flags
& CAPTURE_STATUS_FLAG_CHANNEL_IN_ERROR) != 0) {
chan->queue_error = true;
dev_err(vi->dev, “uncorr_err: flags %d, err_data %d\n”,
descr->status.flags, descr->status.err_data);
} else {
dev_warn(vi->dev,
"corr_err: discarding frame %d, flags: %d, "
“err_data %d\n”,
descr->status.frame_id, descr->status.flags,
descr->status.err_data);
buf->vb2_state = VB2_BUF_STATE_REQUEUEING;
goto done;
}

and then we can see unstable image.

I was attached the image.

thanks


it is dmesg status.

[ 9389.677643] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 96, err_data 12583009
[ 9389.710690] tegra194-vi5 15c10000.vi: corr_err: discarding frame 1, flags: 0, err_data 512
[ 9389.710862] tegra194-vi5 15c10000.vi: corr_err: discarding frame 2, flags: 0, err_data 512
[ 9389.711005] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 96, err_data 12583009
[ 9389.744300] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 96, err_data 12583009
[ 9389.7773…

thanks

shane~

we can see the image after remove 5line,

I think VI process set low,

we are finding set fast process in VI block.

thanks

You can try increase the pixel_clk_hz in the dt to try.

Hi jackbuffett,

Have you managed to get camera working? Any result can be shared?

dear kayccc

I’am aron

we finished this issue,

we had proceed set buffer clear before camera logging

thank you so mush!