Colibri evaluation board with CSI

We need both BT.656-8b and CSI_1_CSI-2/4x interfaces for our project. Seems like iMX8 module fits nicely but there is no Colibri board with CSI. Is there any plans to make it available and what is the time line? Maybe you have designs you can share? :face_with_diagonal_mouth:

Hi @Jaremko,

The Colibri iMX8X already has support for the CSI camera. There is a connector (X3) at the bottom of the module, so there is no need to put this connector in the carrier board. Please, take a look at the Colibri iMX8X Datasheet:

Best regards,
Hiago.

1 Like

Hello @hfranco.tx

We also have ordered the IMX8X Colibri SoM and CSI Camera Set 5MP AR0521 Color to evaluate the possibility for our new product. We will be using the IRIS 2.0 Carrier Board.

The iMX8X datasheet 3.4 indicates “The pinout of this connector compatible with
the MIPI/CSI-2 connector found on the Apalis evaluation board and Ixora carrier board for the
Apalis module.”

However the following pin out is different for the last 4 pins (other 20 pins are identical)
On iMX8X Colibri

On iXora Adapter board pin out

Can we use this camera out of the box ?

Hi @fahri,

I believe you downloaded the wrong datasheet, you mentioned the Colibri iMX8X which we have the Iris V2.0 carrier board, however, you shared a screenshot that you called it “Ixora”, which is the carrier board for the Apalis family. Please check Iris Carrier Board | Toradex Developer Center to make sure you’ve downloaded the correct document.

Regards,
Hiago.

Thank you for the answer @hfranco.tx

I will be using colibrì imx8x with iris carrier board you are correct.

In the datasheet of Colibrì imx8x it’s stated that the X3 connector MIPI/CSI-2 on the imx8x is compatible with the “Apalis” AND “Ixora” carrier boards. In my screenshot you can see that there are these 4 different pins however. I was simply making a comparison.

To be perfectly clear with my question. Can I use this camera module with Colibrì imx8x SoM?

Hello again @hfranco.tx

Is my question clear? Can I connect the “CSI Camera Set 5MP AR0521 Color” to the X3 on the Colibri iMX8X SoM (Which I will be using with Iris Carrier Board 2.0)?

Or should I design an adapter board ?

Hello @fahri,

Looking into the datasheet for colibri iMX8X, you do not need an adapter board for this CSI camera to work. You should be able to get it working with a direct connection to the X3 connector on the SOM. However, we have not tested this camera with colibri iMX8X. Here you can see the information on how we got it working for other modules: First Steps with CSI Camera Set 5MP AR0521 Color (Linux) | Toradex Developer Center

Thanks for the confirmation @rudhi.tx

I also saw that this camera was listed as “compatible” with our SoM which is pin to pin with what I have ordered.

At this point I am convinced that the iMX8X Colibri datasheet must have a typo for pin 21 on the X3 connector.

Hello @fahri,

There is a correction to what I have told you earlier. The CSI camera AR0521 is not supported out of the box with Colibri iMX8X as you figured out. The reason is the difference in the pinout on the connectors as you found. You will need to design an adapter board for this to work and later need to integrate the driver and modify the device trees for it to work. I’m also going to check internally if we can provide you with some help/workarounds on this topic and I will get back to you as soon as I have some news.

1 Like

Hello @rudhi.tx thanks again for the update.

I recently noticed that in the technical page of Colibrì imx8x there’s another camera module is listed as an “accessory”

CSI Camera Module 5MP OV5640

The pin out of this camera module seems same as the one we have been talking about no?

In any case I will be adding an adapter board to my design leaving these last pins optional to test.

Hello @fahri,

The interfaces are compatible in general. However, the Colibri does not provide the 5V at pin 21. Instead, the pin is connected to GND. It also does not provide a GPIO on pin 24. Both of these differences do not matter as long as our cameras are used. They do not use pin 21 and 24.

Best Regards,

Matthias

Hello @matthias.tx thanks for the feed back. I assumed that much but I feel better that it is confirmed. I already created an adapter board to exclude those pins so that I can see the effects. Did not have time to try it out yet.

Are there any design files for this camera module available?

Hello again @matthias.tx / @rudhi.tx

I have started trying the AR0521 with Colibri iMX8X and Iris V2.0. Camera is connected to X3 FFC connector on the Colibri iMX8X SoM.

I have been following this guide below so I cloned the meta-toradex-econ layer and applied the necessary patches to linux and devicetree overlay.
First Steps with CSI Camera Set 5MP AR0521 Color (Linux) | Toradex Developer Center

Then comparing the two overlays from Apalis (AR0521 vs OV5640) and modifying the “colibri-imx8x_ov5640_overlay.dts” overlay I created an overlay for AR0521 colibri imx8x

colibri-imx8x_ar0521_overlay.dts (1.5 KB)

However I get errors during boot


