The platform is TX2 / Linux BSP 32.2.3.
Hardware configuration is as follows:
sensor–> TI DS90UB953 (serializer)--------TI DS90UB960 (deserializer)–> TX2 MIPI CSI2(4 lane)
The problem is:
TX2 failed to receive image data from MIPI CSI2 if the UB960(deserializer) 's MIPI lane bitrate is set to 1.2Gbps or higher( such as 1.6Gbps), while everything works fine with 800Mbps MIPI lane.
We encountered the similar problem with NextChip’s N4 chip:
4 AHD camera(1280x720@30fps) -->N4 --> TX2 MIPI CSI2(4 lane)
System works fine with 800Mbps MIPI lane, while image receive error occurs with 1.2G/1.6Gbps MIPI lane (for 1080P@30fps input).
Note, the same hardware and register setting works fine on NXP imx6/imx8 platform.
How to fix the aforementioned problem?
Is there anything special that should be done with TX2 MIPI CSI2 interface when dealing with 1.6Gbps/lane MIPI input?
Assume you are testing on dev kit. There is max trace delay limit in OEM Design Guide as you can see in the MIPI DSI & CSI Interface Signal Routing Requirements table (paste below). The delay of CSI on devkit carrier board is about 600ps, so the real data rate depends on the delay of carrier board + camera module board. This delay limits the final data rate.
Actually we are testing on a customized board.
The deserializer is TI DS90UB960-Q1 quad FPD-Link III deserializer hub.
We checked the PCB trace delay carefully, according to the OEM Design Guide.
We confirm that the MIPI CSI-2 trace and layout satisfy the OEM DG requirements:
The max trace length is less than 2800mil, which is approximately less than 540ps.
the Intra-pair length mismatch is less than 5mil, so the intra-pair skew is less than 1ps;
the inter-pair length mismatch is less than 10mil, so the inter-pair skew is less than 5ps.
So it should not be the delay that limits the data rate on our board.
By the way, when setting 960 to work at 1.6Gbps,
TX2 kernel dmesg outputs when we capture image:
According to TRM, seems there are some CRC / ECC errors.
Updated experimental results:
When setting MIPI CSI-2 lane bitrate to 1.2Gbps,
system works fine with 2-lane (1.2Gbps/lane) settings,
but failed to capture image with 4-lane (1.2Gbps/lane) settings.
However, with 1.6Gbps/lane setting,
both 2-lane and 4-lane setting failed.
Any idea?
Is this related to MIPI timing configuration?