I am using the Apalis iMX8QM SoM with the Ixora Carrier Board V1.3, and I’m planning to connect a **MIPI-CSI camera (e.g., OV5640) ** using the X28 camera connector on the Ixora board.
Here is what I’ve investigated so far:
- The following Device Tree files are relevant to my setup:
imx8qm-apalis-v1.1-ixora-v1.2.dts
imx8-apalis-ixora-v1.2.dtsi
- In these files, I confirmed that I2C3 is configured correctly, and according to the Ixora datasheet, **I2C3 is routed to the MIPI-CSI camera connector (X28) **.
- However, I don’t see any
mipi_csi
or mipi_csi_x
nodes in the above DTS/DTSI files.
- Deeper in the DTS include hierarchy, inside:
imx8-ss-img.dtsi
I found declarations for:
mipi_csi_0: mipi_csi@58227000
mipi_csi_1: mipi_csi@58228000
My questions are:
- Since the Ixora board has only one MIPI-CSI connector (X28), which
mipi_csi_x
instance (mipi_csi_0
or mipi_csi_1
) corresponds to the X28 connector?
- Is it correct to extend the DTS by referencing the appropriate
mipi_csi_x
node from imx8-ss-img.dtsi
and link it to the camera sensor node (e.g., OV5640)?
- Are there any additional nodes (e.g., CSI bridge, camera mux, etc.) I should be aware of to make this work?
Any guidance on properly extending the device tree for enabling the MIPI-CSI camera on X28 would be highly appreciated.
Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?

Hello! Thanks for the detailed summary of your setup and research. I’m glad to help clarify how to enable a MIPI-CSI camera (like the OV5640) on the Ixora board with the Apalis iMX8QM.
1. Which mipi_csi_x instance maps to X28?
The Ixora Carrier Board provides a single MIPI-CSI connector (X28). On the Apalis iMX8QM, this connector is routed to the first available MIPI-CSI interface of the SoM. In Toradex designs and reference device trees, MIPI-CSI0 (mipi_csi_0: mipi_csi@58227000
) is typically associated with X28.
mipi_csi_0
→ X28 MIPI-CSI connector
You can verify this by cross-referencing the Ixora Carrier Board documentation and reviewing I2C_CAM1 lines and associated signals. The other instance (mipi_csi_1
) is not routed to the X28, so you should use mipi_csi_0
.
2. Correct way to extend the DTS
Yes, to enable a camera sensor like the OV5640 on X28:
- Reference and enable the
mipi_csi_0
node from imx8-ss-img.dtsi
in your custom device tree.
- Create a camera sensor node under the appropriate I2C controller (usually
i2c3
for Ixora), and link it as a port to the mipi_csi_0
node.
For example (pseudocode – adapt as needed):
&i2c3 {
status = "okay";
ov5640: camera@3c {
compatible = "ovti,ov5640";
reg = <0x3c>;
// Camera specifics here
// ...
port {
ov5640_to_csi_ep: endpoint {
remote-endpoint = <&csi_from_ov5640_ep>;
// Data lane config here
};
};
};
};
&mipi_csi_0 {
status = "okay";
port {
csi_from_ov5640_ep: endpoint {
remote-endpoint = <&ov5640_to_csi_ep>;
// Data lane config here
};
};
};
3. Additional required nodes (CSI bridge, mux, etc.)
On many i.MX8 designs, the data flow is:
camera → mipi_csi_0 → csi_bridge (if present) → image converter (like ISI) → video nodes
-
CSI Bridge nodes or ISI (image sensor interface
) nodes may need to be enabled.
-
You need to check your device tree hierarchy for nodes like:
isi_0: isi@...
(Image Sensor Interface)
csi_bridge: csi-bridge@...
or similar bridges between MIPI-CSI and ISI.
These typically have ports
that link to the MIPI-CSI and then onward.
-
The correct phandle links between endpoint nodes are required for the camera pipeline to be described end-to-end.
Quick checklist:
- Use
mipi_csi_0
for X28.
- Add the camera node under
i2c3
.
- Connect endpoints between camera and
mipi_csi_0
, and then forward if required (to ISI/bridge).
- Ensure status = “okay”; for all pipeline components.
- Validate cross-references of all endpoints.
- Check for any additional power enable GPIO or regulator nodes required by your camera module.
Reference Links
If you need an example device tree snippet for a similar pipeline or have a specific question about the layout of the nodes, feel free to ask!
Best regards,
Toradex AI Assistant.
@ToradexAI
Do we have only 1 mipi-csi connector-X28 in Ixora carrier board. Is it mipi_csi_0 node or mipi_csi_1 node? How do you confirm it? Please provide valid proofs
Thanks for your response.
Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.
Did you like my answer?

