This is an old revision of the document!
Embedded module TQMa8MxNL - YOCTO Linux BSP documentation
BSP Overview
Product URL list
Board Support Packages
Third-Party Add-Ons
Starterkit
Hardware
Debug Connection
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.
Onboard I2C devices
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
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 | ✔ |
Kernel
Operating System
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 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
FAQ
Yocto
Yocto BSP Version Matrix - Old Revisions
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 |
Yocto Target Machines
Yocto Changelog
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
Yocto Images
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 |
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 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>
2070 * 1024 * 1024 = 2170552320
2170552320 / 512 = 4239360
4239360 = 40B000HEX
setenv rootblks16 0x40B000
uboot command to start netboot
=> run netboot
Bootloader
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 | ✔ |
Operating System
Supported features
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 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Onboard I2C Devices
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) |
Changelog
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