Table of Contents

TQMa8XxS - YOCTO Linux BSP documentation

BSP Overview

Yocto Target Machines

TQMa8.BSP Revision Target machine
≥0038 tqma8xqps-mb-smarc-2
tqma8xqps-mb-smarc-2-r0200
tqma8xdps-mb-smarc-2
≥0033 tqma8xqps-mb-smarc-2
tqma8xqps-mb-smarc-2-r0200
0028 tqma8xqps-mb-smarc-2
≥0007 tqma8xps-mb-smarc-2
tqma8xds-mb-smarc-2
0006 tqma8xps-mb-smarc-2
0005 tqma8qxps-mb-smarc-2
≥0001 tqma8qxs-mb-smarc-2


BSP Version Matrix - Old Revisions

BSP Revision meta-tq release Yocto Project / Poky Release Target machine1) U-Boot Linux Kernel
0055 3.0 - Zeus zeus-tqma8 tqma8xqps-mb-smarc-2
tqma8xqps-mb-smarc-2-r0200
tqma8xdps-mb-smarc-2
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0038 3.0 - Zeus zeus-tqma8 tqma8xqps-mb-smarc-2
tqma8xqps-mb-smarc-2-r0200
tqma8xdps-mb-smarc-2
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0036 3.0 - Zeus zeus-tqma8 tqma8xqps-mb-smarc-2
tqma8xqps-mb-smarc-2-r0200
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0035 3.0 - Zeus zeus-tqma8 tqma8xqps-mb-smarc-2
tqma8xqps-mb-smarc-2-r0200
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0033 3.0 - Zeus zeus-tqma8 tqma8xqps-mb-smarc-2
tqma8xqps-mb-smarc-2-r0200
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0028 3.0 - Zeus zeus-tqma8 tqma8xqps-mb-smarc-2 v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0017 2.5.2 - Sumo sumo-tqma8x tqma8xps-mb-smarc-2
tqma8xds-mb-smarc-2
v2018.03-rel_imx_4.14.98_2.2.0_ga rel_imx_4.14.98_2.2.0_ga
0016 2.5.2 - Sumo sumo-tqma8x tqma8xps-mb-smarc-2
tqma8xds-mb-smarc-2
v2018.03-rel_imx_4.14.98_2.2.0_ga rel_imx_4.14.98_2.2.0_ga
0007 2.5.2 - Sumo sumo-tqma8x tqma8xps-mb-smarc-2
tqma8xds-mb-smarc-2
v2018.03 rel_imx_4.14.78_1.0.0_ga rel_imx_4.14.78_1.0.0_ga
0006 2.5.2 - Sumo sumo-tqma8x tqma8xps-mb-smarc-2 v2018.03 rel_imx_4.14.78_1.0.0_ga rel_imx_4.14.78_1.0.0_ga
0005 2.5.2 - Sumo sumo-tqma8x tqma8qxps-mb-smarc-2 v2018.03 rel_imx_4.14.78_1.0.0_ga rel_imx_4.14.78_1.0.0_ga
0002 2.5.2 - Sumo sumo-tqma8x tqma8qxs-mb-smarc-2 v2018.03 rel_imx_4.14.78_1.0.0_ga rel_imx_4.14.78_1.0.0_ga
0001 2.4.4 - Rocko rocko-tqma8x tqma8qxs-mb-smarc-2 v2017.03 rel_4.9.88_imx_imx8qxp_beta2 rel_imx_4.9.88_imx8qxp_beta2

BSP / Hardware compatibility

TQMa8XxS
Rev.01xx Rev.02xx Rev.03xx
BSP Rev < 0028 ✔
BSP REV = 0028 ✔
BSP REV ≥ 0033 ✔ ✔

Tip: Get notified on new BSP release


Bootloader


U-Boot

Feature TQMa8.BSP Revision Remarks
TQ Product Chip Interface Function 0081 - 0091
TQMa8XxS i.MX8X ENET0 GbE ✔
TQMa8XxS i.MX8X ENET1 GbE ✔
TQMa8XxS i.MX8X GPIO ✔
TQMa8XxS i.MX8X I²C EEPROM, Temperature Sensors ✔
TQMa8XxS i.MX8X UART0 Debug Console ✔ default console
TQMa8XxS i.MX8X USB Host ✔
TQMa8XxS i.MX8X USB OTG ✔
TQMa8XxS i.MX8X uSDHC eMMC / SD-Card ✔ SD card / eMMC
TQMa8XxS i.MX8X QSPI QSPI NOR ✔
TQMa8XxS i.MX8X Fuses OTP Fuses ✔

U-Boot - Old Revision

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0001 0002 0005 0006 0007 0016 0017 0028 0033 0035 0036 0038 0055
TQMa8XxS i.MX8X ENET0 GbE ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
TQMa8XxS i.MX8X ENET1 GbE ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
TQMa8XxS i.MX8X GPIO ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
TQMa8XxS i.MX8X I²C EEPROM, Temperature Sensors ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
TQMa8XxS i.MX8X UART0 Debug Console ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ default console
TQMa8XxS i.MX8X USB Host ✔ ✔ ✔ ✔ ✔ ✔ ✔
TQMa8XxS i.MX8X USB OTG ✔ ✔ ✔ ✔ ✔ ✔
TQMa8XxS i.MX8X uSDHC eMMC / SD-Card ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ SD card / eMMC
TQMa8XxS i.MX8X QSPI QSPI NOR ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
TQMa8XxS i.MX8X Fuses OTP Fuses ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔

