Embedded module TQMa8MPxL - YOCTO Linux BSP documentation


Yocto Target Machines

TQMa8.BSP Revision Target machine
≥0050 tqma8mpxl-2gb-mba8mpxl


BSP Version Matrix - Old Revisions

BSP Revision ci-meta-tq release Yocto Project / Poky Release Target machine1) U-Boot Linux Kernel
0081 hardknott 3.3.3 - Hardknott tqma8mpxl-2gb-mba8mpxl v2020.04_imx_5.4.47_2.2.0 fslc-5.10-2.1.x-imx
0054 zeus-tqma8 3.0.3 - Zeus tqma8mpxl-2gb-mba8mpxl v2020.04_imx_5.4.47_2.2.0 rel_imx_5.4.70_2.3.0
0052 zeus-tqma8 3.0.3 - Zeus tqma8mpxl-2gb-mba8mpxl v2020.04_imx_5.4.47_2.2.0 rel_imx_5.4.70_2.3.0
0050 zeus-tqma8 3.0.3 - Zeus tqma8mpxl-2gb-mba8mpxl v2020.04_imx_5.4.47_2.2.0 rel_imx_5.4.70_2.3.0

Tip: Get notified on new BSP release

U-Boot

Feature TQMa8.BSP Revision Remarks
TQ Product Chip Interface Function 0081 - 0091
TQMa8MPxL i.MX8MP Eqos GbE
TQMa8MPxL i.MX8MP FEC GbE
TQMa8MPxL i.MX8MP FlexSPI QSPI-NOR
TQMa8MPxL i.MX8MP Fuse OTP Register
TQMa8MPxL i.MX8MP GPIO LED / Button
TQMa8MPxL i.MX8MP I²C1 Bus access See onboard I2C devices
TQMa8MPxL i.MX8MP LPUART4 Console UART
TQMa8MPxL i.MX8MP USB USB Host (2.0 and 3.0)
TQMa8MPxL i.MX8MP USB DRD USB Host
TQMa8MPxL i.MX8MP uSDHC2 SD-Card
TQMa8MPxL i.MX8MP uSDHC2 eMMC

U-Boot - Old Revisions

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0050 0052 0054
TQMa8MPxL i.MX8MP Eqos GbE
TQMa8MPxL i.MX8MP FEC GbE
TQMa8MPxL i.MX8MP FlexSPI QSPI-NOR
TQMa8MPxL i.MX8MP Fuse OTP Register
TQMa8MPxL i.MX8MP GPIO LED / Button
TQMa8MPxL i.MX8MP I²C1 Bus access See onboard I2C devices
TQMa8MPxL i.MX8MP LPUART4 Console UART
TQMa8MPxL i.MX8MP USB USB Host (2.0 and 3.0)
TQMa8MPxL i.MX8MP USB DRD USB Host
TQMa8MPxL i.MX8MP uSDHC2 SD-Card
TQMa8MPxL i.MX8MP uSDHC2 eMMC

Linux

Feature TQMa8.BSP Revision Remarks
TQ Product Chip Interface Function 0081 - 0091
TQMa8MPxL i.MX8MP ECSPI SPI spidev at all Chip Selects
i.MX8MP Eqos GbE
i.MX8MP FEC GbE
i.MX8MP FlexCAN CAN 2.0B
i.MX8MP FlexSPI QSPI-NOR
i.MX8MP Fuse OTP Register
i.MX8MP GPIO LED / Button
i.MX8MP GPU
i.MX8MP HTX_PAI HDMI Audio
i.MX8MP I²C1 Bus access See onboard I2C devices
i.MX8MP LCDIF HDMI TX
i.MX8MP LCDIF LVDS
i.MX8MP LPUART4 Console UART
i.MX8MP MIPI-CSI Camera Interface tested with Vision Components GmbH cameras
i.MX8MP PCIe Host tested with network card in M.2 slot
i.MX8MP SAI TLV320AIC
i.MX8MP USB USB Host (2.0 and 3.0)
i.MX8MP USB DRD USB Host
i.MX8MP USB DRD USB OTG
i.MX8MP uSDHC2 SD-Card
i.MX8MP uSDHC2 eMMC
i.MX8MP VPU
MBa8MPxL TLV320AIC Audio Codec Headphone Out / Line Out
Line In