Hello!
Here’s the clarification based on official documentation and available resources:
- Only One MIPI-CSI Connector (X28) on Ixora
The Ixora Carrier Board (all versions, including V1.3) provides only a single MIPI-CSI camera connector, labeled X28:
- Mapping to mipi_csi_0 vs mipi_csi_1
The board schematic and datasheet do not explicitly map the X28 connector to a MIPI CSI instance by name (e.g., “CSI0” or “mipi_csi_0”). However, certain points strongly indicate the mapping:
-
The Toradex documentation for the CSI Camera Module states:
“The CSI Camera Module can be connected to the MIPI-CSI connector on the Ixora carrier board V1.1.”
CSI Camera Module 5MP OV5640 | Toradex Developer Center
-
Default device trees for the Apalis iMX8QM with Ixora only configure one video input (the first camera), suggesting the only available interface is the first (mipi_csi_0).
-
The Apalis iMX8 datasheet and the Ixora schematics show that the MIPI-CSI signals from the SoM route directly to X28. Since only one connector and corresponding set of MIPI-CSI signals are routed, it is industry convention and normal Toradex practice for this to be mipi_csi_0.
-
For the Apalis iMX8 platform device trees, when only one camera input is present, the platform assigns it to mipi_csi_0.
Thus, the X28 MIPI-CSI connector on the Ixora Carrier Board maps to mipi_csi_0.
For these reasons, when enabling or configuring your device tree, you should use the mipi_csi_0 node.
To summarize:
- There is only one MIPI-CSI connector (X28) on Ixora.
- It is routed to mipi_csi_0.
References:
Best regards,
Toradex AI Assistant.
Hey @dhatchayani_l,
We have our developer portal that walks you through setting up the OV5640.
Please make sure to enable the device tree as described.
-Eric
@ToradexAI
The CSI data lanes and clock pin’s mxm3 pin numbers in the Ixora carrier board’s datasheet is mapped with the MIPI_CSI1 ball names in the apalis imx8 datasheet.
clarify on this whether we need to use the mipi_csi_1 or mipi_csi_0 ?
Thanks for your response.
Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.
Did you like my answer?

Hello,
Your observation is correct and important:
The Ixora carrier board’s camera connector (X28) MIPI-CSI data and clock signals are routed to MXM3 pins that, in the Apalis iMX8 datasheet, are associated with the MIPI_CSI1 signals (with ball names such as MIPI_CSI1_CLK_P, MIPI_CSI1_DATA0_P, etc.).
Therefore:
- You should use the device tree node mipi_csi_1 for the camera on the X28 connector, not mipi_csi_0.
How to confirm this:
-
Pin Mapping Proof:
-
Ixora Schematic and Documentation:
- Ixora maps the X28 camera connector signals to these MXM3 pins.
-
Device Tree Mapping:
- When configuring your camera in the device tree, link your camera endpoint to the mipi_csi_1 node (not mipi_csi_0).
Summary Table:
Ixora X28 / MXM3 Pin |
Apalis iMX8 Ball Name |
MIPI CSI Signal |
Device Tree Node |
163 |
MIPI_CSI1_CLK_P |
CSI1_CLK+ |
mipi_csi_1 |
161 |
MIPI_CSI1_CLK_N |
CSI1_CLK- |
mipi_csi_1 |
157 |
MIPI_CSI1_DATA0_P |
CSI1_D1+ |
mipi_csi_1 |
155 |
MIPI_CSI1_DATA0_N |
CSI1_D1- |
mipi_csi_1 |
Action:
- Use mipi_csi_1 in your device tree for the camera attached to X28 on Ixora.
References:
If you want to see example device tree snippets, let me know!
Best regards,
Toradex AI Assistant.