[Original article by YiYue, copyright reserved. Please retain the link when reposting.]
When matching the controller’s deserializer with a GMSL camera, we generally recommend following the steps below.
Understand the serializer and deserializer of the devices you are using,
After confirming that there are no hardware issues, you can connect the SOC or controller for further verification:
If the serializer and deserializer modes do not match, you need to modify the configuration of cfg0/cfg1, or configure through software.
Assuming there are no issues with the serializer and deserializer detection, read the ID of the serializer/deserializer/CMOS, modify some registers, read them back, and confirm that the I2C read/write channels are functioning properly.
Based on the camera module design (image format, bit width, etc.), configure the serializer and deserializer. It is recommended to print key registers of the serializer/deserializer, including
If pclk detect is missing, check the CMOS reset/pwdn/fsyn.
If link locked is missing, check the GMSL mode, whether the link is enabled, and if the POC parameters are reasonable.
If video lock is missing, check if the serializer’s tx-id matches the receiver’s rx-id.
If all the above are normal but the deserializer has no output, check if frame sync is enabled but not synchronized properly.
To decouple GMSL configuration issues from CSIRX reception issues, when designing the PCB, add test point on the deserializer output, i.e., the mipi signal line.
When the above key signals are confirmed to be normal, measure the mipi output.
If there is no mipi output, modify the configuration of the serializer/deserializer/CMOS.
If mipi output is normal, troubleshoot the SOC receiver end.
When the deserializer has output but the application cannot receive data,