AnsweredAssumed Answered

What GIC interrupt number is for Parallel Camera

Question asked by Steve Schefter on Jan 28, 2020
Latest reply on Jan 28, 2020 by Diego Adrian Cuevas



I'm attempting to add support for a parallel camera to a custom board based on the iMX8X. The device tree for the processor (fsl-imx8dx.dtsi) in the Linux source tree is missing some of the modules for that and I am attempting to add those. However, there are a couple of details missing in the iMX8DX Reference Manual.


Table 2-12 in the RM shows the two halves of MIPI-CSI2, Parallel Camera and Imaging. Each half has its own Local Interrupt Steer, I2C controller, etc.


In our case, the camera sensor is connected to the I2C controller that is part of Parallel Camera, not Imaging.  That is, it is connected to the CI_PI_CSI_I2C_SCL and CI_PI_CSI_I2C_SDA lines (CSI_RESET, CSI_EN pads).


The device tree has entries for the Imaging half, including its I2C controller. That is, the devices at 5822_xxxx. However, for the Parallel Camera half at 5826_xxxx, only the CSR is described in the device tree.

The Imaging Local Interrupt Steer description in the device tree indicates that it is using GIC interrupt 320:

    irqsteer_csi: irqsteer@58220000 {
        interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-parent = <&gic>;

This matches IRQ_STEER entry in RM Table 3-2 for MIPI-CSI #0. And as the address 5822000 above shows, that corresponds to the Local Interrupt Steer that is part of Imaging.

However, RM Table 3-2 does not indicate what IRQ_STEER number corresponds to the Local Interrupt Steer that is part of Parallel Camera. What interrupt number is that?

Also, the device tree entry for the I2C controller that's part of the Imaging half indicates that it is interrupt 8 of the Imaging Local Interrupt Steer.  Is the I2C controller that's part of the Parrallel Camera likewise interrupt 8 of the Parallel Camera Local Interrupt Steer?