Embedded module TQMa93xxCA - YOCTO Linux BSP documentation


BSP Version Matrix

BSP Revision ci-meta-tq release Yocto Project / Poky Release Target machine1) </sup> U-Boot Linux Kernel
0015 kirkstone 4.0.14 - Kirkstone tqma93xxla-mba93xxla v2023.04 v6.1.y
v5.15.y
0014 kirkstone 4.0.14 - Kirkstone tqma93xxla-mba93xxla v2023.04 v6.1.y
v5.15.y
0013 kirkstone 4.0.13 - Kirkstone tqma93xxla-mba93xxla v2023.04 v6.1.y
v5.15.y
0012 kirkstone 4.0.13 - Kirkstone tqma93xxla-mba93xxla v2023.04 v6.1.y
v5.15.y
0011 kirkstone 4.0.13 - Kirkstone tqma93xxla-mba93xxla v2022.04 v6.1.y
v5.15.y
0010 kirkstone 4.0.13 - Kirkstone tqma93xxla-mba93xxla v2022.04 v6.1.y
v5.15.y
0009 kirkstone 4.0.11 - Kirkstone tqma93xxla-mba93xxla v2022.04 v5.15y
0008 kirkstone 4.0.11 - Kirkstone tqma93xxla-mba93xxla v2022.04 v5.15y
0007 kirkstone 4.0.10 - Kirkstone tqma93xxla-mba93xxla v2022.04 v5.15y
0006 kirkstone 4.0.10 - Kirkstone tqma93xxla-mba93xxla v2022.04 v5.15y
0005 kirkstone 4.0.9 - Kirkstone tqma93xxla-mba93xxla v2022.04 v5.15y
0004 kirkstone 4.0.8 - Kirkstone tqma93xxla-mba93xxla v2022.04 v5.15y

BSP Version History

Rev.0015

Module BSP Revisions

* kirkstone.TQMa62xx.BSP.SW.0001

Changed

* TQMa62xx, TQMa64xxL:

  • A PXE (netboot) example configuration file has been added to the BSP

documentation (see the new [Distroboot README](doc/README.Distroboot.md)) * TQMa62xx:

  • The system controller firmware for the AM62x HS-FS (High Security - Field Securable) is selected by default now

