Hi @kayakaantuna,
The i.MX8MP SoC integrates two MIPI CSI interfaces, each connected through a dedicated D-PHY block. According to the reference manual, both CSI ports can theoretically support up to 1.5 Gbps per lane when configured correctly. Each port can operate with up to four lanes, and the actual throughput depends on lane count, pixel format, and clock configuration. Your calculation of approximately 1 Gbps per lane for RAW8 at 1600×1300 resolution is correct and falls within the hardware limits.
However, the observed limitation on CSI Port 2—where it fails above ~400 Mbps—suggests a configuration or resource bottleneck rather than a fundamental hardware restriction. One common cause is incorrect lane configuration. If CSI2 is operating in two-lane mode instead of four, the maximum achievable bandwidth will be halved. Another factor is the clock tree: each CSI port has its own clock root managed by the Clock Control Module (CCM). If the CSI2 root clock or PLL settings are capped at a lower frequency, the D-PHY cannot reach the expected data rate.
Beyond PHY and clock settings, the Image Sensor Interface (ISI) plays a critical role. When two cameras are active, the ISI shares resources and may throttle one port to prevent DMA overruns. The manual indicates that simultaneous dual-camera operation supports up to 1080p at 80 fps per stream, which implies bandwidth sharing.
Software configuration is another key area. In Linux BSPs, the device tree defines CSI parameters such as lane count and PHY speed. If CSI2 is incorrectly set to a lower phy-speed or fewer lanes, the driver will enforce these limits. Testing CSI2 in single-camera mode at higher speeds can help determine whether the issue is resource contention or configuration.