Embedded module TQMa8XxS - 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 |
Yocto Target Machines
TQMa8.BSP Revision | Target machine |
---|---|
≥0038 | tqma8xqps-mb-smarc-2 tqma8xqps-mb-smarc-2-r0200 tqma8xdps-mb-smarc-2 |
≥0033 | tqma8xqps-mb-smarc-2 tqma8xqps-mb-smarc-2-r0200 |
0028 | tqma8xqps-mb-smarc-2 |
≥0007 | tqma8xps-mb-smarc-2 tqma8xds-mb-smarc-2 |
0006 | tqma8xps-mb-smarc-2 |
0005 | tqma8qxps-mb-smarc-2 |
≥0001 | tqma8qxs-mb-smarc-2 |
BSP Version Matrix - Old Revisions
BSP Revision | meta-tq release | Yocto Project / Poky Release | Target machine1) | U-Boot | Linux Kernel |
---|
0055 | 3.0 - Zeus | zeus-tqma8 | tqma8xqps-mb-smarc-2 tqma8xqps-mb-smarc-2-r0200 tqma8xdps-mb-smarc-2 | v2020.04-imx-5.4.47-2.2.0 | lf-5.4.y-1.0.0 |
0038 | 3.0 - Zeus | zeus-tqma8 | tqma8xqps-mb-smarc-2 tqma8xqps-mb-smarc-2-r0200 tqma8xdps-mb-smarc-2 | v2020.04-imx-5.4.47-2.2.0 | lf-5.4.y-1.0.0 |
0036 | 3.0 - Zeus | zeus-tqma8 | tqma8xqps-mb-smarc-2 tqma8xqps-mb-smarc-2-r0200 | v2020.04-imx-5.4.47-2.2.0 | lf-5.4.y-1.0.0 |
0035 | 3.0 - Zeus | zeus-tqma8 | tqma8xqps-mb-smarc-2 tqma8xqps-mb-smarc-2-r0200 | v2020.04-imx-5.4.47-2.2.0 | lf-5.4.y-1.0.0 |
0033 | 3.0 - Zeus | zeus-tqma8 | tqma8xqps-mb-smarc-2 tqma8xqps-mb-smarc-2-r0200 | v2020.04-imx-5.4.47-2.2.0 | lf-5.4.y-1.0.0 |
0028 | 3.0 - Zeus | zeus-tqma8 | tqma8xqps-mb-smarc-2 | v2019.04-lf-5.4.y-1.0.0 | lf-5.4.y-1.0.0 |
0017 | 2.5.2 - Sumo | sumo-tqma8x | tqma8xps-mb-smarc-2 tqma8xds-mb-smarc-2 | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0_ga |
0016 | 2.5.2 - Sumo | sumo-tqma8x | tqma8xps-mb-smarc-2 tqma8xds-mb-smarc-2 | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0_ga |
0007 | 2.5.2 - Sumo | sumo-tqma8x | tqma8xps-mb-smarc-2 tqma8xds-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
0006 | 2.5.2 - Sumo | sumo-tqma8x | tqma8xps-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
0005 | 2.5.2 - Sumo | sumo-tqma8x | tqma8qxps-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
0002 | 2.5.2 - Sumo | sumo-tqma8x | tqma8qxs-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
0001 | 2.4.4 - Rocko | rocko-tqma8x | tqma8qxs-mb-smarc-2 | v2017.03 rel_4.9.88_imx_imx8qxp_beta2 | rel_imx_4.9.88_imx8qxp_beta2 |
BSP / Hardware compatibility
TQMa8XxS | |||
---|---|---|---|
Rev.01xx | Rev.02xx | Rev.03xx | |
BSP Rev < 0028 | ✔ | ||
BSP REV = 0028 | ✔ | ||
BSP REV ≥ 0033 | ✔ | ✔ |
Bootloader
U-Boot
Feature | TQMa8.BSP Revision | Remarks | |||
---|---|---|---|---|---|
TQ Product | Chip | Interface | Function | 0081 - 0091 | |
TQMa8XxS | i.MX8X | ENET0 | GbE | ✔ | |
TQMa8XxS | i.MX8X | ENET1 | GbE | ✔ | |
TQMa8XxS | i.MX8X | GPIO | ✔ | ||
TQMa8XxS | i.MX8X | I²C | EEPROM, Temperature Sensors | ✔ | |
TQMa8XxS | i.MX8X | UART0 | Debug Console | ✔ | default console |
TQMa8XxS | i.MX8X | USB | Host | ✔ | |
TQMa8XxS | i.MX8X | USB | OTG | ✔ | |
TQMa8XxS | i.MX8X | uSDHC | eMMC / SD-Card | ✔ | SD card / eMMC |
TQMa8XxS | i.MX8X | QSPI | QSPI NOR | ✔ | |
TQMa8XxS | i.MX8X | Fuses | OTP Fuses | ✔ |
U-Boot - Old Revision
Feature | BSP Revision | Remarks | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TQ Product | Chip | Interface | Function | 0001 | 0002 | 0005 | 0006 | 0007 | 0016 | 0017 | 0028 | 0033 | 0035 | 0036 | 0038 | 0055 | |
TQMa8XxS | i.MX8X | ENET0 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
TQMa8XxS | i.MX8X | ENET1 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
TQMa8XxS | i.MX8X | GPIO | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
TQMa8XxS | i.MX8X | I²C | EEPROM, Temperature Sensors | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
TQMa8XxS | i.MX8X | UART0 | Debug Console | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | default console |
TQMa8XxS | i.MX8X | USB | Host | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
TQMa8XxS | i.MX8X | USB | OTG | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||||||
TQMa8XxS | i.MX8X | uSDHC | eMMC / SD-Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | SD card / eMMC |
TQMa8XxS | i.MX8X | QSPI | QSPI NOR | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||||
TQMa8XxS | i.MX8X | Fuses | OTP Fuses | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Supported boot devices
Boot device | supported |
---|---|
eMMC | ✔ |
SD Card | ✔ |
QSPI NOR | ✔ |
Operating System
Operating System
Feature | TQMa8.BSP Revision | Remarks | |||
---|---|---|---|---|---|
TQ Product | Chip | Interface | Function | 0081 - 0091 | |
TQMa8XxS | i.MX8X | Cortex M4 | Microcontroller | ✔ | |
i.MX8X | ENET0 | GbE | ✔ | ||
i.MX8X | ENET1 | GbE | ✔ | ||
i.MX8X | FLEXCAN0 | CAN | ✔ | CAN FD not supported | |
i.MX8X | FLEXCAN1 | CAN | ✔ | CAN FD not supported | |
i.MX8X | GPU | Hardware Acceleration | ✔ | ||
i.MX8X | I²C1 | Bus Access | ✔ | See onboard I2C devices | |
i.MX8X | MIPI DSI | LVDS | ✔ | Only available on TQMa8XQPS-AA | |
i.MX8X | UART0 | Serial console | ✔ | ||
i.MX8X | uSDHC | uSDHC0 eMMC | ✔ | ||
i.MX8X | uSDHC1 SD Card | ✔ | |||
i.MX8X | USB 3.0 | TUSB8041I | ✔ | ||
i.MX8X | VPU | Hardware Acceleration | ✔ | ||
TUSB8041I | USB1 | Host(USB 2.0) | ✔ | ||
TUSB8041I | USB2 | Host(USB 3.0) | ✔ | ||
TUSB8041I | USB3 | Host(USB 3.0) | ✔ | ||
TUSB8041I | USB4 | Host(USB 2.0) | ✔ | ||
i.MX8X | QSPI | NOR Flash | ✔ | ||
i.MX8X | PCIe | Host | ✔ |
Operating System - Old Revisions
Feature | BSP Revision | Remarks | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TQ Product | Chip | Interface | Function | 0001 | 0002 | 0005 | 0006 | 0007 | 0016 | 0017 | 0028 | 0033 | 0035 | 0036 | 0038 | 0055 | |
TQMa8XxS | i.MX8X | Cortex M4 | Microcontroller | ✔ | |||||||||||||
i.MX8X | ENET0 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
i.MX8X | ENET1 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
i.MX8X | FLEXCAN0 | CAN | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | CAN FD not supported | ||||||
i.MX8X | FLEXCAN1 | CAN | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | CAN FD not supported | ||||||
i.MX8X | GPU | Hardware Acceleration | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
i.MX8X | I²C1 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | See onboard I2C devices | |
i.MX8X | MIPI DSI | LVDS | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Only available on TQMa8XQPS-AA | ||||||
i.MX8X | UART0 | Serial console | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8X | uSDHC | uSDHC0 eMMC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
i.MX8X | uSDHC1 SD Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
i.MX8X | USB 3.0 | TUSB8041I | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||||
i.MX8X | VPU | Hardware Acceleration | ✔ | ✔ | ✔ | ✔ | ✔ | ||||||||||
TUSB8041I | USB1 | Host(USB 2.0) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||||
TUSB8041I | USB2 | Host(USB 3.0) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||||
TUSB8041I | USB3 | Host(USB 3.0) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||||
TUSB8041I | USB4 | Host(USB 2.0) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||||
i.MX8X | QSPI | NOR Flash | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||||||
i.MX8X | PCIe | Host | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Onboard I2C Devices
Onboard I2C devices
TQMa8XxS Rev.03xx / MB-SMARC-2 Rev.01xx
I2C bus | TQMa8XxS | ||||||
---|---|---|---|---|---|---|---|
I2C1 | 0x1B Temperature sensor | 0x33 EEPROM (Protection Command) | 0x48 Trust Secure Element (optional) | 0x50 EEPROM | 0x51 RTC (optional) | 0x53 EEPROM | 0x6A PCIe clock generator |
PMIC_I2C | 0x08 PMIC |
||||||
DSI0_I2C | 0x0F eDP Bridge Only placed on TQMa8XxS with Display Port support |
I2C bus | MB-SMARC-2 | ||
---|---|---|---|
I2C1 | 0x30 Audio-Codec | 0xA0 EEPROM | 0xAE EEPROM |
TQMa8XxS Rev.02xx / MB-SMARC-2 Rev.01xx
I2C bus | TQMa8XxS | ||||||
---|---|---|---|---|---|---|---|
I2C1 | 0x1B Temperature sensor | 0x33 EEPROM (Protection Command) | 0x48 Trust Secure Element (optional) | 0x50 EEPROM | 0x51 RTC (optional) | 0x53 EEPROM | 0x6A PCIe clock generator |
PMIC_I2C | 0x08 PMIC |
||||||
DSI0_I2C | 0x2C eDP Bridge Only placed on TQMa8XxS with Display Port support |
I2C bus | MB-SMARC-2 | ||
---|---|---|---|
I2C1 | 0x30 Audio-Codec | 0xA0 EEPROM | 0xAE EEPROM |
TQMa8XxS Rev.01xx / MB-SMARC-2 Rev.01xx
I2C bus | TQMa8XxS | |||||
---|---|---|---|---|---|---|
I2C1 | 0x19 Temperature sensor | 0x2C eDP Bridge Only placed on TQMa8XxS with Display Port support | 0x31 EEPROM | 0x50 EEPROM | 0x51 EEPROM | 0x68 RTC (optional) |
PMIC_I2C | 0x08 PMIC |
I2C bus | MB-SMARC-2 | ||
---|---|---|---|
I2C1 | 0x30 Audio-Codec | 0xA0 EEPROM | 0xAE EEPROM |
Changelog
BSP Version History
Rev.0087
BSP
- Update to Yocto Kirkstone
U-Boot
- Update imx-seco
- Update imx seco-libs
- Update imx-sc-firmware
Linux
- Linux 5.15 support based on linux-fslc 5.15 + imx
Rev.0082
BSP
- Update to Yocto Hardknott
Linux
- Linux 5.10 support based on linux-fslc 5.10 + imx
Rev.0055
BSP
- Support for Cortex M4 enabled bootstream
- Update SCFW version: basic CortexM4 support for TQMa8Xx[S]
- Allow building bootstream with Cortex M4 demo for TQ Systems SOM
- Disable packages only relevant for NXP STK:
- nxp8987 WiFi
- imx-m[4,7]-demos
U-Boot
- Add reserved memory nodes in DT to prevent U-Boot accessing M4 reserved memory
- Fix location U-Boot config node in DT
- Prevent voltage switch error message for e-MMC. This is not a real error but ugly behaviour which was fixed for other SOM before
- Add GPIO_OPEN_DRAIN to I2C GPIO to prevent warnings (sync with kernel)
- Fixed TQMa8XDPS board name handling
- DSR support for Micron SPI NOR
- I2C recovery gpio
Linux
- Device trees for Cortex M4 demos
- Add GPIO_OPEN_DRAIN to I2C GPIO to prevent warnings
- Improve kernel config:
- Remove ACPI
- Remove unused audio stuff
- Remove unused net devices
- Enable Vision Components GmbH MIPI CSI cameras
- DSR support for Micron SPI NOR
- I2C recovery gpio
Rev.0038
BSP
- Add support for new machine TQMa8XDPS
U-Boot
- fix tqma8xxs_get_boardname for TQMa8DXPS again
Linux
- Add support for TQMa8XDPS
- I2C recovery gpio for TQMa8XxS
- Port fixes for Codec on STK to prevent race condition that could cause driver load failure
Rev.0036
BSP
- config/machines: sanitize variable assignments to improve reusability
- 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 ?=
U-Boot
- v2020.04 fix FEC Ethernet PHY init
- Fix phy_config using devicetree
- Forward error from phy_config
Rev.0035
BSP
- Support for tqma8xdp[4]-mba8xx
U-Boot
- Fix board name for TQMa8XDP[4]
Linux
- Support for tqma8xdp[4]-mba8xx
Rev.0033
BSP
- Initial production release for TQMa8XQPS
- Prepare REV.0300 Support, support for REV.0200 moved to separate config (tqma8xqps-mb-smarc-2-r0200)
- Drop support for imx-scu firmware v1.3.1
- Drop support for imx-seco firmware v2.5.6
U-Boot
- Fix not working update scripts when exchanging an SD card just before start updating
- Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
Linux
- Cleanup LVDS support device trees
- Add missing I2C GPIO recovery
- Fix earlycon bootarg
- Add support for LVDS AUO G133HAN.01 full HD panel
- Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
- Enable VPU support
- Add SMARC-2 GPIO
- Add SMARC-2 DSI0 I2C
- Add SMARC-2 LVDS1 with example
- Add support for second UART
Rev.0028
BSP
- Update to Yocto Zeus
- Update to SCU firmware 1.3.1
- Update to U-Boot v2019.04-lf-5.4.y-1.0.0
- Update to Linux kernel lf-5.4.y-1.0.0
- Support bootstream for FlexSPI
- Support bootstream for mfgtool config
U-Boot
- Display CPU info
- Add mfgtool config
- Single config for SD / e-MMC / FlexSPI Boot device
Linux
- Added USB support
- Added PCIe support
Rev.0017
BSP
- Update to SCU firmware 1.2.10
- added support for PMIC info in SCU firmware
U-Boot
- added support for SCU PMIC info
- added initial USB support
- added support for module EEPROM readout
Linux
- added initial USB support
- fix QSPI NOR access for tqma8xxs
Rev.0016
- Added LVDS Support
- Added CAN Support
- Updated to U-Boot v2018.03-rel_imx_4.14.98_2.2.0_ga
- Updated to Linux Kernel rel_imx_4.14.98_2.2.0_ga
Rev.0007
- TQMa8XDS support
- CAN / Ethernet preconfigured via systemd service
- Ethernet PHY LED config fix
- Better reserved memory config for TQMa8XDS
Rev.0006
- Rename configs / DT to reflect module name
- SCU firmware with internal PCIe clk
Rev.0005
- test network support in linux - support net boot (GBE0)
Rev.0002
- port to yocto sumo
Rev.0001
- initial release