Entry Page

Hardware

The TQMa8MxNL debug UART is connected via a Silicon Labs USB-to-Serial converter to X16 (micro-USB) on the MBa8Mx. A micro-USB/USB-A cable is part of the STKa8MxNL accessory set. Depending on the host operating system, driver may need to be installed.

TQMa8MxNL Rev.01xx / MBa8Mx Rev.03xx

I2C bus TQMa8MxNL
I2C1 0x1B
Temp Sensor
0x25
PMIC
0x33
Temp Sensor
EEPROM
Protection Command
0x48
Plug & Trust Secure element
(optional)
0x51
RTC
(optional)
0x53
Temp Sensor EEPROM
0x57
EEPROM
I2C bus MBa8Mx
I2C1 0x11
System Controller
0x24
Port Expander
0x27
Port Expander
I2C2 0x18
Audio Codec
0x37
Temp Sensor
EEPROM
Protection Command
0x44
USB Hub
0x57
Temp Sensor
EEPROM
0x68
PCIe Clock Generator
0x1F
Temp Sensor
I2C3 0x5A
MIPI-DSI / LVDS Bridge
also available at
Mini PCIe (X28), Mikro Bus (X20 / X21), PCIe (X36), MIPI-CSI (31)

Hardware Issues

Linux BSP

U-Boot

Feature TQMa8.BSP Revision Remarks
TQ Product Chip Interface Function 0081 - 0091
TQMa8MxNL i.MX8M Nano ENET0 GbE
i.MX8M Nano FlexSPI QSPI NOR
i.MX8M Nano Fuse OTP
i.MX8M Nano GPIO
i.MX8M Nano I²C1 Bus Access
i.MX8M Nano I²C2 Bus Access
i.MX8M Nano I²C3 Bus Access
i.MX8M Nano UART3 Debug console Default console
i.MX8M Nano USB Host
i.MX8M Nano uSDHC eMMC / SD-Card SD card / eMMC

U-Boot - Old Revisions

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0026 0027 0030 0034 0035 0052 0054 0056
TQMa8MxNL i.MX8M Nano ENET0 GbE
i.MX8M Nano FlexSPI QSPI NOR
i.MX8M Nano Fuse OTP
i.MX8M Nano GPIO
i.MX8M Nano I²C1 Bus Access
i.MX8M Nano I²C2 Bus Access
i.MX8M Nano I²C3 Bus Access
i.MX8M Nano UART3 Debug console Default console
i.MX8M Nano USB Host
i.MX8M Nano uSDHC eMMC / SD-Card SD card / eMMC

Supported boot devices

Boot device supported
eMMC
SD Card
QSPI NOR

Linux

Feature TQMa8.BSP Revision Remarks
TQ Product Chip Interface Function 0081 - 0091
TQMa8MxNL i.MX8M Nano ENET0 GbE
i.MX8M Nano FlexSPI QSPI
i.MX8M Nano GPIO
i.MX8M Nano GPU Hardware Accelaration
i.MX8M Nano I²C1 Bus Access See onboard I2C devices
i.MX8M Nano I²C2 Bus Access See onboard I2C devices
i.MX8M Nano I²C3 Bus Access See onboard I2C devices
i.MX8M Nano LPUART1 Debug Console
i.MX8M Nano MIPI CSI Camera Interface
i.MX8M Nano MIPI DSI SN65DSI84 DSI-to-LVDS Bridge
i.MX8M Nano PCIe PCIe Gen2
i.MX8M Nano PWM
i.MX8M Nano SAI3 TLV320AIC3204
(Audio Codec)
i.MX8M Nano USB1 TUSB8041I
(USB Hub)
i.MX8M Nano USB2 Host
i.MX8M Nano OTG
MBa8Mx TLV320AIC3204 Audio Codec Headphone Out / Line Out
Line In
Microphone In
TUSB8041I USB1 Host 1
TUSB8041I USB2 Host 2
TUSB8041I USB3 Host 3
TUSB8041I USB4 Host 4
SN65DSI84 DSI-to_LVDS Bridge LVDS

Linux - Old Revisions

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0026 0027 0030 0034 0035 0052 0054 0056
TQMa8MxNL i.MX8M Nano ENET0 GbE
i.MX8M Nano FlexSPI QSPI
i.MX8M Nano GPIO
i.MX8M Nano GPU Hardware Accelaration
i.MX8M Nano I²C1 Bus Access See onboard I2C devices
i.MX8M Nano I²C2 Bus Access See onboard I2C devices
i.MX8M Nano I²C3 Bus Access See onboard I2C devices
i.MX8M Nano LPUART1 Debug Console
i.MX8M Nano MIPI CSI Camera Interface
i.MX8M Nano MIPI DSI SN65DSI84 DSI-to-LVDS Bridge
i.MX8M Nano PCIe PCIe Gen2
i.MX8M Nano PWM
i.MX8M Nano SAI3 TLV320AIC3204
(Audio Codec)
i.MX8M Nano USB1 TUSB8041I
(USB Hub)
i.MX8M Nano USB2 Host
i.MX8M Nano OTG
MBa8Mx TLV320AIC3204 Audio Codec Headphone Out / Line Out
Line In
Microphone In
TUSB8041I USB1 Host 1
TUSB8041I USB2 Host 2
TUSB8041I USB3 Host 3
TUSB8041I USB4 Host 4
SN65DSI84 DSI-to_LVDS Bridge LVDS

