Embedded module TQMa8MxML - 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
Please note that BSP Revisions ≥ 0034 require TQMa8Mx Rev.02xx and MBa8Mx Rev.03xx.
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 |
Bootloader
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 | ✔ |
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 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
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) |
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