Embedded module TQMa8Xx - YOCTO Linux BSP documentation



BSP Version Matrix

BSP Revision meta-tq release Yocto Project / Poky Release Target machine1) U-Boot Linux Kernel
0001 2.4.4 - Rocko rocko-tqma8x tqma8qx-mba8qx v2017.03 rel_4.9.88_imx_imx8qxp_beta2 rel_imx_4.9.88_imx8qxp_beta2
0002 2.5.2 - Sumo sumo-tqma8x tqma8qx-mba8xx 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 tqma8xqp-mba8xx
tqma8xd-mba8xx
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 tqma8xqp-mba8xx
tqma8xd-mba8xx
v2018.03 rel_imx_4.14.78_1.0.0_ga rel_imx_4.14.78_1.0.0_ga
0007 2.5.2 - Sumo sumo-tqma8x tqma8xqp-mba8xx
tqma8xd-mba8xx
v2018.03 rel_imx_4.14.78_1.0.0_ga rel_imx_4.14.78_1.0.0_ga
0009 2.5.2 - Sumo sumo-tqma8x tqma8xqp-mba8xx
tqma8xd-mba8xx
v2018.03 rel_imx_4.14.78_1.0.0_ga rel_imx_4.14.78_1.0.0_ga
0016 2.5.2 - Sumo sumo-tqma8x tqma8xqp-mba8xx
tqma8xd-mba8xx
v2018.03-rel_imx_4.14.98_2.2.0_ga rel_imx_4.14.98_2.2.0_ga
0017 2.5.2 - Sumo sumo-tqma8x tqma8xqp-mba8xx
tqma8xd-mba8xx
v2018.03-rel_imx_4.14.98_2.2.0_ga rel_imx_4.14.98_2.2.0_ga
0025 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0028 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0029 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx
tqma8xqp4-mba8xx
v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0030 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx
tqma8xqp4-mba8xx
v2019.04-lf-5.4.y-1.0.0 lf-5.4.y-1.0.0
0032 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx
tqma8xqp4-mba8xx
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0033 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx
tqma8xqp4-mba8xx
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0035 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx
tqma8xdp-mba8xx
tqma8xqp4-mba8xx
tqma8xdp4-mba8xx
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0036 3.0 - Zeus zeus-tqma8 tqma8xqp-mba8xx
tqma8xdp-mba8xx
tqma8xqp4-mba8xx
tqma8xdp4-mba8xx
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0
0055 3.0 - Zeus zeus-tqma8 tqma8xqp-2gb-mba8xx
tqma8xqp-1gb-mba8xx
tqma8xdp-1gb-mba8xx
tqma8xqp4-mba8xx
tqma8xdp4-mba8xx
v2020.04-imx-5.4.47-2.2.0 lf-5.4.y-1.0.0

Tip: Get notified on new BSP release

BSP / Hardware compatibility

TQMa8Xx4 TQMa8Xx MBa8Xx
BSP Rev. Rev.01xx Rev.01xx Rev.02xx Rev.03xx Rev.01xx Rev.02xx
< 0025
≥ 0025
≥ 0029
≥ 0033
TQMa8Xx MBa8Xx
Rev.01xx Rev.02xx Rev.01xx Rev.02xx
BSP Rev < 0025
BSP REV ≥ 0025
TQMa8Xx4 MBa8Xx
Rev.01xx Rev.02xx
BSP REV ≥ 0029



U-Boot

Supported Features
Feature BSP Revision Remarks
TQ Product Chip Interface Function 0001 0002 0005 0006 0007 0009 0016 0017 2) 0025 3) 0028 4) 0029 5) 0030 6) 0032 7) 0033 8) 0035 9) 0036 0055
TQMa8Xx i.MX8X ENET0 GbE
i.MX8X ENET1 GbE
i.MX8X FlexSPI QSPI NOR
i.MX8X Fuse
i.MX8X GPIO
i.MX8X I²C EEPROM, Temperature Sensors
i.MX8X UART1 Debug Console default console
i.MX8X USB Host
i.MX8X uSDHC eMMC / SD-Card SD card / eMMC

Supported boot devices

Boot device supported
eMMC
SD Card
QSPI NOR


Linux