See the[TQMa62xx README](doc/README.TQMa62xx.md#first-stage-bootloader-variants) for information on changing the firmware variant to use TQMa62xx variants with AM62x GP (General Purpose).

Fixed

* TQMa62xx:

  • u-boot-ti-tq:
  • Fix CPU core clock initialization, which was breaking cpufreq on

Linux with ti-dm-fw REL.MCUSDK.09.00.01.17 and newer

  • Do not print EEPROM information twice
  • linux-ti-tq: The internal RTC of the AM62x SoC has been disabled
  Due to Erratum i2327, the AM62x RTC can't be used reliably. The external RTC of the TQMa62xx should be used instead.

Rev.0014

### Module BSP Revisions

* kirkstone.TQMa6x.BSP.SW.0123

Added

* TQMa6x: linux-tq 6.1: enabled the build of device tree examples for FullHD

LVDS display (AUO G133HAN.01) at MBa6x. See [README.TQMa6x.md](doc/README.TQMa6x.md) for more information.

* TQMa62xx

  • This BSP release adds support for the TQMa62xx module and the MBa62xx starterkit baseboard, based on the TI AM62x SoC family. See [README.TQMa62xx.md](doc/README.TQMa62xx.md) for more information.

* TQMa64xxL

  • linux: Added support for TI Linux 6.1.y
  • u-boot: Added support for TI U-Boot 2023.04
  • The default environment of the new U-Boot version expects a boot.scr

script or extlinux.conf to select the kernel, Device Trees and command

    line to boot ("Distro Boot"). Configuration files to load the kernel from
    a combined fitImage are provided by meta-tq.

* TQMa8x/TQMa8Xx/TQMa8XxS

  • linux: Add dual-channel LVDS display device tree

Changed

* TQMa335x, TQMa57xx

  • linux-ti-tq-5.4:
    • The kernel has been updated to 5.4.257-rt87
    • The mmcblk devices are now always numbered consistently (mmc0 for

eMMC, mmc1 for SD card) on TQMa335x and TQMa57xx

  • The PMIC IRQ configuration in the TQMa335x Device Trees has been

improved, moving baseboard-specific configuration to the MBa335x DTS.

    In addition, the PMIC RTC is now usable on baseboards that do not
    connect the PMIC IRQ at all.
  * Other minor Device Tree cleanups have been applied, reducing warning
    messages during boot on the TQMa335x/MBa335x
* u-boot-tq-2019.04:
  * The default bootcmd for the TQMa335x will no longer result in errors
    when booting from eMMC without an SD card inserted
  * The default environment for the TQMa335x will no longer fall back to
    other boot devices when booting Linux from the primary boot source
    has failed
* TQMa335x, TQMa57xx, TQMa64xxL
  * meta-ti has moved `DEPLOY_DIR_IMAGE` out of `TMPDIR` to make deployment of artifacts for multiple configurations (R5 + A53 bootloaders for TQMa64xxL) more robust. Artifacts can now be found under
  `deploy-ti/image/${MACHINE}` for these module families.

Removed

  • TQMa64xxL
    • u-boot: Removed support for TI U-Boot 2021.1
  • TQMa65xx
    • As we currently don't have a TQMa65xx U-Boot version compatible with recent versions of meta-ti, support for the TQMa65xx machine is dropped for now. Please use meta-tq version kirkstone.TQ.ARM.BSP.0012 or older with meta-ti revision 38941472e1e3 (“meta-ti-bsp: add BeagleBone AI-64 support”) for this hardware.

Fixed

* TQMa6x: linux-tq 6.1: fixed wrong assignment of SPI test device for MBa6x to the chip select that is primary used for the optional SPI NOR

Rev.0013

Module BSP Revisions

* kirkstone.TQMa6x.BSP.SW.0122

Added

* TQMa6DL with 2 GiB * U-Boot v2023.04 (for TQMa6x machines)

Changed

* TQMa6x

  • U-Boot
  • use U-Boot SPL
  • unify mmc and spi defconfigs
  • use shared TQ U-Boot environment
  • support libubootenv

* TQMa335x

  • linux-ti-tq-5.4:
  • Configuration was cleaned up
  • Verbose GPIO debug log messages have been disabled
  • Added limited support for newer meta-ti versions
  • We do not fully support current meta-ti yet (see [README.md](README.md)

for the supported version), but in some cases using the new version may

    be preferable, for example to take advantage of the newer SGX GPU driver
    userspace.

Rev.0012

Module BSP Revisions

* kirkstone.TQMa64xxL.BSP.SW.0006

Added

* TQMT10xx

  • Added support for new rcw configurations

Fixed

* TQMa64xxL

  • u-boot: Do not set ethXaddr variables in environment for MAC addresses thatare not actually assigned to the module
  This affects the TQMa6411L variant, which does not support PRU Ethernet, so
  only a total of 2 instead of 5 MAC addresses are assigned per module.

* TQMLX2160A

  • Fixed wrong UART Clock in U-Boot. The Linux UART driver relies on firmware initialisation of UART clock. So this fixes Linux UART clock as well.

Rev.0011

Module BSP Revisions

* kirkstone.TQMLS10xxA.BSP.SW.0106

Added

* TQMLS10xxA

  • Added support for REV.030X with new memory variants

Fixed

* TQMLS1088A U-Boot:

  • Fixed netboot command
  • Fixed VID Core Voltage initialization
  • Fixed memory passed to OS

Rev.0010

Module BSP Revisions

* kirkstone.TQMa64xxL.BSP.SW.0005

Added

* TQMa8MPxL / TQMa8MxML / TQMa8MxNL / TQMa8Mx

  • Backported GPU 6.4.11.p1.2 from meta-freescale master
  • Added Linux 6.1 FSLC support

* TQMa64xxL

  • Added support for TQMa6411L variant

* recipes-kernel/linux

  • Added support for TQMa7 / TQMa6 / TQMa6UL[L]x[L] with linux 6.1

* recipes-bsp/u-boot

  • Backported libubootenv v0.3.4 from poky / openembedded core

* TQMT10xxA

  • Added support for rcw tool

* TQMLS10xxA

  • u-boot: Added Commands to update DPAA2 firmware files
  • Added config file for U-Boot env tools based on libubootenv

Fixed

* TQMa8Mx / TQMa8MxML / TQMa8MxNL / TQMa8MPxL

  • tqma8-cortexm-demos: Fixed compatibility with TF-A >= 2.6
  Older versions do not boot with the new TF-A.

* TQMa8MPxL

  • Fixed CMA allocation in vendor kernel based on 5.15. Removed unsused reserved memory allocated in SOC part of DT.

* TQMa93

  • Added missing settings for `SERIAL_CONSOLES`. This makes busybox init work.

* TQMa8

  • Fixed UBI image creation based on `MACHINE_FEATURE` containing `ubi`.

* TQMLS1088A

  • u-boot: Fixed netboot command

Changed

* TQMa64xxL

  • Changed default sysfw variant to HS-FS
  All series variants of the AM64x are HS-FS, the GP variants only exist
  as prototypes. Change the default sysfw variant for future BSP releases,
  so our images will work on series modules without changes.
  For prototype modules with AM64x SR1.0 or SR2.0 GP, the following
  options are available:
  • Use the old BSP release kirkstone.TQMa64xxL.BSP.SW.0004
  • Replace tiboot3.bin with tiboot3-am64x-gp-evm.bin in the boot partition
  • Change `SYSFW_DEFAULT_VARIANT` in the machine configuration or local.conf

* WKS

  • Changed to use `–offset` for all items with fixed placement instead of

`–align`

  • Changed to use `–fixed-size` only where needed, relaxed boot partition size
  • Started preparation for U-Boot initial environment in WIC images

* TQMa93

  • Updated to use TF-A based on NXP vendor fork lf_v2.8

* TQMa93 / TQMa8 / TQMa7 / TQMa6 /TQMa6UL[L]x[L]

  • Improved machine definition
  • Changed to use `imx-base.inc` from meta-frescale like the machines defined

in meta-freescale

  • Adjusted `MACHINE_FEATURE` list
  • Removed redundant default value assignment to `DEFAULTTUNE`

* TQMa8

  • Converted U-Boot fw_env.config to new libubootenv yaml format to support

environment on all boot devices

  • Switched to use libubootenv instead of U-Boot internal env tools

* recipes-bsp/u-boot

  • Changed to allow generation and installation of initial environment for

all supported U-Boot variants newer than v2019.04 * TQMLS1028A

  • rcw: Added fixes for the SATA erratum A-010554 and the PCIe errata A-008851, A-010477 and A-009531

* TQMLX2160A

  • rcw: Added fixes for the SATA erratum A-010554, the PCIe errata A-050479, A-009531, A-008851 and the SoC erratum A-050426

* TQMLS10xxA

  • linux: Removed unsupported Power Management modes

Removed

* recipes-bsp/u-boot: recipe for U-Boot env utils from u-boot-imx-tq v2020.04.

Rev.0009

Module BSP Revisions

* kirkstone.TQMa8.BSP.SW.0092

Added

* TQMLS104xA / TQMLS1088A

  • support for linux-stable 6.1.y

Changed

* TQMa8Xx/TQMa8Xx4/TQMa8XxS/TQMa8QM: imx-sc-firmware-tq: update to

TQMa8.NXP-v1.15.0.B5624.0037, no functional change.

* TQMLS104xA:

  • Remove boot partition from WKS file. Kernel and devicetree are

loaded from /boot in rootfs.

  • Adjust UBI rootfs partition size for QSPI NOR. Kernel and devicetree are

loaded from /boot in rootfs. * TQMLS104xA / TQMLS1088A:

  • use linux kernel based on linux-stable 6.1.y as default
  • adjust mc-utils config to linux-stable 6.1.y
  • machine config: adjust to new linux kernel fdt names
  • U-Boot: adjust FDT fixups to linux-stable 6.1.y
  • TQMa93xxCA: Update U-Boot and kernel for MBa93xxCA revision 0200.

Fixed

* TQMa8x/TQMa8Xx/TQMa8XxS: linux-imx-tq_5.15: fix lpi2c clock handling in probe and resume path

Rev.0008

Module BSP Revisions

* kirkstone.TQMLS1028A.BSP.SW.0109

Added

* TQMLS1088A: Added support for atf bootstream.

  • rcw: harmonized file tree structure with other layerscape modules
  • qoriq-atf: add support
  • u-boot: update to atf bootstream and to U-Boot version 2022.04
  • Moved ethernet firmware from wic Image to boot partition.

* TQMa8MPxL/TQMa8MxML/TQMa8MxNL/TQMa8Mx:

  • add recipe for linux-rt-tq based on stable-rt 6.1 (experimental)

* TQMa8MPxL: Support for inline ECC feature * TQMLS104xA: Add variables to allow building pblvariant image. * TQMa8Mx/TQMa8MPxL/TQMa8MxML/TQMa8MxNL:

  • Add support for [High Assurance Boot](doc/README.IMX-HAB.md)
  • Add support for U-Boot Distro / Standard Boot via boot.scr and extlinux.conf

Fixed

* TQMa6x / TQMa7x / TQMa6U[L,LL]x[L]:

  • linux-tq 5.15: fix reading MAC address from fuses
  • linux-rt-tq 5.15: fix reading MAC address from fuses

* TQMa8Xx/TQMa8Xx4/TQMa8XxS/TQMa8QM:

  • imx-sc-firmware-tq: errata fixes and other fixes from NXP version v1.15.0

* TQMa8MPxL/TQMa8MxML/TQMa8MxNL/TQMa8Mx:

  • linux-tq 6.1: fix missing Kconfig entries causing long delay to find rootfs

* TQMa8MPxL/TQMa8MxML/TQMa8MxNL:

  • U-Boot: Fix compatibility with cards from some vendors

Changed

* TQMa6x / TQMa7x / TQMa6U[L,LL]x[L]:

  • update linux-tq 5.15 to 5.15.119
  • update linux-rt-tq 5.15 to 5.15.119-rt65

* TQMa8Xx/TQMa8Xx4/TQMa8XxS/TQMa8QM:

  • imx-atf: update to v2.6
  • imx-sc-firmware-tq: update to support NXP version v1.15.0

* TQMa8MPxL/TQMa8MxML/TQMa8MxNL/TQMa8Mx:

  • imx-atf: update to v2.6
  • linux-tq 6.1: update to v6.1.34

* TQMLS1028A: linux-imx-tq 5.15: As DisplayPort is not working properly, disable it.

Rev.0007

Module BSP Revisions

  • kirkstone.TQMLX2160A.BSP.SW.0010

Fixed

  • TQMLX2160A: Fix SPI-NOR partition fixup

Rev.0006

Module BSP Revisions

* kirkstone.TQMa8.BSP.SW.0091

Added

* TQMLX2160A:

  • Added support for 16GiB variant
  • Added support for TQMLX2080A variant
  • Support for auto pbl for SD/e-MMC
  • u-boot-lsdk-tq: mmc hwpartition allows size '-' for whole e-mmc

Changed

* linux-imx-tq 5.15: (TQMa8M*)

  • Optimize placement of CortexM reserved memory to prepare examples linked to run from DDR.
  • Reserve additional peripherals for CortexM to prepare more examples.
  • alsa-state:

Share the same asound.state file for all i.MX based boards. All boards have the same codec and use the same signals on codec side. For compatibility reasons with different device trees the new file contains the same data with different

sound card model names.
* TQMLX2160A:
* Rename wic kickstarter file to `tqmlx2160a.wks.in`
* u-boot-lsdk-tq: support new serial number format
* Move Kernel and DTB to rootfs

Fixed

* linux-imx-tq 5.15:

  • TQMa8Xx[4,S], TQMa8x: prevent potential deadlocks in LPI2C driver in PM callbacks
  • TQMa8MPxL: fix memory mapping for Cortex M7 on 1GB module. the rpmsg device

tree is now usable on all memory variants.

  • u-boot-imx-tq 2020.04: (TQMa8MxML and potentially others)

Prevent long delay when starting kernel after booting from SD-Card and access eMMC before starting kernel from SD-Card * alsa-state: (TQMa6x/TQMa7x/TQMa6UL[L]x[L])

  • Disable L-to-R / R-to-L resistors in output path. This only brings crosstalk.
  • Optimize two aplifier stages as done for i.MX8 boards before to prevent clipping.

* TQMLX2160A:

  • U-Boot: Fixed Ethernet DPMAC.17/DPMAC.18 RGMII over Serdes precedence to match behaviour of recent qoriq-mc-binary versions.
  • Fix SERIAL_CONSOLES to ttyAMA0

* qoriq-atf: fix pbl variant generation

Rev.0005

Module BSP Revisions

* kirkstone.TQMa8.BSP.SW.0090 * kirkstone.TQMa64xxL.BSP.SW.0004

Added

* TQMa8MxML: add support for 4 GB RAM variant * TQMLS104xA: Added support for atf bootstream.

  • rcw: add support for rcw recipe
  • qoriq-atf: add support
  • u-boot: update to atf bootstream and to U-Boot version 2022.04

Changed

  • TQMa8Mx[M,N]L: u-boot-imx-tq v2020.04:
    • update RAM configuration based on latest RPA
    • increase number of DRAM banks to prepare usage with
    • increase number of DRAM banks to prepare usage with OPTEE
  • TQMa8:
    • u-boot-imx-tq v2020.04: prepare new TQ-Systems serial number format
  • TQMa6x / TQMa7x / TQMa6U[L,LL]x[L]:
    • update linux-tq 5.15 to 5.15.104
    • update linux-rt-tq 5.15 to 5.15.96-rt61
  • TQMa64xxL: Added support for booting in USB host mode (from USB mass storage)

and device mode (using `dfu-util` on a connected host)

  • TQMLS1028A/TQMLX2160A:
    • `ATF_RCW_VARIANTS` does not include the `.bin` filename extension anymore
  • TQMLS1028A:
    • RCW variants do not distinguish between SD/e-MMC and SPI-NOR boot sources anymore
    • The boot type “auto” is now used for SD/e-MMC boot. The default RCW for this boot source is now set using the `RCWAUTO` variable instead of `RCWSD`
    • Secure Boot support has been added to RCW, ATF and U-Boot. For now, this adds only the minimal amount of code required to boot on a the LS1028A

with Secure Boot enabled. Only the early boot stages (up to U-Boot) are signed and verified.

  • u-boot-lsdk-tq_2019.10: use tqmls1028a for COMPATIBLE_MACHINE

* TQMLS104xA: Do not rename linux in boot partition.

Removed

  • tqmls1046a_8g-mbls10xxa and tqmls1046a_2g-mbls10xxa machines are removed.The bl2 pbl files for these memory variants are now built with the qoriq-atf recipe.

Rev.0004

  • Inital BSP pre-release

U-Boot

Supported features
Feature BSP Revision Remarks
TQ Product Chip Interface Function 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
TQMa93xxCA i.MX93 EQOS GigE
FEC GigE
FlexSPI NOR Flash
Fuses OTP
GPIO Button
GPIO LED
I2C1 Bus access
I2C3 Bus access
I2C5 Bus access
LPUART1 Console
SDHC SD/eMMC
USB Host

Supported boot devices

Boot device Supported
eMMC
SD Card
QSPI NOR

Linux

Supported features
Feature BSP Revision Remarks
TQ Product Chip Interface Function 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
TQMa93xxCA i.MX93 ADC
EQOS GigE
FEC GigE
FlexCAN1 CAN-FD
FlexCAN2 CAN-FD
FlexSPI NOR Flash
GPIO Button
GPIO LED
I2C1 Bus access See onboard I2C devices
I2C3 Bus access See onboard I2C devices
I2C5 Bus access See onboard I2C devices
LPUART1 Console
LPUART2
LPUART3
LPUART4
SDHC SD/eMMC
SPI6 SPI Bus spidev on all CS
USB Host
Device

TQMa93xxLA / MBa9xxLA

I2C bus TQMa93xxCA
I2C1 0x1B
Temp Sensor
0x25
PMIC
0x33
EEPROM SW Protect
0x48
Trusted Secure Element (optional)
0x51
RTC
0x53
EEPROM
0x57
EEPROM
0x5F
EEPROM (Identification Page)
0x6A
Gyroscope (optional)
I2C bus MBa93xxCA
I2C3 0x1C
Temperature Sensor
0x34
EEPROM (Software Protection)
0x50
USB-C Power Delivery Controller
0x54
EEPROM
0x70
I2C Port expander
0x71
I2C Port expander
0x72
I2C Port expander
I2C5 0x0F
Display-Port Bridge

1)
i.e. value for MACHINE variable
  • Last modified: 2023/06/19 14:23