Linux - Old Revisions

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0050 0052 0054
TQMa8MPxL i.MX8MP ECSPI SPI spidev at all Chip Selects
i.MX8MP Eqos GbE
i.MX8MP FEC GbE
i.MX8MP FlexCAN CAN 2.0B
i.MX8MP FlexSPI QSPI-NOR
i.MX8MP Fuse OTP Register
i.MX8MP GPIO LED / Button
i.MX8MP GPU
i.MX8MP HTX_PAI HDMI Audio
i.MX8MP I²C1 Bus access See onboard I2C devices
i.MX8MP LCDIF HDMI TX
i.MX8MP LCDIF LVDS
i.MX8MP LPUART4 Console UART
i.MX8MP MIPI-CSI Camera Interface tested with Vision Components GmbH cameras
i.MX8MP PCIe Host tested with network card in M.2 slot
i.MX8MP SAI TLV320AIC
i.MX8MP USB USB Host (2.0 and 3.0)
i.MX8MP USB DRD USB Host
i.MX8MP USB DRD USB OTG
i.MX8MP uSDHC2 SD-Card
i.MX8MP uSDHC2 eMMC
i.MX8MP VPU
MBa8MPxL TLV320AIC Audio Codec Headphone Out / Line Out
Line In

TQMa8MPxL / MBa8MPxL

I2C bus TQMa8MPxL
I2C1 0x1B
Tempsensor
0x25
PMIC
0x33
Tempsensor EEPROM SW Protect
0x48
Plug & Trust Secure Element
(optional)
0x51
RTC
(optional)
0x53
Tempsensor EEPROM
0x57
EEPROM
I2C bus MBa8MPxL
I2C1 0x0F
DisplayPort bridge
0x18
Audio Codec
0x1C
Tempsensor
0x34
EEPROM SW Protect
0x44
USB Hub
0x54
Tempsensor EEPROM
0x6A
PCIe Clock generator

BSP Version History