[    3.142310] ar0521 19-0042: Failed writing register.
[    3.147335] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    3.152793] ar0521 19-0042: MCU CMD ID version Error-  -5
[    3.266302] ar0521 19-0042: Failed writing register.
[    3.271313] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    3.277018] ar0521 19-0042: MCU CMD ID version Error-  -5
[    3.390282] ar0521 19-0042: Failed writing register.
[    3.395272] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    3.400712] ar0521 19-0042: MCU CMD ID version Error-  -5
[    3.514543] ar0521 19-0042: Failed writing register.
[    3.519545] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    3.525240] ar0521 19-0042: MCU CMD ID version Error-  -5
[    3.638287] ar0521 19-0042: Failed writing register.
[    3.643282] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    3.648723] ar0521 19-0042: MCU CMD ID version Error-  -5
[    3.762280] ar0521 19-0042: Failed writing register.
[    3.767269] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    3.772710] ar0521 19-0042: MCU CMD ID version Error-  -5
[    3.886279] ar0521 19-0042: Failed writing register.
[    3.891276] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    3.896715] ar0521 19-0042: MCU CMD ID version Error-  -5
[    4.010549] ar0521 19-0042: Failed writing register.
[    4.015545] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    4.021244] ar0521 19-0042: MCU CMD ID version Error-  -5
[    4.134297] ar0521 19-0042: Failed writing register.
[    4.139297] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    4.144738] ar0521 19-0042: MCU CMD ID version Error-  -5
[    4.258279] ar0521 19-0042: Failed writing register.
[    4.263287] ar0521 19-0042: addr: 42; val = 67, ret = -5!
[    4.268733] ar0521 19-0042: MCU CMD ID version Error-  -5
[    4.382154]  Could not read the firmware version from the MCU, tries=11
[    4.388801]  Trying to Detect Bootloader mode
[    4.626296] ar0521 19-0042: Failed writing register.
[    4.631302] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    4.636935] ar0521 19-0042: Write Failed
[    4.746282] ar0521 19-0042: Failed writing register.
[    4.751276] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    4.756630] ar0521 19-0042: Write Failed
[    4.866277] ar0521 19-0042: Failed writing register.
[    4.871268] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    4.876621] ar0521 19-0042: Write Failed
[    4.986285] ar0521 19-0042: Failed writing register.
[    4.991277] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    4.996633] ar0521 19-0042: Write Failed
[    5.106278] ar0521 19-0042: Failed writing register.
[    5.111268] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    5.116622] ar0521 19-0042: Write Failed
[    5.226279] ar0521 19-0042: Failed writing register.
[    5.231269] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    5.236623] ar0521 19-0042: Write Failed
[    5.346534] ar0521 19-0042: Failed writing register.
[    5.351544] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    5.357178] ar0521 19-0042: Write Failed
[    5.466280] ar0521 19-0042: Failed writing register.
[    5.471271] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    5.476625] ar0521 19-0042: Write Failed
[    5.586296] ar0521 19-0042: Failed writing register.
[    5.591297] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    5.596927] ar0521 19-0042: Write Failed
[    5.706278] ar0521 19-0042: Failed writing register.
[    5.711271] ar0521 19-0042: addr: 42; val = 1, ret = -5!
[    5.716625] ar0521 19-0042: Write Failed
[    5.826153] ar0521 19-0042: Error getting firmware version in bootloader mode
[    5.833325] ar0521 19-0042: Error occurred when verifying MCU
[    5.839127] ar0521: probe of 19-0042 failed with error -22

Does the overlay seem OK to you?

Hi @fahri !

From the errors you are getting, the issue seems related to the failure on I2C transfer.

The error number 5 is related to EIO: I/O error.

https://git.toradex.com/cgit/linux-toradex.git/tree/include/uapi/asm-generic/errno-base.h?h=toradex_5.15-2.2.x-imx#n9

It is possible that the I2C bus used for the camera has some issue on your device (hardware, device tree, etc).

From the device tree overlay you shared, it is not clear to me what might be wrong.

As already informed, the camera AR0521 was not tested nor validated on Colibri iMX8X. If you need further help on this topic, we can introduce you to a Toradex partner that will be able to perform the integration of the camera on Colibri iMX8X for you.

Best regards,

Hello @henrique.tx thanks for the answer.

I got the same result connecting the camera directly to the X3 FPC connector. The voltage levels on the camera module were fine. I will receive more SoMs next week so that I can see if the problem was the SoM. I will update you if I can find anything on this.

Probably this is the only right answer here.
We tested the Colibri iMX8X with CSI Camera Module 5MP OV5640 and it works.
Using CSI Camera Set 5MP AR0521 it doesn’t, nor the camera appear on the I2C bus.

Could Toradex elaborate a bit more this issue?

Thank you

Marco Cavallini - KOAN sas

The camera AR0521 seems NOT powered using Colibri iMX8X due to missing 5Vcc signal.
In your sentence above, do you mean that would be needed a Toradex partner to create a custom Hardware adapter?

Thanks

Marco Cavallini @ KOAN sas

Hi @koan !

Sorry for the delay here. The team was attending Embedded World 2024, but now we are back.

Unfortunately we can’t elaborate on it because this combination was not tested by Toradex.

Well, it is for sure not mandatory that you need a Toradex partner to make it work. You can work on it yourself. But we know that some partners of ours have the expertise in such integration, so they could accelerate your development if you have the interest.

Best regards,