TQMLX2160A - YOCTO Linux BSP documentation

The TQMLX2160A which is located on the MBLX2160A provides a powerful embedded module platform based on NXP's Layerscape architecture. 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.

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 16, 32 GiB
CPU variants LX2160A, LX2080A
GPIO x
I2C x
UART
console on UART1 (X21) x
QSPI-NOR
Read x
Write x
Boot x
eMMC / SD card
Read x
Write x
Boot x
USB
USB 3.0 Hub (X20) x
SATA
SATA connector (X18) *
M.2 (X42, X43) *
PCIe
PCIe x4/x8 (X35, X36, X37) *
mPCIe (X16, X17) *
Ethernet
SGMII / RGMII 1G *
XFI 10G *
CAUI4 100G *
Bootstreams
FlexSPI x
SD / eMMC x

*: In some SerDes configurations; see the User Manual and Support Wiki for details

Linux

Feature 6.12
RAM configs 16, 32 GiB
CPU variants LX2160A, LX2080A
UART
console on UART1 (X21) x
additional UARTs 2-4 on pin header (X27) x
GPIO
LED x
Button x
I2C
Temperature Sensors x
RTC x
EEPROMS x
QSPI-NOR
Read x
Write x
eMMC / SD card
Read x
Write x
USB
USB 3.0 Hub (X20) x
USB 3.0 OTG (X38) x
SATA
SATA connector (X18) *
M.2 (X42, X43) *
PCIe
PCIe x4/x8 (X35, X36, X37) *
mPCIe (X16, X17) *
Ethernet
SGMII / RGMII 1G *
XFI 10G *
CAUI4 100G *
DPAA2 x
CAN
CAN-FD (X33, X34) x

*: In some SerDes configurations; see the User Manual and Support Wiki for details

Onboard I2C Devices

I2C bus TQMLX2160A
I2C1 0x11
System Controller
0x1F
Temperature Sensor
0x48
SEC
0x50
Customer EEPROM
0x51
RTC
0x57
TQ Manufacturing EEPROM
SYSC_I2C 0x40
CPLD
0x4B
Temp. Sensor
0x4c
Temp. Sensor
0x50
EEPROM
0x60
Voltage Monitoring
0x68
Clock Generator
I2C bus MBLX2160A
I2C1 0x04
PMC Controller
0x20
GPIO Expander
0x68
Clock Generator
0x6A
Clock Generator
I2C5 0x20
GPIO Expander
0x21
GPIO Expander
0x22
GPIO Expander
0x44
USB Hub
0x70
I2C Multiplexer
Connected to X35 and X37
PCIe1
Connected to X36
PCIe2
I2C6 0x19
XFI1 Retimer
Connected to X8
QSFP
0x1B
XFI2 Retimer
Connected X9
QSFP
0x20
CAUI4 Retimer 1
0x21
CAUI4 Retimer 2
0x70
I2C Multiplexer
Connected to X16 and X17
mPCIe
Connected to X29
QSFP28
PMC_I2C 0x40
Current Sense
0x41
Current Sense
0x44
Current Sense
0x45
Current Sense
0x50
EEPROM

Changelog BSPs

Changelog Scarthgap.TQ.ARM.BSP.0006

Added

  • linux-rt-tq-6.12: TQMLS10xxA / TQMLX2160A:

    Mark recipe as compatible for these machines

  • TQMa8MPxS: add board support for SoM on MB-SMARC-2

  • TQMLX2160A: Add Secure Boot support

    See the TQMLX2160A README for more information. The current implementation only secures the boot process up to the bootloader. The kernel and userspace are not verified.

Changed
  • imx-atf-tq: TQMa8 / TQMa9:

    Include NXP fixes up to tag lf-6.6.52-2.2.1 and adjustments for Layerscape.

  • linux-rt-tq-6.6: TQMa6 / TQMa6UL[L]x[L] / TQMa7 / TQMa8Mx / TQMa8MxML / TQMa8MxNL:

    Include stable fixes up to v6.6.101 and stable-rt fixes up to v6.6.101-rt59

  • linux-tq-6.6: TQMa6 / TQMa6UL[L]x[L] / TQMa7 / TQMa8Mx / TQMa8MxML / TQMa8MxNL:

    Include stable fixes up to v6.6.102

  • linux-imx-tq-6.6: TQMa8 / TQMa9:

    Include NXP fixes up to tag lf-6.6.52-2.2.1 and stable fixes up to 6.6.101 from linux-fslc

  • linux-[rt-]tq-6.12: TQMa335x / TQMa93 / TQMa8MP / TQMLS10xx / TQMLX2160:

    • Include linux-stable fixes up to 6.12.41
    • configure STMMAC as built-in to support NFS root on boards with MDIO on STMMAC
  • machines: use require for machine config includes

  • alsa-state: enable IN3_L / Left Mixer input path (prepare MicIn support) for i.MX base SoM

  • layer.conf: add LAYERRECOMMENDS

  • doc:

    • Added known issues for TQMa1012AL, TQMLS102xA, TQMLS1028A
    • Added feature matrix for TQMa1012AL, TQMLS102xA
    • various improvements
Fixed
  • TQMa62xx[L]/TQMa64xxL/TQMa67xx[L]: Fix MAC address assignments

    On each of these modules, two addresses more than intended (and reserved for the module) were assigned to ethXaddr variables in U-Boot.

    This issue is a regression in the new U-Boot version added in scarthgap.TQ.ARM.BSP.0005.

  • TQMLS102xA: Enable missing Linux drivers

  • TQMLS10xxA: Fix UBIFS rootfs partition selection

  • linux-tq-6.12: TQMLX2106A: Fix creation of multiple DPAA2 DPSW objects

  • u-boot-tq-2023.04: TQMa6x:

    Add errata workarounds for KSZ9031 ethernet phy to improve reliability of establishing a link.

  • u-boot-tq-2017.11: TQMLS102xA:

    Upstream device tree node naming for ESDHC controller was changes. Fix board specific DSR code to be compatibel with old and new naming.

  • u-boot-imx-tq-2024.04:

    FEC driver MDIO bus handling for enabled DM_MDIO and DM_ETH_PHY has several flaws that were hidden behind ifdefs. The code has fixes for the relevant code paths.

  • u-boot-tq-2023.04: TQMa7x:

    No MDIO bus was found after fixing several bugs in fec-mxc driver. Bug was caused by forcing unique MDIO bus names via device tree. Naming should be handled by FEC driver that creates the bus depending on Kconfig settings.

  • u-boot-lsdk-tq-2019.04: TQMLS1028A: Fix PCIe initialisation flow

    Backport some fixes to the initalisation flow, limit to Gen2 and add wait for link polling. Both the limitation and the polling loop improve compatibility to more cards, since bootloader support is crucial for working PCIe under Linux.

  • tq-bootconf: add reproducible default for 'FIT_CONF_PREFIX'

    When adding support to machines a reproducible default is needed to keep boot configurations and fitImages in sync.

  • TQMLS1012AL: Fix build with Secure Boot support

    Secure Boot on the TQMLS1012AL is build-tested only.

  • qoriq-atf: Fix hash calculation on all Layerscape platforms

    Fixes validation failure when Secure Boot is enabled.

Removed
  • u-boot-tq_2018.07: remove recipe after TQMLS10xxA was upgraded to v2022.04

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.