Rev.0089

  • Machines:
    • MBa93xx[CA,LA] preparation for using with Quectel GSM/LTE modem
    • Support for TQMa93xxCA on MBa93xxCA was added. This SOM shares U-Boot and devicetree with TQMa93xxLA on adaptor. Machine tqma93xxla-mba93xxca was therefore renamed to tqma93xx-mba93xxca
    • Support for TQMa93xxLA on MBa93xxLA was added. The machine config files for TQMa93xxLA on MBa93xxCA were restructured to allow sharing settings for the boards. This prevents copy and paste and allows quickly adding new boards.
  • linux-imx-tq 5.15 / imx on arm64:
    • enable support of GSM/LTE modules connected via USB. Tested with Quectel EC21.
    • enable RFKILL support in kernel config
  • TQMLS1046A: add machine config for RAM without ECC
  • TQMLS1046A: add u-boot-tq-2018.07 configs for Modules without ECC
  • TQMa93xxLA: add wifi and bluetooth to MACHINE_FEATURES and enable firmware for WLAN cards with 88W8997 chipset
  • TQMa8X[xS]: Known issue regarding hardware controlled chip-select
  • TQMT10xx: add initial support for TQMT10xx based machines:
    • tqmt1040-64bit-stkt104x
    • tqmt1042-64bit-stkt104x
    • tqmt1022-64bit-stkt104x
    • tqmt1024-64bit-stkt104x
  • TQMa64xxL: enable SDHC controller quirk to fix SD card access on TQMa64xxL REV.010x SoMs.
  • all machines: Fix a race condition due to missing dependencies for WKS_FILE_DEPENDS. Add EXTRA_IMAGEDEPENDS to WKS_FILE_DEPENDS for all machines.
  • TQMa8MPxL: fix disabling of devices when no VARD can be used. Rather than dis- abling all optional devices, print a warning and try to boot. Without the warning this restores the behaviour before handling optional devices with VARD.
  • machines: fix display related features in MACHINE_FEATURES Use screen and touchscreen since this is what Yocto Project / OpenEmbedded use. Remove display which was in use solely in TQ-Systems layers.
  • machines: clean WKS_FILE_DEPENDS and make sure it contains e2fsprogs-native. This prevents ext4 build errors during wix image creation. This kind of error occurs repeatedly when ext4 is not part of IMAGE_FSTYPES Additionally move all non host tools dependencies from WKS_FILE_DEPENDS to EXTRA_IMAGEDEPENDS
  • MBa8Xx[S]: linux-imx-tq 5.15:
    • Pull-up configured for SPI chip-selects in kernel devicetree
    • use gpio chip select for SPI where possible to prevent toggling chip select due to SPI IP and DMA limitation
  • linux-firmware: fix for multilib configurations
  • Adjust and mostly remove recipes ported from meta-imx for i.MX93 support. These are ported to meta-freescale as of commit 642cf7f2 ("Merge pull request #1433 from Freescale/backport-1432-to-kirkstone")
  • fm-ucode recipe removed and append for meta-freescale recipe added instead.
  • TQMLS102xA
    • improve settings for U-Boot specific variables
    • allow easier usage with different RCW
    • u-boot-tq_2017.11: simplify recipe for TQMLS102xA
  • imx-sc-firmware-tq_1.13.0 (TQMa8X[D,Q]P[S], TQMa8QM)
    • update to TQMa8.NXP-v1.13.0.B5561.0035
    • Improve DRAM memory region protection: only existing DRAM is partitioned
    • Move recipe out of dynamic-layers/freescale-layer. Since we provide our own binary package without dependencies to other layers the recipe does not need to be hidden.
  • linux-tq 6.1 / TQMa8M: update to 6.1.9
  • linux-imx-tq 5.15 / TQMa93xxLA:
    • cleanup gpio for LVDS on MBa93xxCA, make USB touch working
    • rename DT and compatible for MBa93xxCA
  • u-boot-imx-tq 2022.04 / TQMa93xxLA
    • rename board and config names for MBa93xxCA
    • rename DT for MBa93xxCA
  • tqma57xx: update machine configuration and bbappends for compatibility with latest meta-ti kirkstone (as of commit 38941472e1e3 "meta-ti-bsp: add BeagleBone AI-64 support")
  • machines: improve usage of bitbake variables to express image dependencies Move packages from IMAGE_INSTALL:append to MACHINE_EXTRA_RRECOMMEND in machine config files.
  • all imx based SOM: port changes from meta-imx kirkstone-5.15.71-2.2.0 in libdrm, weston, wayland-protocols as bbappend-files under dynamic layers to get the latest changes needed for imx93
  • TQMa93xxLA: port and configure more graphic support from meta-imx
  • TQMa93xxLA: rename starter kit mainboard to MBa93xxCA, therefore machine name is now tqma93xxla-mba93xxca
  • u-boot-imx-tq 2022.04 / TQMa93xxLA
    • improve VARD support, fixup devictree
    • improve QSPI NOR support
    • speed grade / temperature grade handling
  • linux-imx-tq 5.15:
    • TQMa93xxLA: LVDS support, QSPI support, USB at mPCIe slot,
    • enable enable marvel / nxp wifi driver in wifi support fragment
    • enable PWM driver needed for i.MX93
  • TQMa93xxLA: update firmware-imx-9 to 8.18. Needs at least meta-freescale commit 8bd13d69 ("firmware-imx: Upgrade 8.17 -> 8.18")

Rev.0088

BSP

  • Update to Yocto Kirkstone 4.0.6
  • Allow kernel image to be installed in rootfs per default
  • Rewrite logic for KERNEL_DEVICETREE and device trees in IMAGE_BOOT_FILES. This removes the intermidiate variable BOARD_DEVICETREE_FILES
  • Add missing dependency for KERNEL_DEVICETREE when using the python helper kernel_provider_dtbs KERNEL_DEVICETREE has a hidden dependency on KERNEL_DEVICETREE_${PREFERRED_PROVIDER_virtual/kernel}

U-Boot

  • added VARD based device tree patching on TQMa8MPxL
    Devices may be assembled optionally on SOM. Use variant and revision data to enable / disable devices in device tree based on VARD. This prevents the OS from probing / accessing not assembled devices
  • Add nfs boot script to boot from network without TFTP server
  • Cleanup default Environment
  • fixed long delay when accessing network via Eqos / TSN port (dwc_eth_qos)
  • Unregister MDIO bus when probe failed for Eqos / TSN port (dwc_eth_qos) and FEC port (fec-mxc)

Rev.0087

BSP

  • Update to Yocto Kirkstone
  • Add bluetooth to MACHINE_FEATURES of MBa8MPxL and add missing firmware to MACHINE_EXTRA_RRECOMMENDS

U-Boot

  • Update RAM Timings
  • Backport MMU table fixxes from upstream
  • Backport U-Boot relocation and RAM size fixes from upstream
  • Optional support for LVDS splash (clock, ldb, pwm, lcdif2)
  • Support TQMa8MPxL 4GiB RAM variant

Linux

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

Rev.0086

BSP

  • minor fixes

Rev.0085

