Embedded module TQMa8MxNL - YOCTO Linux BSP documentation
BSP Overview
BSP Version Matrix
TQMa8.BSP Revision | meta-tq release | Yocto Project / Poky Release | U-Boot | Linux Kernel |
---|---|---|---|---|
0092 | kirkstone | 4.0.11 - Kirkstone | v2020.04_imx_5.4.70_2.3.0 | fslc-5.15-2.0.x-imx |
0091 | kirkstone | 4.0.10 - Kirkstone | v2020.04_imx_5.4.70_2.3.0 | fslc-5.15-2.0.x-imx |
0090 | kirkstone | 4.0.9 - Kirkstone | v2020.04_imx_5.4.70_2.3.0 | fslc-5.15-2.0.x-imx |
0089 | kirkstone | 4.0.8 - Kirkstone | v2020.04_imx_5.4.70_2.3.0 | fslc-5.15-2.0.x-imx |
0088 | kirkstone | 4.0.6 - Kirkstone | v2020.04_imx_5.4.70_2.3.0 | fslc-5.15-2.0.x-imx |
0087 | kirkstone | 4.0.5 - Kirkstone | v2020.04_imx_5.4.70_2.3.0 | fslc-5.15-2.0.x-imx |
0086 | hardknott | 3.3.6 - Hardknott | v2020.04_imx_5.4.70_2.3.0 | fslc-5.10-2.1.x-imx |
0085 | hardknott | 3.3.6 - Hardknott | v2020.04_imx_5.4.70_2.3.0 | fslc-5.10-2.1.x-imx |
0084 | hardknott | 3.3.4 - Hardknott | v2020.04_imx_5.4.70_2.3.0 | fslc-5.10-2.1.x-imx |
0083 | hardknott | 3.3.4 - Hardknott | v2020.04_imx_5.4.70_2.3.0 | fslc-5.10-2.1.x-imx |
0082 | hardknott | 3.3.3 - Hardknott | v2020.04_imx_5.4.70_2.3.0 | fslc-5.10-2.1.x-imx |
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 |
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
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