TQMa8MPxS - YOCTO Linux BSP documentation
Overview
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.
Documentation and Downloads
Documentation and Downloads
TQ Systems provides comprehensive documentation on its embedded mini-module products to facilitate the evaluation and design phase with our products.
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 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
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 | |
|---|---|
| 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
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 |
I2C Devices
Onboard I2C Devices
| I2C Bus - TQMa8MPxS | ||||||
|---|---|---|---|---|---|---|
| I2C1 | 0x48 Plug & Trust Secure Element (optional) | 0x4A Tempsensor | 0x51 RTC (optional) | 0x54 EEPROM (optional) | 0x5C EEPROM (optional) | 0x6B Gyroscope |
| I2C Bus - MB-SMARC-2 | |||||
|---|---|---|---|---|---|
| I2C1 | 0x50 EEPROM | 0x58 EEPROM | 0x6A PCIE | 0x74 Port-Expander | 0x75 Port-Expander |
Changelog
Changelog BSPs
Changelog Scarthgap PRE-Release
Added
-
SBOM: allow CycloneDX SBOM generation for Layerscape / i.MX ARM64 boot images
Conditionally add
populate_cyclonedxtask to the recipes that construct the boot images. Since these images may be deployed separately a dedicated SBOM is needed.
-
linux-tq-6.12: update to v6.12.116
-
linux-imx-tq-6.6: update from FSLC, includes stable fixes up to 6.6.161
-
linux-rt-tq-6.6: update to v6.6.159-rt82
-
linux-tq-6.6: update to v6.6.160
-
qoriq-atf-2.12: remove superfluous dependencies
-
imx-boot-tq: set INHIBIT_DEFAULT_DEPS to prevent superfluous dependencies
-
U-Boot / Linux: improve SRCREV handling in
.scmversion/localversionSupport building with
EXTERNALSRCwith invalid/unknownSRCREVvalues. For Linux recipes a QA error will be generated if bothSRCREVandSRCREV_machineare set. -
linux-tq-6.12: update to v6.12.103
-
linux-tq-6.6: update to v6.6.151
-
linux-rt-tq-6.6: update to v6.6.147-rt77
-
linux-imx-tq-6.6: update from linux-fslc incl. v6.6.157
-
imx-sc-firmware-tq-1.15.0: update to TQMa8.NXP-v1.15.0.B5624.0038 adding backport fixes
- TQMa8QM: fix PMIC power up ramp time. The calculated ramp time is too large and cause decreased performance when using DVFS
- TQMa8QM / TQMa8Xx[S]: implement KS1 errata workarounds. The workarounds proposed by NXP shall decrease the current needed when using power management.
-
u-boot-imx-tq-2024.04: allow external RMII REF_CLK for i.MX91 / i.MX93 EQOS
- backport platform specific reset for i.MX93
- handle 'snps,rmii_refclk_ext' property in low level chip specific setup handler
-
u-boot-imx-tq-2024.04: backport fixes from upstream for i.MX LPUART
- use ipg clk for i.MX7ULP compatible variants. This allows to use the same clock properties as in upstream and allows using different UART for console without device tree patching
- error handling to prevent hang in recieve path
- meta-tq/conf/layer.conf: Remove stale LICENSE_PATH