Entry Page
Product URL list
Board Support Packages
Third-Party Add-Ons
Starterkit
Hardware
Debug Connection
The TQMa8MxML 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 STKa8MxML accessory set. Depending on the host operating system, driver may need to be installed.
Onboard I2C devices
TQMa8MxML Rev.01xx / MBa8Mx Rev.03xx
I2C bus | TQMa8MxML | ||||||||
---|---|---|---|---|---|---|---|---|---|
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
U-Boot
Feature | TQMa8.BSP Revision | Remarks | |||
---|---|---|---|---|---|
TQ Product | Chip | Interface | Function | 0081 - 0091 | |
TQMa8MxML | i.MX8M Mini | ENET0 | GbE | ✔ | |
i.MX8M Mini | Fuse | OTP | ✔ | ||
i.MX8M Mini | GPIO | ✔ | |||
i.MX8M Mini | I²C1 | Bus Access | ✔ | ||
i.MX8M Mini | I²C2 | Bus Access | ✔ | ||
i.MX8M Mini | I²C3 | Bus Access | ✔ | ||
i.MX8M Mini | UART | Debug console | ✔ | Default console | |
i.MX8M Mini | USB | Host | ✔ | ||
i.MX8M Mini | 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 | 0057 | 0080 | |
TQMa8MxML | i.MX8M Mini | ENET0 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
i.MX8M Mini | Fuse | OTP | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | GPIO | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
i.MX8M Mini | I²C1 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | I²C2 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | I²C3 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | UART | Debug console | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Default console | |
i.MX8M Mini | USB | Host | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | uSDHC | eMMC / SD-Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | SD card / eMMC |
Supported boot devices
Boot device | supported |
---|---|
eMMC | ✔ |
SD Card | ✔ |
Kernel
Operating System
Linux
Feature | TQMa8.BSP Revision | Remarks | |||
---|---|---|---|---|---|
TQ Product | Chip | Interface | Function | 0081 - 0091 | |
TQMa8MxML | i.MX8M Mini | ENET0 | GbE | ✔ | |
i.MX8M Mini | FlexSPI | QSPI | ✔ | ||
i.MX8M Mini | GPIO | ✔ | |||
i.MX8M Mini | GPU | Hardware Accelaration | ✔ | ||
i.MX8M Mini | I²C1 | Bus Access | ✔ | See onboard I2C devices | |
i.MX8M Mini | I²C2 | Bus Access | ✔ | See onboard I2C devices | |
i.MX8M Mini | I²C3 | Bus Access | ✔ | See onboard I2C devices | |
i.MX8M Mini | LPUART1 | Debug Console | ✔ | ||
i.MX8M Mini | MIPI DSI | SN65DSI84 | ✔ | DSI-to-LVDS Bridge | |
i.MX8M Mini | PCIe | PCIe Gen2 | ✔ | ||
i.MX8M Mini | PWM | ✔ | |||
i.MX8M Mini | SAI3 | TLV320AIC3204 (Audio Codec) | ✔ | ||
i.MX8M Mini | USB1 | TUSB8041I (USB Hub) | ✔ | ||
i.MX8M Mini | USB2 | Host | ✔ | ||
i.MX8M Mini | 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 | 0056 | 0057 | 0080 | |
TQMa8MxML | i.MX8M Mini | ENET0 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
i.MX8M Mini | FlexSPI | QSPI | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
i.MX8M Mini | GPIO | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
i.MX8M Mini | GPU | Hardware Accelaration | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | I²C1 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | See onboard I2C devices | |
i.MX8M Mini | I²C2 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | See onboard I2C devices | |
i.MX8M Mini | I²C3 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | See onboard I2C devices | |
i.MX8M Mini | LPUART1 | Debug Console | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | MIPI DSI | SN65DSI84 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | DSI-to-LVDS Bridge | |
i.MX8M Mini | PCIe | PCIe Gen2 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | PWM | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
i.MX8M Mini | SAI3 | TLV320AIC3204 (Audio Codec) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | USB1 | TUSB8041I (USB Hub) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
i.MX8M Mini | USB2 | Host | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8M Mini | 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 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
FAQ
Yocto
Yocto BSP Version Matrix - Old Revisions
BSP Version Matrix - Old Revisions
BSP Revision | ci-meta-tq release | Yocto Project / Poky Release | Target machine1) | U-Boot | Linux Kernel |
---|---|---|---|---|---|
0080 | hardknott | 3.3.3 - Hardknott | tqma8mxml-1gb-mba8mx tqma8mxml-2gb-mba8mx | v2020.04_imx_5.4.47_2.2.0 | fslc-5.10-2.1.x-imx |
0057 | zeus-tqma8 | 3.0.3 - Zeus | tqma8mxml-1gb-mba8mx tqma8mxml-2gb-mba8mx | v2020.04_imx_5.4.47_2.2.0 | rel_imx_5.4.70_2.3.0 |
0056 | zeus-tqma8 | 3.0.3 - Zeus | tqma8mxml-2gb-mba8mx | v2020.04_imx_5.4.47_2.2.0 | rel_imx_5.4.70_2.3.0 |
0052 | zeus-tqma8 | 3.0.3 - Zeus | tqma8mxml-2gb-mba8mx | v2020.04_imx_5.4.47_2.2.0 | rel_imx_5.4.70_2.3.0 |
0035 | zeus-tqma8 | 3.0.3 - Zeus | tqma8mxml-2gb-mba8mx | v2019.04-lf-5.4.y-1.0.0 | lf-5.4.y-1.0.0 |
0034 | zeus-tqma8 | 3.0.3 - Zeus | tqma8mxml-2gb-mba8mx | v2019.04-lf-5.4.y-1.0.0 | lf-5.4.y-1.0.0 |
0030 | zeus-tqma8 | 3.0.3 - Zeus | tqma8mxml-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 | tqma8mxml-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 | tqma8mxml-512m-mba8mx | v2019.04-lf-5.4.y-1.0.0 | lf-5.4.y-1.0.0 |
Yocto Target Machines
Yocto Changelog
BSP Version History
Rev.0087
BSP
- Update to Yocto Kirkstone
U-Boot
- Backport MMU table fixxes from upstream
- Backport U-Boot relocation and RAM size fixes from upstream
Linux
- Linux 5.15 support based on linux-fslc 5.15 + imx
Rev.0080
BSP
- Rework systemd-machine-units bbappend (add simplification from branch zeus-tqma8, adapt to newer systemd version with CAN FD support)
- Update sub modules to support hardknott
- Port TQMa8 boards from branch zeus-tqma8 (equal to release zeus.TQMa8.BSP.SW.0056 of mentioned branch)
- Weak assignments in machine files wherever possible to allow overwriting for custom mainboards or project specific tailoring
U-Boot
Linux
- Linux 5.10 support based on linux-fslc 5.10 + imx
- experimental usb support for ath10k
- adjusted kernel config settings
Rev.0057
BSP
- Add machine config for TQMa8MxML with 1GiB RAM on MBa8Mx
U-Boot
- Add support for SOM variant with 1GiB RAM
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.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 RAM Timing
- 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 REV.0200
Rev.0034
U-Boot
- 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
- Optimized pad settings for SD-Cardadd
- 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
- Optimized CMA size for 1 GiB RAM
- Optimized pad settings for SD-Card
- 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 TQMa8MxML
Yocto Images
Target Machine: tqma8mxml-2gb-mba8mx
System Image
Boot Device | Symlink | File |
---|---|---|
SD Card/eMMC | tq-image-weston-tqma8mxml-2gb-mba8mx.wic | tq-image-weston-tqma8mxml-2gb-mba8mx-<build_timestamp>.rootfs.wic |
Bootstream (Bootloader) Binary
Boot Device | Symlink | File |
---|---|---|
SD Card/eMMC | imx-boot | imx-boot-tqma8mxml-2gb-mba8mx-sd.bin-flash_spl_uboot |
QSPI | imx-boot-tqma8mxml-2gb-mba8mx-fspi.bin-flash_evk_flexspi |
Linux Kernel Binary
Symlink | File |
---|---|
Image | Image–<kernel_version>-tqma8mxml-2gb-mba8mx-<build_timestamp>.bin |
Devicetree Blobs
Symlink | Description |
---|---|
imx8mm-tqma8mqml-mba8mx.dtb | Default |
imx8mm-tqma8mqml-mba8mx-lcdif-lvds-tm070jvhg33.dtb | Default with LVDS interface activated |
imx8mm-tqma8mqml-mba8mx-lcdif-lvds-tm070jvhg33-imx327.dtb | Default with CSI color Camera and LVDS activated |
imx8mm-tqma8mqml-mba8mx-lcdif-lvds-tm070jvhg33-ov9281.dtb | Default with CSI monocrome Camera and LVDS activated |
imx8mm-mba8mx-rpmsg.dtb | Default with RPMSG support |
RootFS Images
Symlink | File |
---|---|
tq-image-weston-tqma8mxml-2gb-mba8mx.ext4 | tq-image-weston-tqma8mxml-2gb-mba8mx-<build_timestamp>.rootfs.ext4 |
tq-image-weston-tqma8mxml-2gb-mba8mx.tar.gz | tq-image-weston-tqma8mxml-2gb-mba8mx-<build_timestamp>.rootfs.tar.gz |
Target Machine: tqma8mxml-1gb-mba8mx
System Image
Boot Device | Symlink | File |
---|---|---|
SD Card/eMMC | tq-image-weston-tqma8mxml-1gb-mba8mx.wic | tq-image-weston-tqma8mxml-1gb-mba8mx-<build_timestamp>.rootfs.wic |
Bootstream (Bootloader) Binary
Boot Device | Symlink | File |
---|---|---|
SD Card/eMMC | imx-boot | imx-boot-tqma8mxml-1gb-mba8mx-sd.bin-flash_spl_uboot |
QSPI | imx-boot-tqma8mxml-1gb-mba8mx-fspi.bin-flash_spl_uboot |
Linux Kernel Binary
Symlink | File |
---|---|
Image | Image–<kernel_version>-tqma8mxml-1gb-mba8mx-<build_timestamp>.bin |
Devicetree Blobs
Symlink | Description |
---|---|
imx8mm-mba8mx.dtb | Default |
imx8mm-mba8mx-lcdif-lvds-tm070jvhg33.dtb | Default with LVDS interface activated |
imx8mm-mba8mx-lcdif-lvds-tm070jvhg33-imx327.dtb | Default with CSI color Camera and LVDS activated |
imx8mm-mba8mx-lcdif-lvds-tm070jvhg33-ov9281.dtb | Default with CSI monocrome Camera and LVDS activated |
imx8mm-mba8mx-rpmsg.dtb | Default with RPMSG support |
RootFS Images
Symlink | File |
---|---|
tq-image-weston-tqma8mxml-1gb-mba8mx.ext4 | tq-image-weston-tqma8mxml-1gb-mba8mx-<build_timestamp>.rootfs.ext4 |
tq-image-weston-tqma8mxml-1gb-mba8mx.tar.gz | tq-image-weston-tqma8mxml-1gb-mba8mx-<build_timestamp>.rootfs.tar.gz |
Known Issues
Yocto Deployment
Device assignment
Device assignment:
mmcdev 0 = eMMC
mmcdev 1 = SD Card
Yocto specific command Update eMMC
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 41 1FBE && mmc dev 0 && mmc write $loadaddr 41 1FBE && 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>
2070 * 1024 * 1024 = 2170552320
2170552320 / 512 = 4239360
4239360 = 40B000HEX
setenv rootblks16 0x40B000
uboot command to start netboot
=> run netboot