BSP Version Matrix - Old Revisions

BSP Revision meta-tq release Yocto Project / Poky Release Target machine1) U-Boot Linux Kernel
0080 hardknott 3.3.3 - Hardknott tqma8mxnl-1gb-mba8mx v2020.04_imx_5.4.70_2.3.0 fslc-5.10-2.1.x-imx
0056 zeus-tqma8 3.0.3 Zeus tqma8mxnl-1gb-mba8mx v2020.04_imx_5.4.70_2.3.0 rel_imx_5.4.70_2.3.0
0054 zeus-tqma8 3.0.3 Zeus tqma8mxnl-1gb-mba8mx v2020.04_imx_5.4.70_2.3.0 rel_imx_5.4.70_2.3.0
0052 zeus-tqma8 3.0.3 Zeus tqma8mxnl-1gb-mba8mx v2020.04_imx_5.4.70_2.3.0 rel_imx_5.4.70_2.3.0
0035 zeus-tqma8 3.0.3 Zeus tqma8mxnl-1gb-mba8mx v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0034 zeus-tqma8 3.0.3 Zeus tqma8mxnl-1gb-mba8mx v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0030 zeus-tqma8 3.0.3 Zeus tqma8mxnl-1gb-mba8mx v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0027 zeus-tqma8 3.0.3 - Zeus tqma8mxnl-1gb-mba8mx v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0026 zeus-tqma8 3.0.3 - Zeus tqma8mxnl-1gb-mba8mx v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0

Tip: Get notified on new BSP release

Yocto Target Machines

TQMa8.BSP Revision Target machine
≥0026 tqma8mxnl-1gb-mba8mx


Changelog

Rev.0056

BSP

  • Enable building multiple u-boot configs

U-Boot

  • Support multiple u-boot configs. Build all bootstream variants for all enabled u-boot configs

Rev.0054

BSP

  • Prepare support for Vision Components GmbH MIPI CSI cameras
    • Add dvice trees
    • Add “camera” MACHINE_FEATURE

Linux

  • Add devicet rees for Vision Components GmbH MIPI CSI cameras
  • Add RAW/Bayer formats for imx8_mipi_csi2 and mx8-isi-cap
  • Build camera and support drivers into kernel instead as module
  • Port and implement fixes for imx8_mipi_csi2 and mx8-isi-cap

Rev.0052

BSP

  • Sanitize variable assignments to improve reusability in config/machines:
    • 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 ?=
  • Remove remaining docs for incompatible MBa8Mx REV.020x
  • Drop support for U-Boot v2019.04, since no user left
  • Remove local recipe firmware-imx
  • Support for NXP BSP rel_imx_5.4.70_2.3.1
    • u-boot: migrate all imx8 machines with U-Boot v2020.04 support to NXP BSP version
    • linux: migrate all machines to NXP BSP version
    • imx-atf: add fork based on NXP BSP version
    • Optimize codec preconfig in alsa-state. PCM input and LineOut amp factors were configured suboptimal.
  • Update to new CortexM demo package in machine config
  • rewrite recipe for CortexM demos:
    • Based on NXP SDK v2.9.0
    • Rename and sanitize recipe
    • Use versioned archive name
  • Disable packages only relevant for NXP STK in machine config:
    • nxp8987 WiFi
    • imx-m[4,7]-demos

U-Boot

  • Fix phy_config using devicetree
  • Forward error from phy_config
  • Prevent nasty voltage switch error warning for e-MMC
  • Use mmc rescan in env scripts to prevent errors when exchanging SD Card
  • I2C recovery gpio
  • Support SD UHS modes and optimized pad config
  • Backport lmb fixes from upstream, needed for newer DTB with lots of reserved mem regions
  • Fix flow for EVCR access
  • Optimize RAM-config
  • Use verified pad config
  • Optimize PMIC config in SPL
    • Lower voltage for LDO2 / V_SNVS_0V8
    • Improved configs for BUCK1/3 (recommendations from hardware development guide and app note for using same board for i.MX8MN / i.MX8MM)
    • DSR support for Micron SPI NOR

Linux

  • Fix DT for mPCIe USB cards
  • Port fixes for Codec on STK to prevent race condition that could cause driver load failure
  • Enable wifi support in kernelconfig
  • I2C recovery gpio
  • Support SD UHS modes and optimized pad config
  • Fix SAI interface sychronous play / record
  • Use verified pad config
  • Label sys EEPROM as read only
  • Backport upstream PMIC driver for PCA9450
    • adjust device tree
    • Limit voltage rails
  • DSR support for Micron SPI NOR

Rev.0035

U-Boot

  • Fixes for hardware revision 0200

Rev.0034

