Skip to main content

IMX93 TEVS Camera Usage Guide

πŸš€ Introduction​

This article guides you how to get started using TechNexion camera modules on EDM-IMX93 and AXON-IMX93 board.

Background knowledge needed

You must have the background knowledge to modify the kernel configuration, rebuild, and replace the kernel and the device tree source (DTS).

e.g. EDM-WB Baseboard

This article uses the EDM-WB baseboard as an example, The operation of AXON-WB baseboard is almost the same.


πŸ“Έ Supported Camera Modules​

Camera SeriesProducts
TEVS
TEVS-AR0144
TEVS-AR0145
TEVS-AR0234
TEVS-AR0521
TEVS-AR0522
TEVS-AR0821
TEVS-AR0822
TEVS-AR1335

🧩 Supported Boards​

SoMBoard
EDM-IMX93EDM-WB
AXON-IMX93AXON-WB

πŸ”§ Hardware Setup Instructions​

1. Power Supply Preparation​

  • Use a DC 5V or 12V power cable to supply power to the board.
  • If you're using FPD-Link III SerDes, a 12V power adapter (minimum 3A) is required. Connect it via the barrel jack connector.
info

The EDM-WB can also be powered via USB Type-C (5V).


2. Debug Console Connection​

  • Prepare a USB-to-UART cable if you're connecting to a PC.
  • Connect the cable to the debug console port on the EDM-WB board.

3. Camera Interface (CSI) Overview​

  • The board features one MIPI-CSI-2 interfaces, referred to as CSI1.
  • These use 70-pin board-to-board connectors manufactured by Hirose.
  • The image below shows a TEVS camera connected to the CSI1 interface.

πŸ’» Prepare Yocto demo image for testing TechNexion camera​

To test TechNexion cameras, you will need a Yocto-based demo image that includes the necessary device tree blobs and camera drivers.

πŸ”½ Downloading the Demo Image​

Prebuilt demo images are available for download on TechNexion's official server.

πŸ”— Supported Release List (Instructions for EDM-IMX93)
πŸ”— Supported Release List (Instructions for AXON-IMX93)


πŸ’Ύ Flashing the Image​

You can flash the image to either e.MMC or an SD Card using one of the following methods:

1. Using uuu Tool (Universal Update Utility)​

TechNexion provides a guide to flash the image using the uuu tool: πŸ”— How to Flash with UUU

Boot Mode

Before flashing, ensure the board is set to Serial Download Mode in the boot configuration.


2. Using ums Command in U-Boot (USB Mass Storage)​

Alternatively, you can write the image directly to flash storage over USB-OTG using U-Boot’s ums command: πŸ”— Using UMS in U-Boot

U-Boot Requirement

The board must be booted with a version of U-Boot that supports the ums command. Typically, this is done from the existing e.MMC.


πŸ› οΈ Build Yocto​

TechNexion supports building a Yocto-based Linux image tailored for camera modules using the following kernel and branch.

πŸ“¦ Supported Linux Kernel​

Linux Kernel VersionYocto Branch
6.1.55tn-imx_6.1.55_2.2.0-stable

πŸ“ Source and Build Instructions​

πŸ”— Fetch Yocto Source
πŸ“– Build Yocto (Instructions for EDM-IMX93)
πŸ“– Build Yocto (Instructions for AXON-IMX93)


πŸ“Έ Camera Testing Instructions​

Specify Camera DTBO in U-Boot​

Auto Camera Detection

If you are using TEVS cameras, you can skip this step. These models support automatic camera detection in U-Boot.

Manual DTBO Setup​

  1. Connect the debug console cable to the baseboard (via UART).

  2. Power on the board and interrupt the boot process. Keep pressing Enter when the following message appears: Hit any key to stop autoboot:

  3. Set the correct camera overlay (DTBO) using the U-Boot environment variable:

u-boot=> setenv dtoverlay tevs
  1. Save and continue the boot process:
u-boot=> saveenv
u-boot=> boot
LCD display

Don't forget the append LCD overlay if the baseboard has LCD connections.


πŸŽ₯ Start Camera Video Stream via GStreamer​

Check Camera Availability​

Use the v4l2-ctl tool to list connected video devices.

$ v4l2-ctl --list-device

Example output:

FSL Capture Media Device (platform:42800000.bus:camera):
/dev/media0

mxc-isi-cap (platform:4ae40000.isi:cap_devic):
/dev/video0

In this example, /dev/video0 is the capture device connected via CSI1.


Launch GStreamer Pipeline​

Replace <res_w> and <res_h> with your desired resolution:

$ gst-launch-1.0 v4l2src device=/dev/video0 ! \
video/x-raw, width=<res_w>, height=<res_h> ! \
videoconvert ! \
waylandsink sync=false
warning

It not necessary to use or using videoconvert. Because IMX93 have ISI to convert format.


🚨 Troubleshooting​

Ensure camera device tree blob overlay(DTBO) is specified correctly in u-boot.

  u-boot=> printenv dtoverlay
dtoverlay=tevs

We can check whether camera have been initialized correctly.
For TEVS cameras:

  $ dmesg -t | grep tevs
tevs 1-0048: tevs_probe() device node: tevs@48
tevs 1-0048: Version:24.9.0.1
tevs 1-0048: Product:TEVS-AR0144, HeaderVer:3, MIPI_Rate:800
tevs 1-0048: probe success
mx8-img-md: Registered sensor subdevice: tevs 1-0048 (1)
mx8-img-md: created link [tevs 1-0048] => [mxc-mipi-csi2.0]

Ensure camera device tree blob(DTB) is specified correctly.

  $ dmesg -t | grep -i model
Machine model: TechNexion EDM-IMX93 and WB baseboard