Supported boot devices

Boot device supported
eMMC ✔
SD Card ✔
QSPI NOR ✔


Operating System


Operating System

Feature TQMa8.BSP Revision Remarks
TQ Product Chip Interface Function 0081 - 0091
TQMa8XxS i.MX8X Cortex M4 Microcontroller ✔
i.MX8X ENET0 GbE ✔
i.MX8X ENET1 GbE ✔
i.MX8X FLEXCAN0 CAN ✔ CAN FD not supported
i.MX8X FLEXCAN1 CAN ✔ CAN FD not supported
i.MX8X GPU Hardware Acceleration ✔
i.MX8X I²C1 Bus Access ✔ See onboard I2C devices
i.MX8X MIPI DSI LVDS ✔ Only available on TQMa8XQPS-AA
i.MX8X UART0 Serial console ✔
i.MX8X uSDHC uSDHC0 eMMC ✔
i.MX8X uSDHC1 SD Card ✔
i.MX8X USB 3.0 TUSB8041I ✔
i.MX8X VPU Hardware Acceleration ✔
TUSB8041I USB1 Host(USB 2.0) ✔
TUSB8041I USB2 Host(USB 3.0) ✔
TUSB8041I USB3 Host(USB 3.0) ✔
TUSB8041I USB4 Host(USB 2.0) ✔
i.MX8X QSPI NOR Flash ✔
i.MX8X PCIe Host ✔

Operating System - Old Revisions

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0001 0002 0005 0006 0007 0016 0017 0028 0033 0035 0036 0038 0055
TQMa8XxS i.MX8X Cortex M4 Microcontroller ✔
i.MX8X ENET0 GbE ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X ENET1 GbE ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X FLEXCAN0 CAN ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ CAN FD not supported
i.MX8X FLEXCAN1 CAN ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ CAN FD not supported
i.MX8X GPU Hardware Acceleration ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X I²C1 Bus Access ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ See onboard I2C devices
i.MX8X MIPI DSI LVDS ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Only available on TQMa8XQPS-AA
i.MX8X UART0 Serial console ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X uSDHC uSDHC0 eMMC ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X uSDHC1 SD Card ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X USB 3.0 TUSB8041I ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X VPU Hardware Acceleration ✔ ✔ ✔ ✔ ✔
TUSB8041I USB1 Host(USB 2.0) ✔ ✔ ✔ ✔ ✔ ✔
TUSB8041I USB2 Host(USB 3.0) ✔ ✔ ✔ ✔ ✔ ✔
TUSB8041I USB3 Host(USB 3.0) ✔ ✔ ✔ ✔ ✔ ✔
TUSB8041I USB4 Host(USB 2.0) ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X QSPI NOR Flash ✔ ✔ ✔ ✔ ✔ ✔ ✔
i.MX8X PCIe Host ✔ ✔ ✔ ✔ ✔ ✔

Onboard I2C Devices

Onboard I2C devices

TQMa8XxS Rev.03xx / MB-SMARC-2 Rev.01xx

I2C bus TQMa8XxS
I2C1 0x1B
Temperature sensor
0x33
EEPROM
(Protection Command)
0x48
Trust Secure Element (optional)
0x50
EEPROM
0x51
RTC (optional)
0x53
EEPROM
0x6A
PCIe clock generator
PMIC_I2C 0x08
PMIC
DSI0_I2C 0x0F
eDP Bridge
Only placed on TQMa8XxS with Display Port support
I2C bus MB-SMARC-2
I2C1 0x30
Audio-Codec
0xA0
EEPROM
0xAE
EEPROM

TQMa8XxS Rev.02xx / MB-SMARC-2 Rev.01xx

I2C bus TQMa8XxS
I2C1 0x1B
Temperature sensor
0x33
EEPROM
(Protection Command)
0x48
Trust Secure Element (optional)
0x50
EEPROM
0x51
RTC (optional)
0x53
EEPROM
0x6A
PCIe clock generator
PMIC_I2C 0x08
PMIC
DSI0_I2C 0x2C
eDP Bridge
Only placed on TQMa8XxS with Display Port support
I2C bus MB-SMARC-2
I2C1 0x30
Audio-Codec
0xA0
EEPROM
0xAE
EEPROM

TQMa8XxS Rev.01xx / MB-SMARC-2 Rev.01xx

I2C bus TQMa8XxS
I2C1 0x19
Temperature sensor
0x2C
eDP Bridge
Only placed on TQMa8XxS with Display Port support
0x31
EEPROM
0x50
EEPROM
0x51
EEPROM
0x68
RTC (optional)
PMIC_I2C 0x08
PMIC
I2C bus MB-SMARC-2
I2C1 0x30
Audio-Codec
0xA0
EEPROM
0xAE
EEPROM

