Is the requirement that the lanes, after reset, will go through LP00-LP10-LP11 a must? According to them it is not part of the MIPI DPHY or CSI2 standards. If it is a must, can the camera processor handle sensors that do not adhere to this requirement (e.g., go through LP00-LP11, or go directly to LP 11)?
Can t5 and t7 specified exactly? How are they configured? (via cil_settletime?)
LP sequence it should follow by LP11->LP01->LP00->LP11 for entering high-speed.
there’s tune-able variable for t8, please see-also developer guide for cil_settletime, it’s configuration for THS settle time of the MIPI lane.
we don’t have parameter setting for t7, however, it’s the initial timing before s_stream operations. you may try adding some delay within kernel driver for extension t7.
Thank you @JerryChang for the answer.
So if I understand correctly, the LP sequence enclosed by t8 is defined entirely by cil_settletime and there is no further breakdown into specific timings of t5, t6 etc.?
Is this a correct statement? (with the conclusion that once the driver defines the correct cil_settletime value in the device tree, the nvcsi core should be able to parse the incoming packets as long as they conform to the LP sequence)
Does it apply in the same way to clock and data channels?
this is configuration for how many csicil clock cycles to wait after LP00 for data-lane.
clock-lane usually used constant value for waiting.
you may see-also TRM by checking CLK_SETTLE and THS_SETTLE for more details.
Great @JerryChang, thank you for the additional details, we’ll look deeply into that.
One last note, regarding the initial LP00 → LP10 transition, can you share where to look for further information in the MIPI CSI standard (assuming it’s v1.2)?
We’ve managed to find the relevant figure from the TRM document in the mipi Camera Command Set (CCS 1.0) standard on page 17.
Can you share what subset of commands are mandatory to be implemented? Or where in the kernel code to look for them?
(Just in case a correct startup sequence depends on these commands to be sent from the camera to the receiver).
I assume you’re working with jetson-linux-r3541 release version.
please download [Driver Package (BSP) Sources] package for the public release sources.
you’ll need to extract kernel_src.tbz2 package, and please check device tree sources for the cil_settletime property.
for example, $public_sources/kernel_src/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3326-a00.dtsi