U-Boot

  • Updated RAM-Timing for TQMa8MxML with 2GB
  • Add support HW REV.0200
  • Removed support for HW REV.0100
  • e-MMC is now on USDHC3
  • Some GPIO signals changed
  • remove muxing and usage of USER_LED_3 signal as already done in kernel dtb

Linux

  • Add support HW REV.0200
  • Removed support for HW REV.0100
  • e-MMC is now on USDHC3
  • Some GPIO signals changed
  • Add recovery GPIO for I2C1

Rev.0030

BSP

  • Integrate CortexM examples for TQMa8Mx[M,N]L
  • Include RPMSG examle device tree
  • Build FlexSPI bootstream by default

U-Boot

  • Add flexspi boot support
  • Add env support for bootstream update on flexspi
  • Add env support for CortexM core boot and update
  • Fix compatible and model names in devicetree
  • fix spelling errors in multiple places

Linux

  • Add devicetree for RPMSG support
  • Fix compatible and model names in devicetree
  • remove USER_LED_3
  • switch to gpio CS for SPI

Rev.0027

BSP

  • machines: rename some machines to unify naming and reflect real mem size

U-Boot

  • Rename defconfigs to unify naming )
  • Support for RTC load capacity configuration
  • QSPI Support
  • USB host support (Hub on MBa8Mx)
  • simplify USB OTG (use ID from USB)
  • Fix RAM Timing for 1GiB
  • Fix Kconfig for default device tree
  • Fix not working USB download in SPL
  • USB power domain handling

Linux

  • Simplify USB OTG (use ID from USB)
  • Added audio support
  • USB host support
  • Enable QSPI flash
  • Enable SD104 for SD-Card
  • Remove pull config from pad settings

Rev.0026

  • Initial support for TQMa8MxNL

Target Machine: tqma8mxnl-1gb-mba8mx

System Images

Boot Device Symlink File
SD Card/eMMC tq-image-weston-tqma8mxnl-1gb-mba8mx.wic tq-image-weston-tqma8mxnl-1gb-mba8mx-<build_timestamp>.rootfs.wic

Bootstream (Bootloader) Binaries

Boot Device Symlink File
SD/eMMC imx-boot imx-boot-tqma8mxnl-1gb-mba8mx-sd.bin-flash_spl_uboot

Linux Kernel Image

Symlink File
Image Image–5.10-r0-tqma8mxnl-1gb-mba8mx-<build_timestamp>.bin

Devicetree Blobs

Symlink Description
imx8mn-tqma8mqnl-mba8mx.dtb Default
imx8mn-tqma8mqnl-mba8mx-lcdif-lvds-tm070jvhg33.dtb Default with LVDS interface activated
imx8mn-tqma8mqnl-mba8mx-lcdif-lvds-tm070jvhg33-imx327.dtb Default with CSI color Camera and LVDS activated
imx8mn-tqma8mqnl-mba8mx-lcdif-lvds-tm070jvhg33-ov9281.dtb Default with CSI monocrome Camera and LVDS activated
imx8mn-tqma8mqnl-mba8mx-rpmsg.dtb Default with RPMSG support

RootFS Images

Symlink File
tq-image-weston-tqma8mxnl-1gb-mba8mx.ext4 tq-image-weston-tqma8mxnl-1gb-mba8mx-<build_timestamp>.rootfs.ext4
tq-image-weston-tqma8mxnl-1gb-mba8mx.tar.gz tq-image-weston-tqma8mxnl-1gb-mba8mx-<build_timestamp>.rootfs.tar.gz

Device assignment:
mmcdev 0 = eMMC
mmcdev 1 = SD Card

1. Run the following commands in the Uboot shell to create update script:

 
setenv root_loop 'setenv start 24000 && setenv r1 $rootblks16 && while itest $r1 -gt 0; do if itest $r1 -gt 0x100000; then setenv count 0x100000; else setenv count $r1; fi && mmc dev 1 && mmc read $loadaddr $start $count && mmc dev 0 && mmc write $loadaddr $start $count && setexpr start $start + $count && setexpr r1 $r1 - $count; done; setenv r1; setenv start; setenv count'
 
setenv  install_firmware 'echo MBR... && mmc dev 1 && mmc read $loadaddr 0 1 && mmc dev 0 && mmc write $loadaddr 0 1 && echo Bootstream... && mmc dev 1 && mmc read $loadaddr 3F 1FC0 && mmc dev 0 && mmc write $loadaddr 3F 1FC0 && echo U-Boot environment... && mmc dev 1 && mmc read $loadaddr 2000 2000 && mmc dev 0 && mmc write $loadaddr 2000 2000 && echo Firmware Partition... && mmc dev 1 && mmc read $loadaddr 4000 20000 && mmc dev 0 && mmc write $loadaddr 4000 20000  && echo Root FS... && run root_loop'
  • Create the variable rootblks16 to hold the size of the root filesystem as a hex number representing the size as the amount of 512 byte blocks:
setenv rootblks16 <number of 512 byte blocks as hex number>
Example for RootFS size of 2070MB:
2070 * 1024 * 1024 = 2170552320
2170552320 / 512 = 4239360
4239360 = 40B000HEX
setenv rootblks16 0x40B000
=> run netboot

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