Changelog


BSP Version History

Rev.0087

BSP

  • Update to Yocto Kirkstone

U-Boot

  • Update imx-seco
  • Update imx seco-libs
  • Update imx-sc-firmware

Linux

  • Linux 5.15 support based on linux-fslc 5.15 + imx

Rev.0082

BSP

  • Update to Yocto Hardknott

Linux

  • Linux 5.10 support based on linux-fslc 5.10 + imx

Rev.0055

BSP

  • Support for Cortex M4 enabled bootstream
  • Update SCFW version: basic CortexM4 support for TQMa8Xx[S]
  • Allow building bootstream with Cortex M4 demo for TQ Systems SOM
  • Disable packages only relevant for NXP STK:
    • nxp8987 WiFi
    • imx-m[4,7]-demos

U-Boot

  • Add reserved memory nodes in DT to prevent U-Boot accessing M4 reserved memory
  • Fix location U-Boot config node in DT
  • Prevent voltage switch error message for e-MMC. This is not a real error but ugly behaviour which was fixed for other SOM before
  • Add GPIO_OPEN_DRAIN to I2C GPIO to prevent warnings (sync with kernel)
  • Fixed TQMa8XDPS board name handling
  • DSR support for Micron SPI NOR
  • I2C recovery gpio

Linux

  • Device trees for Cortex M4 demos
  • Add GPIO_OPEN_DRAIN to I2C GPIO to prevent warnings
  • Improve kernel config:
    • Remove ACPI
    • Remove unused audio stuff
    • Remove unused net devices
    • Enable Vision Components GmbH MIPI CSI cameras
  • DSR support for Micron SPI NOR
  • I2C recovery gpio

Rev.0038

BSP

  • Add support for new machine TQMa8XDPS

U-Boot

  • fix tqma8xxs_get_boardname for TQMa8DXPS again

Linux

  • Add support for TQMa8XDPS
  • I2C recovery gpio for TQMa8XxS
  • Port fixes for Codec on STK to prevent race condition that could cause driver load failure

Rev.0036

BSP

  • config/machines: sanitize variable assignments to improve reusability
    • Replace IMAGE_INSTALL_append with more approbiate MACHINE_EXTRA_RRECOMMENDS_append
    • Remove all dirty magic for DISTRO_FEATURES_remove
    • Replace hard assignments to IMAGE_BOOT_FILES with ?=

U-Boot

  • v2020.04 fix FEC Ethernet PHY init
    • Fix phy_config using devicetree
    • Forward error from phy_config

Rev.0035

BSP

  • Support for tqma8xdp[4]-mba8xx

U-Boot

  • Fix board name for TQMa8XDP[4]

Linux

  • Support for tqma8xdp[4]-mba8xx

Rev.0033

BSP

  • Initial production release for TQMa8XQPS
  • Prepare REV.0300 Support, support for REV.0200 moved to separate config (tqma8xqps-mb-smarc-2-r0200)
  • Drop support for imx-scu firmware v1.3.1
  • Drop support for imx-seco firmware v2.5.6

U-Boot

  • Fix not working update scripts when exchanging an SD card just before start updating
  • Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM

Linux

  • Cleanup LVDS support device trees
  • Add missing I2C GPIO recovery
  • Fix earlycon bootarg
  • Add support for LVDS AUO G133HAN.01 full HD panel
  • Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
  • Enable VPU support
  • Add SMARC-2 GPIO
  • Add SMARC-2 DSI0 I2C
  • Add SMARC-2 LVDS1 with example
  • Add support for second UART

Rev.0028

BSP

  • Update to Yocto Zeus
  • Update to SCU firmware 1.3.1
  • Update to U-Boot v2019.04-lf-5.4.y-1.0.0
  • Update to Linux kernel lf-5.4.y-1.0.0
  • Support bootstream for FlexSPI
  • Support bootstream for mfgtool config

U-Boot

  • Display CPU info
  • Add mfgtool config
  • Single config for SD / e-MMC / FlexSPI Boot device

Linux

  • Added USB support
  • Added PCIe support

Rev.0017

BSP

  • Update to SCU firmware 1.2.10
  • added support for PMIC info in SCU firmware

U-Boot

  • added support for SCU PMIC info
  • added initial USB support
  • added support for module EEPROM readout

Linux

  • added initial USB support
  • fix QSPI NOR access for tqma8xxs

Rev.0016

  • Added LVDS Support
  • Added CAN Support
  • Updated to U-Boot v2018.03-rel_imx_4.14.98_2.2.0_ga
  • Updated to Linux Kernel rel_imx_4.14.98_2.2.0_ga

Rev.0007

  • TQMa8XDS support
  • CAN / Ethernet preconfigured via systemd service
  • Ethernet PHY LED config fix
  • Better reserved memory config for TQMa8XDS

Rev.0006

  • Rename configs / DT to reflect module name
  • SCU firmware with internal PCIe clk

Rev.0005

  • test network support in linux - support net boot (GBE0)

Rev.0002

  • port to yocto sumo

Rev.0001

  • initial release


1)
i.e. value for MACHINE variable