Supported Features
Feature BSP Revision Remarks
TQ Product Chip Interface Function 0001 0002 0005 0006 0007 0009 0016 0017 10) 0025 11) 0028 12) 0029 13) 0030 14) 0032 15) 0033 16) 0035 17) 0036 0055
TQMa8Xx i.MX8X Cortex M4 Integrated Microcontroller
i.MX8X ENET1 GbE
i.MX8X ENET2 GbE
i.MX8X FLEXCAN0 CAN CAN FD is not automatically configured due to a systemd limitation
i.MX8X FLEXCAN1 CAN
i.MX8X FlexSPI QSPI NOR Flash
i.MX8X GPU Hardware Acceleration
i.MX8X I²C1 Bus Access See onboard I2C devices
i.MX8X MIPI DSI LVDS Tested with Tianma TM070JVHG33 display
i.MX8X LPSPI1 Bus access
i.MX8X LPSPI2 Bus access
i.MX8X LPSPI3 Bus access
i.MX8X LPUART1 Console
i.MX8X LPUART3 TTL available on MBa8xx connector
X4_45 RX
X4_47 TX
i.MX8X GPIO
i.MX8X PCIe Host BSP revision ≤ 0017 requires MBa8xx ≥ Rev.0102, also see Known Issues
i.MX8X SAI TLV320AIC
i.MX8X USB3 TUSB8041I
i.MX8X USB OTG1 Host
Device
i.MX8X USB OTG2 TUSB8041I
i.MX8X uSDHC uSDHC0 / eMMC
uSDHC1 / SD Card
MBa8xx TLV320AIC Audio
Codec
Headphone Out / Line Out
Line In
Microphone In
TUSB8041I USB1 Host USB 2.0 Available on X24 (MPCIe)
TUSB8041I USB2 Host USB 2.0 Available on X22 (LVDS)
TUSB8041I USB3 Host USB 3.0 Available on X20
TUSB8041I USB4 Host USB 3.0 Available on X20



BSP Version History

Rev.0055

BSP

  • Support for Cortex M4 enabled bootstream
  • Add new variant tqma8xqp-2gb-mba8xx
  • Rename existing machines tqma8x[d,q]p-mba8xx to tqma8x[d,q]p-1gb-mba8xx to allow new variants
  • Update SCFW version: basic CortexM4 support for TQMa8Xx[S] and new 2GB DDR3L / ECC variant of TQMa8Xx
  • Update tqma8-cortexm-demos version: basic CortexM4 support for TQMa8Xx[S]
  • Disable packages only relevant for NXP STK:
    • nxp8987 WiFi
    • imx-m[4,7]-demos
  • Migrate all imx8 machines with U-Boot v2020.04 support to NXP BSP version
  • Migrate all machines to NXP BSP version
  • Drop support for v2019.04, since no user left

U-Boot

  • Add reserved memory nodes in DT to prevent U-Boot accessing M4 reserved memory
  • Allow building bootstream with Cortex M4 demo for TQ Systems SOM
  • 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)
  • DSR support for Micron SPI NOR
  • I2C recovery gpio

Linux

  • Device trees for Cortex M4 demos
  • Set CAN PDRV to low
  • Upstream fixes from linux-imx
  • Label sys EEPROM as read only
  • Add GPIO_OPEN_DRAIN to I2C GPIO to prevent warnings
  • Make backlight for LVDS work again. When using PWM from different power domain, this domain needs to be enabled
  • 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
  • Enable wifi support in kernelconfig
  • Fix DT for mPCIe USB cards on MBa8Xx

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

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

  • Backport improvements for TI TLV320AIC32x4 codec
  • Lower drive strength for some pins
  • QSPI NOR DSR
  • Adjust thermal trip points
  • Reenable audio in DT (deadlock fixed for I2C host)
  • Fix deadlock i2c-imx-lpi2c
  • Fix PMIC / CPU thermal sensor support
  • Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
  • Add DSR support for Macronix flash
  • Enable VPU support

Rev.0032

BSP

  • Update SCFW to tq-TQMa8.NXP-v1.6.0.B4894.0030
  • Use Release Version of SC Firmware without debug output
  • Update to U-Boot imx-5.4.47-2.2.0
  • Update to ATF v2.2 / imx-5.4.47_2.2.0
  • QSPIA_SS1 is usable as GPIO

Rev.0030

U-Boot

  • Fix compatible names in devicetree

Linux

  • Fix compatible names in devicetree
  • Increase clock for LPSPI1, use same PER base clocks as other LPSPI instance. Fixes clock mismatch for spidev on TQMa8XxS

Rev.0029

BSP

  • Add default config for TQMa8Xx for u-boot-fw-utils-imx-tq
  • Fix missing dependency on bison-native for u-boot-fw-utils-imx-tq
  • Rewrite systemd-machine-units bbappend to conform to new systemd version. CAN does not need separate units, but a simple network definition
  • Add Support for TQMa8XQP4. The new machine needs a different bootstream hence a differen SCU firmware. The rest is equal to the existing TQMa8XQP.

