Table of Contents

TQMa91xxCA - YOCTO Linux BSP documentation

This page is work in progress and therefore subject to change

Overview

The TQMa91xxCA 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.

For each Board Support Package (BSP), the corresponding modules are versioned under the matching Git tag in our GitHub repository. Simply check out the tag that matches your BSP release, then open the module’s README file in the “doc” folder to find detailed information.

Documentation and Downloads

Documentation and Downloads

All TQ Systems products come with comprehensive documentation to help you get started and integrate our hardware into your designs.

Publicly Available User Manuals & Datasheets

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.

Customer Info Archive (Starter Kit Customers)

The Customer Info Archive is provided upon purchase of an official Starter Kit and is released manually by TQ Support. To obtain it, please open a Support Ticket with your order details.

The archive includes:

  • Mainboard schematic & placement diagram
  • Module CAD files (native format)
  • Module mechanical dimensions (2D/3D drawings)
  • Pinmuxing configuration (recommended device tree fragments)
  • Pinout reference (signal assignments, voltage domains)
  • Design checklist (layout guidelines, EMI/ESD considerations)
  • Processing instructions (LGA Modules)

BSP Tagging and Revisioning

BSP Git Tagging and Revisioning

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.

Get Notified

Enable Notifications:
In order to be automatically notified of new BSP releases by e-mail, you must activate notifications in the corresponding Github repository.

1. Go to the desired repository in Github (e.g. meta-tq)
2. Click on the notification button in the top right corner.
3. Log in or create a Github account if you have not already done so.
4. Select “All activity” so that you will be notified of every new release.

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

Current BSP Information

U-boot

U-Boot

Feature MBa91xxCA REV.010x
RAM configs 1 GiB
CPU variants i.MX91
Fuses / OCRAM x
speed grade / temperature grade detection x
UART (console on UART1) x
GPIO
LED x
Button x
I2C
system EEPROM parsing x
PMIC x
e-MMC / SD
Read x
Write x
Ethernet
GigE / FEC via Phy on MBa91xxCA x
GigE / EQOS via Phy on MBa91xxCA x
Bootdevices
SD-Card on USDHC2 x
e-MMC on USDHC1 x
QSPI-NOR on FlexSPI x
Serial Downloader x
USB
USB 2.0 Host / Hub x
USB DRD (USB 2.0 Cable Detect, VBUS) x
(configured as device to be usable with UUU )
QSPI NOR
Read with 1-1-4 SDR x
PP / Erase with 1-1-4 SDR x

Linux

Linux

Support matrix for MBa91xxCA REV.010x

Feature linux-imx-tq_6.6
RAM configs 1 GiB
CPU variants i.MX91
Fuses / OCRAM x
speed grade / temperature grade detection
UART
console on UART1 (via USB / UART converter) x
UART2 x
GPIO
LED x
Button x
I2C
EEPROMs x
PMIC x
RTC x
Temperature Sensors x
IMU / Gyroscope x
Port expander x
ENET
GigE / FEC via Phy on MBa91xxCA x
GigE / EQOS via Phy on MBa91xxCA x
USB
USB 2.0 Host / Hub x
USB DRD (USB 2.0 Cable Detect, VBUS) x
QSPI NOR
Read with 1-1-4 SDR
Read with 1-4-4 SDR
PP / Erase with 1-1-4 SDR
PP / Erase with 1-4-4 SDR
Display
LVDS via Bridge x
DPI / RGB x
CAN-FD
CAN-FD x
SPI
spidev at all CS x
internal ADC
ADC x

I2C Devices

Onboard I2C Devices

I2C Bus - TQMa91xxCA
I2C1 0x1B
Tempsensor in EEPROM
0x25
PMIC
0x48
Plug & Trust Secure Element
(optional)
0x51
RTC
0x53
EEPROM
0x6A
Gyroscope
I2C Bus - MBa91xxCA
I2C3 0x0F
DisplayPort bridge
0x18
Audio Codec
0x1C
Tempsensor
0x34
EEPROM SW Protect
0x44
USB Hub
0x54
Tempsensor EEPROM
0x6A
PCIe Clock generator

Changelog

Changelog BSPs

Changelog PRE-RELEASE

Added

  • linux-tq-6.12:
    • support TQMLS102xA
    • support TQMLX2160A
Changed
  • machines: use wic.xz instead of uncompessed wic for default IMAGE_FSTYPES for all machines. bmaptool supports also packed images. So we can lower the IO pressure for copying artifacts while keeping usability.

  • u-boot-tq-2017.11:

    • TQMLS102xA: use external generated RCW images from rcw recipe instead of in tree RCW.
  • rcw:

    • TQMLS102xA: improve RCW generation
    • incorporate changes from NXP upstream since lf-5.15.32-2.0.0 up to tag lf-6.6.52-2.2.0 / lf-6.12.3-1.0.0
  • TQMLS102xA

    • Machine uses the common ALSA configuration (alsa-state)
    • Machine uses the common WKS file for ARMv7-A modules
    • Uses 'mainline' BSP as defined in meta-freescale
  • TQMLX2160A:

    • u-boot-lsdk-tq-2019.04: Update XFI & retimer configuration
Fixed
  • TQMLX2160A:
    • Set snoop-delayed exclusive handling. Fixes load/store exclusive related issues
    • qoriq-atf: Fix applying errata #841119 and #826419 in Linux
    • Configure DPMAC 17 and 18 for SGMII in SERDES2 configs 7 and 11
      • RGMII usage is not supported in this case
Removed

Fixed

  • u-boot-imx-tq-2024.04
    • TQMa93xx: Cortex M33 is usable again. Basic initialisation in secure Cortex A55 was hidden behind a conditional since TQMa91xx support was added
  • rcw
    • TQMLX2160A: Mux RGMII pins as GPIO if SGMII is used at SERDES2

The information provided on this wiki page is subject to change due to circumstances beyond our control. While we strive to keep all details as accurate and up-to-date as possible, it is possible that certain updates or changes may go unnoticed for some time. As a result, some sections of this page may contain outdated information. If you notice any mistakes in the documentation, we kindly ask you to inform the TQ Support through our ticket system.