The TQMa93xxLA provides a powerful embedded module platform based on NXP’s i.MX 9 CPU series. The BSP is based on the Yocto Project using TQ’s meta-tq hardware support layer, with build host setup instructions and BSP sources provided via GitHub.
Please see the meta-tq repository on GitHub for further instructions. A list of supported Yocto images and example configurations is available in the BSP repository GitHub.
All TQ Systems products come with comprehensive documentation to help you get started and integrate our hardware into your designs.
The following documents can be downloaded directly from our Website (no login required) for the desired product:
User Manual (Baseboard)
Detailed hardware descriptions, installation steps, jumper settings, connector layouts and troubleshooting tips.
User Manual (Module)
Electrical specifications, interface overviews, software setup guides and reference tables.
Datasheets
Absolute maximum ratings, timing diagrams and ordering information.
The archive includes:
TQ manages all Board Support Package (BSP) releases in the meta-tq GitHub repository using annotated Git tags. This ensures each release is traceable to an exact source snapshot and clearly documents which Yocto branch, platform (module) and software revision it covers.
Tag Format:
<YoctoBranch>.<ModuleIdentifier>.TQ.ARM.BSP.<RevisionNumber>
Component | Description |
---|---|
YoctoBranch | Name of the Yocto Project release (e.g. kirkstone, scarthgap) |
ModuleIdentifier | Target module name when present; omitted entirely for “scarthgap” tags |
TQ.ARM.BSP | Literal marker for “Board Support Package – Software” |
RevisionNumber | Four-digit, zero-padded incrementing counter (e.g. 0001, 0002, …) |
Examples:
kirkstone.TQMa64xxL.BSP.SW.0008
scarthgap.BSP.SW.0001 – here no module identifier is used
Supported Platforms Reference:
To see exactly which platforms (machines/boards) each BSP tag covers, open the meta-tq folder in that tag and view its README.md:
/tq-systems/meta-tq/tree/<git-tag>/meta-tq
Click on README.md there to find the full list of Yocto machine names, board variants, RAM options and support status.
Software Versions:
For the exact versions of U-Boot, Linux kernel and other components used in a BSP tag, view doc/README.SoftwareVersions.md in that tag.
tq-systems/meta-tq/blob/<git-tag>/meta-tq/doc/README.SoftwareVersions.md
Feature | MBa93xxCA REV.020x | MBa93xxLA REV.020x |
---|---|---|
RAM configs | 1 / 1.5 / 2 GiB | 1 / 1.5 / 2 GiB |
CPU variants | i.MX93 | i.MX93 |
Fuses / OCRAM | x | x |
speed grade / temperature grade detection | x | x |
UART (console on UART1) | x | x |
GPIO | ||
LED | x | x |
Button | x | x |
I2C | ||
system EEPROM parsing | x | x |
PMIC | x | x |
e-MMC / SD | ||
Read | x | x |
Write | x | x |
Ethernet | ||
GigE / FEC via Phy on MBa93xxCA | x | x |
GigE / EQOS via Phy on MBa93xxCA | x | x |
Bootdevices | ||
SD-Card on USDHC2 | x | x |
e-MMC on USDHC1 | x | x |
QSPI-NOR on FlexSPI | x | x |
Serial Downloader | x | |
USB | ||
USB 2.0 Host / Hub | x | x |
USB DRD (USB 2.0 Cable Detect, VBUS) | x | x |
(configured as device to be usable with UUU ) | ||
QSPI NOR | ||
Read with 1-1-4 SDR | x | x |
PP / Erase with 1-1-4 SDR | x | x |
Cortex M33 | ||
env settings for starting from TCM | ||
examples with UART3 as debug console |
TODO or not tested / supported
Support matrix for MBa93xxCA
REV.020x and MBa93xxLA
REV.010x
Feature | linux-imx-tq_6.1 | linux-imx-tq_6.6 | linux-tq_6.12 |
---|---|---|---|
RAM configs | 1 / 1.5 / 2 GiB | 1 / 1.5 / 2 GiB | 1 / 1.5 / 2 GiB |
CPU variants | i.MX93 | i.MX93 | i.MX93 |
Fuses / OCRAM | x | x | x |
speed grade / temperature grade detection | x | x | |
Frequency scaling | x | ||
UART | |||
console on UART1 (via USB / UART converter) | x | x | x |
UART2/3/4 | x | x | x |
GPIO | |||
LED | x | x | x |
Button | x | x | x |
I2C | |||
EEPROMs | x | x | x |
PMIC | x | x | x |
RTC | x | x | x |
Temperature Sensors | x | x | x |
IMU / Gyroscope | x | x | x |
Port expander | x | x | x |
ENET | |||
GigE / FEC via Phy on MBa93xxCA | x | x | x |
GigE / EQOS via Phy on MBa93xxCA | x | x | x |
USB | |||
USB 2.0 Host / Hub | x | x | x |
USB DRD (USB 2.0 Cable Detect, VBUS) | x | x | x |
QSPI NOR | |||
Read with 1-1-4 SDR | x | ||
Read with 1-4-4 SDR | x | x | |
PP / Erase with 1-1-4 SDR | x | ||
PP / Erase with 1-4-4 SDR | x | x | |
Display | |||
LVDS | x | x | |
CAN-FD | |||
CAN-FD | x | x | x |
SPI | |||
spidev at all CS | x | x | |
internal ADC | |||
ADC | x | x | x |
Cortex M33 | |||
examples running from TCM | see notes | see notes | |
use UART3 as debug console (see issues) | x | x | |
LPB boot | |||
NPU | |||
Firmware for CORTEX M33 | see issues | ||
Demo | |||
MIPI CSI (see Issues section) | |||
Gray with Vision Components GmbH camera (Sensor OV9281) | |||
Raw Bayer with Vision Components GmbH camera (Sensor IMX327) |
I2C Bus - TQMa93xxLA | ||||||||
---|---|---|---|---|---|---|---|---|
I2C1 | 0x1B Tempsensor in EEPROM | 0x33 EEPROM SW Protect | 0x25 PMIC | 0x48 Plug & Trust Secure Element (optional) | 0x51 RTC | 0x53 EEPROM | 0x5F EEPROM (Identification Page) | 0x6A Gyroscope (optional) |
I2C Bus - MBa93xxLA | |||||||
---|---|---|---|---|---|---|---|
I2C3 | 0x0F USB-C Power Delivery Controller | 0x1C Tempsensor | 0x34 EEPROM SW Protect | 0x54 EEPROM | 0x70 I2C Port expander | 0x71 I2C Port expander | 0x72 I2C Port expander |
I2C5 | 0x0F Displayport bridge |
Added
Verified Boot with signed U-Boot, signed FIT image and dm-verity rootfs for
TQMa91xx/TQMa93xx: Add new WKS template with two root partitions and a separate data partition for A/B boot with RAUC updates
The new partitioning will be selected automatically when "rauc" is enabled
in DISTRO_FEATURES
. The WIC_ROOTPART_SIZE
and `WIC_DATAPART_SIZE
variables default to "1G" and "100M", respectively, and can be adjusted as
needed.
machines:
u-boot-imx-tq_2024.03: new recipe with support for TQMa91xx and TQMa93xx
imx-tq-atf_2.10: support for TQMa91xxCA/LA
linux-rt-tq-6.12: add recipe to support PREEMPT_RT with the same branch as used for linux-tq-6.12
linux-tq-6.12:
u-boot-tq-2023-04:
linux-rt-tq-6.1:
u-boot-ti-tq-2023.04: allow boot without signed kernel
meta-ti does not set UBOOT_SIGN_ENABLE
by default anymore, breaking boot
with our U-Boot branch. Disable enforcement of signature checks.
This only has an effect on U-Boot build that do not embed a public key to
check a signature against (which is the default now). If UBOOT_SIGN_ENABLE
is set, a key will be built into U-Boot and signatures will be verified.
linux-imx-tq-6.6:
u-boot-imx-tq-2024.04:
lf-6.6.52-2.2.0
machines
tq-extlinux
to MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS
since
this is needed for booting system if using U-Boot distrobootkernel-devicetree
and kernel-image
to MACHINE_ESSENTIAL_EXTRA_RDEPENDS
since they are needed for booting system when
expecting them in /boot
. linux-modules
are added to MACHINE_EXTRA_RRECOMMENDS
.
This file is included at board level to simplify machine configs.u-boot-tq-2019.04:
linux-tq-6.12:
linux-tq-6.6:
linux-rt-tq-6.6
linux-rt-tq-6.6: integrate changes from linux-stable up to tag v6.6.80 via TQ Systems branch TQM-linux-v6.6.y and changes from stable-rt up to tag v6.6.78-rt51
linux-tq-6.1:
imx-tq-atf_2.10: integrate changes from NXP BSP release lf-6.6.52-2.2.0
linux-imx-tq-6.6:
lf-6.6.52-2.2.0
via the matching branch of linux-fslc repo. Integrates linux-stable fixes
up to v6.6.74u-boot-tq-2023-04:
save env
does not work after usb start
linux-tq-6.6 / 6.1:
linux-imx-tq-6.6: fix flexspi driver error caused by update to new fslc branch: commit 791210cc944a ("meta-tq: linux-imx-tq_6.6: update to new branch TQMa-fslc-6.6-2.2.x-imx")
imx-boot-tq: do not overwrite settings for IMX_EXTRA_FIRMWARE.
Added
linux-tq-6.12: new kernel based on linux-stable kernel
Secure Boot support for TQMa8x and TQMa8Xx
TQMa62xx/TQMa64xxL: Add new WKS template with two root partitions and a separate data partition for A/B boot with RAUC updates
The new partitioning will be selected automatically when "rauc" is enabled
in DISTRO_FEATURES
. The WIC_ROOTPART_SIZE
and `WIC_DATAPART_SIZE
variables default to "1G" and "100M", respectively, and can be adjusted as
needed.
u-boot-*-env: Provide separate fw_env.config
variants for different boot
media on TQMa62xx/TQMa64xxL (u-boot-ti-tq-2023.04)
tq-bootscripts: Provide new boot-blockdev-rauc
boot script for A/B boot with
RAUC updates
On platforms with Distroboot support (TQMa62xx/TQMa64xxL) the new script will
be installed automatically instead of boot-blockdev
when "rauc" is enabled
in DISTRO_FEATURES
.
u-boot-tq-2023.04: new default bootloader based on upstream U-Boot. With the update the default environment was completely reworked to use canonical variable names compatible with distro boot etc. Kernel and devicetree are expected in rootfs. This adds also support for U-Boot environment access from Linux OS. Additionally, SDP support is added.
linux-tq-6.6: new default kernel based on mainline-linux-kernel
linux-rt-tq-6.6: new realtime kernel based on linux-tq-6.6
linux[-ti,-imx,-lsdk,-rt,]-tq recipes: improve local version generation.
Upstream poky kernel classes change usage of .scmversion
files and start
using KERNEL_LOCALVERSION
. To keep reproducible version string
CONFIG_LOCALVERSION_AUTO
will be forcibly disabled.
example keys and certificates for AHAB are changed to prepare Secure Boot for TQMa8x and TQMa8Xx
u-boot-imx-tq-[2020.04,2023.04]: use generic overrides for secure boot
The recipe for imx-boot-tq uses nxp-hab4
and nxp-ahab
. These are added
by machine config. Use them for consistency.
imx-boot-tq: adjust to i.MX9 target split in imx-mkimage lf-6.6.36_2.1.0
imx-mkimage-tq: update to use NXP lf-6.6.36_2.1.0 code base
linux-ti-tq-6.6: Enable DMVerity kernel module
Used for integrity checking of RAUC bundles in verity format.
tq-bootscripts: Do not add temporary variables to the U-Boot environment
u-boot-*-env: Do not leave any enabled configurations in the default/fallback
fw_env.config
If no hardware-specific configuration exists, accessing the environment is
not supported out-of-the-box. Avoid shipping an incorrect configuration that
might write to the wrong MTD partition on fw_setenv
.
imx-atf-tq-2.10: prepare support for TQMa91xx
tqma62xx / tqma64xx: require arch-armv8a.inc to allow more specific tuning.
tqmls10xxa.inc: require arch-armv8a.inc to allow more specific tuning.
u-boot-tq_2023.04: fix a warning in MTD partition parsing when the last partition uses remaining size but free space is left before this partition.
u-boot-imx-tq_2020.04 / u-boot-imx-tq_2023.04 / u-boot-tq_2023.04: provide configurations for U-Boot env tools based on rootfs. Multiconfiguration config file does not work in on device in the configuration is not present.
TQMa8M: fix U-Boot compatibility to generated signed images.
Please note that images generated with imx-mkimage version before lf-6.1.55_2.2.0
are not compatible with newer images and vice versa. Image generation and
U-Boot has to be updated in lock step.