BSP

  • Added image_type_bootonly class to support generation of minimal bootable images
  • New machine config variant (single image for multiple RAM sizes) with support for 2GB RAM fallback variant
  • Add “display” to MACHINE_FEATURES. This enables rootfs customization
  • Removed 2GB machine config variant, support for 2GB fallback bootstream is included in new tqma8mpx-mba8mpxl machine configuration

U-Boot

  • Backport MMU table fixes from upstream
  • Backport U-Boot relocation and RAM size fixes from upstream
  • Update RAM Timings
  • Variant and revision data support
  • Single image for multiple RAM size variants
  • Fix mmc env offset for redundant env

Rev.0084

BSP

  • TQMa8MPxL REV.0100 machine was renamed to tqma8mpxl-2gb-mba8mpxl-r0100

U-Boot

  • Add new configs and adjust DT to the one supplied by kernel
  • Support booting rootfs from UBI
  • Rework EEPROM access code in u-boot
  • Backport upstream logic for mmc SPL conversion

Linux

  • Integrate upstream fixes from linux-fslc (5.10.98)

Rev.0081

BSP

  • Update to Yocto Hardknott
  • Update sub modules to support hardknott
  • Port TQMa8 boards from branch zeus-tqma8
  • Rework systemd-machine-units bbappend (add simplification from branch zeus-tqma8, adapt to newer systemd version with CAN FD support)
  • Support for linux 5.10 based on linux-fslc 5.10
    • Experimental usb support for ath10k
    • Adjusted kernel config settings
  • Weak assignments in machine files wherever possible to allow overwriting for custom mainboards or project specific tailoring
  • Add ubi as MACHINE_FEATURE if [Q]SPI NOR is supported by machine

Rev.0054

BSP

  • Prepare support for Vision Components GmbH MIPI CSI cameras
    • Add device trees
    • Add 'camera' MACHINE_FEATURE

U-Boot

  • Added mfgtool defconfig for MBa8MPxL
  • Use verified pad settings for ENET and QSPI
  • Use pad setting from kernel for GPIO / I2C / QSPI

Linux

  • Add drivers for Vision Components GmbH MIPI CSI cameras with Sony IMX327 and Omnivision OV9281
  • Build camera and support drivers into kernel instead as module
  • Add devicetrees for Vision Components GmbH MIPI CSI cameras
  • Add RAW/Bayer formats for imx8_mipi_csi2 and mx8-isi-cap
  • Port and implement fixes for imx8_mipi_csi2 and mx8-isi-cap
  • Optimize pad settings for GPIO
  • Use verified pad settings for SD / ENET and QSPI

Rev.0052

BSP

  • Enable CortexM demo package
  • Disable packages only relevant for NXP STK in machines / layer.conf
    • nxp8987 WiFi
    • imx-m[4,7]-demos
  • Update to new CortexM demo package
  • Rewrite recipe for CortexM demos
    • Based on NXP SDK v2.9.0
    • Rename and sanitize recipe
    • Use versioned archive name
  • Add more machine features (can, rtc, serial, …)

U-Boot

  • U-Boot env settings for CortexM7
  • DSR support for Micron SPI NOR
  • Make SPL more silent, do not print PMIC registers
  • Use verified pad config for e-MMC
  • Fix RAM-config to support 2000 mHz / 4000 MZ
  • Backport lmb fixes from upstream, needed for newer DTB with lots of reserved mem regions
  • Fix flow for EVCR access

Linux

  • Device tree for CortexM7 demos
  • DSR support for Micron SPI NOR
  • Fix drive strength for SAI3
  • Backport upstream PMIC driver for PCA9450
    • Adjust device tree for TQMa8MPxL
  • Label sys EEPROM as read only
  • Use verified pad config for e-MMC
  • Use DTE for UART 1-3

Rev.0050

BSP

  • Add support for new machine TQMa8MPxL
  • Enable wifi for all TQMA8 mainboards

U-Boot

  • Migrate all imx8 machines with U-Boot v2020.04 support to NXP BSP version
  • Fix phy init for dwc_eth_qos mdio bus

Linux

  • Migrate all machines to NXP BSP version
  • Enable wifi support in kernelconfig
  • Fix USB phy driver
    • Port power handling for dual role without Type-C using regulator
    • Add optional over current low active signal handling
  • Add phy reset handling for dwmac / stmac driver

IMX-ATF

  • Add fork based on NXP BSP version

1)
i.e. value for MACHINE variable
  • Last modified: 2023/07/10 15:39