We tried to look into the possible hardware issues, but couldn’t find any. We are stuck at the same stage as earlier.
Jerry, how can I ensure that it’s not an external register read error, since the values printed out from inside the code doesn’t show any LP state transition errors.
Here are some captures we obtained from hardware while attempting streaming. 1280x960_MIPI_data_Hsync_Rise:
I used an alternate version of devmem2 from http://free-electrons.com/pub/mirror/devmem2.c and tried to perform the memory read again. In the meanwhile when the hardware team obtain the capture, I would like to get your help to check if the issues are valid:
ubuntu@tegra-ubuntu:~$ sudo devmem2 0x54080908
/dev/mem opened.
Memory mapped at address 0x7f994d3000.
Value at address 0x54080908 (0x7f994d3908): 0x1
ubuntu@tegra-ubuntu:~$ sudo devmem2 0x54081140
/dev/mem opened.
Memory mapped at address 0x7f952ed000.
Value at address 0x54081140 (0x7f952ed140): 0x0
ubuntu@tegra-ubuntu:~$ sudo devmem2 0x54080940
/dev/mem opened.
Memory mapped at address 0x7fb548a000.
Value at address 0x54080940 (0x7fb548a940): 0x20020
From what I understand, it signals Start of Transmission Multi Bit error on both Lane 0 and Lane 1.
Can the LP state transition error still a valid? What would be the best way to take this debug forward?
Let me know your suggestions.
Thanks!
theoretically, sensor generated signal should following the MIPI specification.
there are only several configurations at Tegra side.
in our experience, the most related configuration would be settle time and discontinuous mode, please have a try.
moreover, since VI mode did not included all the sensor device tree settings.
if you’re using the v4l2-ctl to verify the driver, you should confirm the your sensor settings at below path
please also refer to TRM and check the 35.6.278 NVCSI_PHY_0_NVCSI_CIL_A_CONTROL_0 for more details. thanks
Thank for the response.
Are you referring to Tegra X1 (SoC) Technical Reference Manual?
I couldn’t find information about the above-mentioned register in it.
Also can you please let me know where to find “/kernel/kernel-4.4/”. I tried looking up the file but couldn’t find it.
In TX1:
ubuntu@tegra-ubuntu:/usr/src/linux-headers-3.10.96-tegra/drivers/media/platform/tegra/camera$ ls
Makefile
Yes, we are still using R24.2.1.
As suggested by you, I changed the value of THS_SETTLE. I changed the default value from 0xA to 0xB in drivers/media/platform/tegra/csi/csi2_fops.c and this fixed the channel error issue.
Right now from the dmesg I observe that we have the following error.
What could cause this issue? Do you have any suggestion for additional debug code which could help fix this issue fast. I observe that the captures obtained using yavta is blank.
according to my comment #27, you can try to modify the register (BYPASS_LP_SEQ) settings as discontinuous/continuous mode.
also, you should measure the MIPI signal timing about T_HS_ZERO, we should configure correct value in driver side.
Is the BYPASS_LP_SEQ bit supposed to be set to ‘0’ when we are operating in discontinuous mode?
We are taking hardware capture. Once it is available, I will set the T_HS_ZERO value according to that.