CSI diff pair polarity swap


I have noticed that the new design guide for the Orin Nano (verison 1.0) differs form the previous version (0.99) in that it shows that the D1 diff pair on CSI0 and the D0 diff pair on CSI1 both have swapped polarity. Does this mean that the polarity must also be swapped on the carrier board to be able to interface a camera correctly or can the pin swap be done in software?

If it can be done in software, will the default driver/device tree be performing this swap?

Thank you,


hello akrupnik,

there’s device tree setting, lane_polarity to configure a polarity swap.
it’s mentioned in reference device tree.
for example, $public_sources/kernel_src/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-camera-rbpcv2-imx219.dtsi

                                * lane_polarity
                                * Based on the camera connector pin.
                                * CSIx_D0 | CSIx_D1 | CSI(X+1)_D0 | CSI(X+1)CSIx_D1
                                *    LSB  |   BIT1  |     BIT2    |      MSB
                                * if there is a polarity swap on any lane, the bit corrsponding
                                * to the lane should be set
                                * e.g. polarity swap on CSIx_D0 only -> lane_polarity = "1"; 0001
                                * e.g. polarity swap on CSIx_D1 and CSI(X+1)_D0 -> lane_polarity = "6"; 0110

Thank you, that’s exactly what I wanted to know!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.