U-Boot

  • Support for TQMa8XQP4 as variant of TQMa8Xx (defconfigs, memory defines)
  • Use same asound.state for all TQMa8 boards. Depends on linux support
  • Fixed missing defines for default mtest addresses
  • Use weak assignments for IMXBOOT_TARGETS to allow overrides and to prevent generating invalid bootstreams in imx-boot-mfgtool_
  • fix wrong setting for pin muxing
  • Drop support for TQMa8XxS HW REV.010x

Linux

  • Fix wrong setting for pin muxing
  • Drop support for TQMa8XxS HW REV.010x

Rev.0028

BSP

  • Support bootstream for FlexSPI
  • Support bootstream for mfgtool config
  • Port / append mfgtool dependend recipes

U-Boot

  • Display CPU info
  • Add mfgtool config
  • Single config for SD / e-MMC / FlexSPI Boot device

Linux

  • Support PCIe

Rev.0025

BSP

  • Update to Yocto Zeus
  • Port TQMa8Xx to new U-Boot / Linux kernel
  • Add recipes for kernel / u-boot based on NXP 5.4.y_1.0.0 reference BSP
  • Add machine files for TQMa8 modules (based on old local kernel and u-boot, only basic boot support)
  • SCFW firmware update to 1.3.1
  • Add bbappends for recipes from meta-imx
  • Add recipes from sumo-tqma8x branch

Linux

  • Port simple-panel display timings
  • Backport LVDS bugfixes from 5.4.3_2.0.0 beta
  • Port LVDS DSI bridge
  • Port audio fixes for TQ Systems starter kits
  • Mesa: restrict bbappend to mx8
  • Disable *.bz2 image types

Rev.0017

BSP

  • meta-dumpling: added u-boot-fw-utils in packagegroups
  • meta-tq : u-boot-fw-utils support

Linux

  • added spidev for busses SPI1 / SPI2 / SPI3
  • added LPUART3 / available on unused SAI pins
  • fix QSPI driver

Rev.0016

BSP

  • Update to scfw version 1.2.7
  • systemd-machine-units reduce default can bitrate

U-Boot

  • Update to imx_4.14.98_2.2.0
  • Fix QSPI probe write a byte to flash (MACRONIX)
  • QSPI Boot support

Linux

  • Update to rel_imx_4.14.98_2.2.0

Rev.0009

  • backport CAN fixes from current NXP kernel
  • support additional LVDS display
  • add etm11010g0dka

Rev.0007

  • CAN / Ethernet preconfigured via systemd service
  • PCIe disabled DT for old STK
  • Ethernet phy led config fix
  • Better reserved memory config for TQMa8XD

Rev.0006

  • PCIe GPIO pins (PERST pin config correction) in DT and U-Boot
  • PCIe DT with Gen1 only support (for transparent PCIe switch / bridge)

Rev.0005

Global:

  • SCU Firmware based on porting kit v1.1.2

TQMa8XQP:

  • make LVDS work again
  • polish boot flow
  • rename configs and names (tqma8qxp-mba8xx → tqma8xqp-mbaxx)
  • support net boot

TQMa8XD:

  • initial support (tqma8xd-mba8xx)

TQMa8XQPS

  • test newtwork support in linux
  • support net boot (GBE0)

Rev.0002

  • port to yocto sumo / NXP rel_imx_4.14.78_ga
  • SCU firmware base v1.1
  • rename configs and names (tqma8qxp-mba8xx → tqma8xqp-mbaxx) siehe version matrix

Rev.0001

  • initial release


TQMa8Xx Rev.02xx / MBa8Xx Rev.02xx

I2C bus TQMa8Xx
I2C1 0x19
Temperature sensor
0x31
EEPROM
(software protection)
0x57
EEPROM
0x51
EEPROM
0x68
RTC
I2C bus MBa8Xx
I2C1 0x18
Audio codec
0x1C
Temperature sensor
0x2C
Display-Port bridge
0x34
EEPROM (software protection)
0x44
USB Hub
0x54
EEPROM
0x6A
PCIe clock generator
0x70
Port Expander

TQMa8Xx Rev.01xx / MBa8Xx Rev.01xx

I2C bus TQMa8Xx
I2C1 0x19
Temperature sensor
0x31
Temperature sensor
0x50
EEPROM
0x51
EEPROM
0x68
RTC
I2C bus MBa8Xx
I2C1 0x18
Audio codec
0x1C
Temperature sensor
0x2C
Display-Port bridge
0x2D
USB-Hub
0x34
Temperature sensor
0x54
EEPROM
0x6A
PCIe clock generator
0x70
Port Expander

1)
i.e. value for MACHINE variable
2) , 3) , 4) , 5) , 6) , 7) , 8) , 9) , 10) , 11) , 12) , 13) , 14) , 15) , 16) , 17)