TQMa8MPxS - YOCTO Linux BSP documentation

The TQMa8MPxS which is located on the MB-SMARC-2 provides a powerful embedded module platform based on NXPs i.MX8 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

TQ Systems provides comprehensive documentation on its embedded mini-module products to facilitate the evaluation and design phase with our products.

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 Customer Info Archive is provided upon purchase of a Starter Kit and is released on request 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 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

U-Boot

Feature
RAM configs 1,2,4,8 GiB
CPU variants i.MX8MPQ
Fuses / OCRAM x
speed grade / temperature grade detection x
UART (console on UART3, X20) x
I2C
system EEPROM parsing x
PMIC x
eMMC / SD
Read x
Write x
Ethernet
GBE0 (X11) x
GBE1 (X10) x
Bootdevices
SD card on USDHC2 x
eMMC on USDHC3 x
QSPI-NOR on FlexSPI x
Serial Downloader (X4) x
USB
USB 3.0 Host / Hub (X7) x
USB 2.0 Host / Hub (X8) x
USB 3.0 Micro / Hub, (X3, host only)
USB DRD USB 2.0 (X4, peripheral only) x
QSPI NOR
Read with 1-4-4 SDR x
PP / Erase with 1-1-4 SDR x
Cortex M7
env settings for starting from TCM
examples with UART3 as debug console

TODO or not tested / supported

  • CPU variants i.MX8MPD/S and Lite

Linux

Only mainline kernel supported

Feature 6.12.y
RAM configs 1,2,4,8 GiB
CPU variants i.MX8MPQ
Fuses / OCRAM x
speed grade / temperature grade detection x
UART
SER0 on UART1 (X39) x
SER1 on UART3 (console, X20) x
SER2 on UART2 (X25) x
SER3 on UART4 (X40) x
I2C
EEPROMs x
PMIC x
RTC x
Temperature Sensors x
ENET
GBE0 (X11) x
GBE1 (X10) x
USB
USB 3.0 Host / Hub (X7) x
USB 2.0 Host / Hub (X8) x
USB 3.0 Micro / Hub, (X3, host only)
USB DRD (USB 2.0 Cable Detect, VBUS, X4) x
QSPI NOR
Read with 1-4-4 SDR x
PP / Erase with 1-4-4 SDR x
Graphic / Multimedia
GPU x
VPU x
Display
LVDS (X46, X48) x
Dual-Channel LVDS x
HDMI (X6) x
DisplayPort using MIPI-DSI Bridge (X5) x
Audio
HDMI
Codec (Line IN / Line OUT / MIC) x
PCIe
wireless card at M.2 (X44) x
CAN-FD
CAN-FD (X29, X30) x
Cortex M7
examples running from TCM
use UART4 as debug console (see issues)
MIPI CSI (see Issues section)
Gray with Vision Components GmbH camera (Sensor OV9281)
Raw Bayer with Vision Components GmbH camera (Sensor IMX327)
NPU
NPU

Changelog BSPs

Changelog Scarthgap PRE-Release

Added

  • u-boot-2026.01: add TQMa62xx and TQMa64xxL 1GiB Nanya RAM variants

    Alternative RAM vendor needs a different configuration. RAM type detection and initialisation is handled in boot firmware

  • imx-atf-tq: add support for v2.12 based on NXP lf_v2.12 branch

  • qoriq-atf: add support for v2.12 based on NXP lf_v2.12 branch

    Add support for TQMLS1012AL, TQMLS10xxA, TQMLS1028A, TQMLX2160A

Changed
  • linux-rt-tq-6.12: update to v6.12.89-rt18
  • linux-rt-tq-6.12: incorporate TQ-Systems fixes from linux-tq-6.12
  • linux-rt-tq-6.6: update to v6.6.135-rt75
  • linux-tq-6.12: update to v6.12.90
  • linux-tq-6.6: update to v6.6.140
  • linux-imx-tq-6.6: update from linux-fslc incl. v6.6.138
Fixed
  • tqma93xx-mba93xxca/la: fix distroboot flow for rpmsg and lvds configs with linux-imx-tq

    Use correct overrides for the BSP flavour to generate the menu entries and use correct overlay name for rpmsg menu item. Otherwise no configurations were generated for NXP BSP flavour and the remoteproc device tree overlay was silently not applied.

  • u-boot-imx-tq-2024.04: TQMa8MPxL / TQMa8MPxS

    Add missing check for started Cortex-M and add clk-imx8mp.mcore_booted=1 to kernel command line to prevent swithcing off unused clocks. Otherwise a running firmware on Cortex-M will stop during kernel boot.

  • linux-tq-6.12:

    • includes fix for Copy fail (CVE-2026-31431)
    • includes fix for Dirty frag (CVE-2026-43284)
  • linux-tq-6.6:

    • includes fix for Copy fail (CVE-2026-31431)
    • includes fix for Dirty frag (CVE-2026-43284)
  • linux-imx-tq-6.6:

    • includes fix for Copy fail (CVE-2026-31431)
    • includes fix for Dirty frag (CVE-2026-43284)
Removed
  • imx-atf-tq-2.10: remove recipe, all users were updated to use imx-atf-tq-2.12
  • qoriq-atf-2.10: remove recipe, all users were updated to use qoriq-atf-2.12
  • u-boot-tqmt-2015.07: TQMT10xx variants using this recipe are not supported under scarthgap.
  • linux-tqmt-5.15: TQMT10xx variants using this recipe are not supported under scarthgap.
  • machines: Remove TQMT10xx variants since they are not supported under scarthgap.

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.