TQMa67xx - YOCTO Linux BSP documentation
Overview
The TQMa67xx provides a robust embedded module platform powered by Texas Instruments’ Jacinto AM67x processor family. The BSP is based on the Yocto Project using TQ’s meta-tq hardware support layer, with build host setup instructions and BSP sources provided via GitHub.
Please see the meta-tq repository on GitHub for further instructions. A list of supported Yocto images and example configurations is available in the BSP repository GitHub.
Documentation and Downloads
Documentation and Downloads
TQ Systems provides comprehensive documentation on its embedded mini-module products to facilitate the evaluation and design phase with our products.
Publicly Available User Manuals & Datasheets
The following documents can be downloaded directly from our Website (no login required) for the desired product:
User Manual (Baseboard)
Detailed hardware descriptions, installation steps, jumper settings, connector layouts and troubleshooting tips.
User Manual (Module)
Electrical specifications, interface overviews, software setup guides and reference tables.
Datasheets
Absolute maximum ratings, timing diagrams and ordering information.
Customer Info Archive (Starter Kit Customers)
The archive includes:
- Mainboard schematic & placement diagram
- Module CAD files (native format)
- Module mechanical dimensions (2D/3D drawings)
- Pinmuxing configuration (recommended device tree fragments)
- Pinout reference (signal assignments, voltage domains)
- Design checklist (layout guidelines, EMI/ESD considerations)
- Processing instructions (LGA Modules)
BSP Tagging and Revisioning
BSP Git Tagging and Revisioning
TQ manages all Board Support Package (BSP) releases in the meta-tq GitHub repository using annotated Git tags. This ensures each release is traceable to an exact source snapshot and clearly documents which Yocto branch, platform (module) and software revision it covers.
Tag Format:
<YoctoBranch>.<ModuleIdentifier>.TQ.ARM.BSP.<RevisionNumber>
| Component | Description |
|---|---|
| YoctoBranch | Name of the Yocto Project release (e.g. kirkstone, scarthgap) |
| ModuleIdentifier | Target module name when present; omitted entirely for “scarthgap” tags |
| TQ.ARM.BSP | Literal marker for “Board Support Package – Software” |
| RevisionNumber | Four-digit, zero-padded incrementing counter (e.g. 0001, 0002, …) |
Examples:
kirkstone.TQMa64xxL.BSP.SW.0008
scarthgap.BSP.SW.0001 – here no module identifier is used
Supported Platforms Reference:
To see exactly which platforms (machines/boards) each BSP tag covers, open the meta-tq folder in that tag and view its README.md:
/tq-systems/meta-tq/tree/<git-tag>/meta-tq
Click on README.md there to find the full list of Yocto machine names, board variants, RAM options and support status.
Get Notified
In order to be automatically notified of new BSP releases by e-mail, you must activate notifications in the corresponding Github repository.
1. Go to the desired repository in Github (e.g. meta-tq)
2. Click on the notification button
in the top right corner. 3. Log in or create a Github account if you have not already done so.
4. Select “All activity” so that you will be notified of every new release.
Software Versions:
For the exact versions of U-Boot, Linux kernel and other components used in a BSP tag, view doc/README.SoftwareVersions.md in that tag.
tq-systems/meta-tq/blob/<git-tag>/meta-tq/doc/README.SoftwareVersions.md
Current BSP Information
U-boot
U-Boot
| Feature | |
|---|---|
| RAM configs | 2 GiB, 8GiB |
| CPU variants | AM67A94 |
| UART (console on UART0) | x |
| GPIO | x |
| I2C | x |
| System EEPROM parsing | x |
| eMMC / SD | x |
| SPI-NOR | x |
| Ethernet | Port X14 only |
| Cortex-R5F | Booted with DM firmware |
| Cortex-M4F | no |
| Boot devices | |
| eMMC | x |
| SD card | x |
| SPI-NOR | x |
| USB Mass Storage (X10) | x |
| USB DFU (X10) | x |
| USB | |
| USB Host (X10, via OTG adapter) | USB Mass Storage boot only |
| USB Device (X10) | All boot devices execpt for USB Mass Storage |
| USB Cable Detect / ID (X10) | no |
| USB switchable VBUS (X10) | no (fixed setting for boot device) |
| USB Host (X11, internal HUB) | x |
Linux
Linux
| Feature | |
|---|---|
| Suspend (deep / s2idle) | no |
| UART | |
| Console (UART0, via X7 USB / UART converter) | x |
| RS485 (MCU_UART0) | x |
| GPIO | |
| LED | x |
| Button | x |
| I2C | |
| EEPROMs | x |
| PMIC | x |
| RTC | x |
| Temperature sensor | x |
| Ethernet | |
| 2x Gigabit Ethernet | x |
| 1x Single-pair Gigabit Ethernet | x |
| WLAN/Bluetooth | |
| TI CC3351 WLAN/BT | x |
| CAN | |
| 2x CAN with CAN FD | x |
| USB | |
| USB (X10: Dual role, Cable Detect, VBUS) | x |
| USB (X11: Host ports on internal hub) | x |
| BG95 IoT module (Virtual UART on internal hub) | x |
| PWM | |
| LVDS Backlight | x |
| Fan control | x (disabled by default) |
| SPI-NOR | |
| Read with 1-4-4 SDR | x |
| Write / erase with 1-4-4 SDR | x |
| Graphics | |
| GPU | x |
| Display | |
| LVDS | x |
| DSI (X24: RasberryPi 7") | x |
| Audio | |
| Analog audio (Line-out, Line-in, Microphone) | x |
| MIPI-CSI | |
| Grayscale with Vision Components camera (X18: Sensor OV9281) | x |
| Raw Bayer with Vision Components camera (X18: Sensor IMX327) | x |
| Raw Bayer with RaspberryPi camera module (X19/X20: Sensor IMX219) | x |
SoC Security States (GP, HS-FS, HS-SE)
| State | Full Name | Description |
|---|---|---|
| GP | General Purpose | In this baseline state, the SoC lacks active hardware security mechanisms. The boot process is completely open, meaning the system loads and executes firmware without verifying cryptographic signatures or requiring authentication. |
| HS-FS | High Security – Field Securable | This is the default state in which chips are shipped from the factory. Fundamental protection mechanisms—such as securing the ROM code, specific hardware peripherals, and internal manufacturer keys—are already active, and the DMSC (Device Management and Security Controller) is locked. However, because the user has not yet programmed their own custom keys into the hardware at this stage, the system does not strictly enforce secure boot (mandatory software authentication) during startup. |
| HS-SE | High Security – Security Enforced | This represents the final, fully secured state intended for the finished end product. It is irreversibly activated once the user has programmed (blown) and enabled their own cryptographic keys within the chip. From this point forward, all security architectures are strictly enforced: internal secrets are thoroughly isolated, and the processor will only execute firmware that carries a valid cryptographic signature and can be fully authenticated. |
I2C Devices
Onboard I2C Devices
| I2C Bus - TQMa67xx | ||||||
|---|---|---|---|---|---|---|
| I2C1 | 0x1B Tempsensor in EEPROM | 0x25 PMIC | 0x48 Plug & Trust Secure Element (optional) | 0x51 RTC | 0x53 EEPROM | 0x6A Gyroscope |
| I2C Bus - MBa67xx | |||||||
|---|---|---|---|---|---|---|---|
| I2C3 | 0x0F DisplayPort bridge | 0x18 Audio Codec | 0x1C Tempsensor | 0x34 EEPROM SW Protect | 0x44 USB Hub | 0x54 Tempsensor EEPROM | 0x6A PCIe Clock generator |
Changelog
Changelog BSPs
Changelog Scarthgap.TQ.ARM.BSP.0005
Please visit Github for more information.
Changelog PRE-RELEASE
Added
- linux-tq-6.12:
- TQMa93xx: support EDAC for inline ECC
- imx-system-manager-tq:
- prepare TQMa94xxLA / MBa94xxCA
- imx-oei-tq:
- prepare TQMa94xxLA / MBa94xxCA
- linux-imx-tq-6.12:
- TQMa95xxLA / TQMa95xxSA: support thermal zones for PMIC temperature sensors
-
u-boot-imx-tq-2024.04:
- TQMa8MPxS: add support for hardware revision 030x
-
rcw: update TQMLS1028A PCIe configuration
- The default RCW was renamed from "default" to "8_5_11_14", providing SGMII, QSGMII, PCIe Gen2 and SATA
- A second RCW variant "8_5_11_11" was added, providing SGMII, QSGMII, PCIe Gen3, but no SATA
-
linux-ti-tq-6.12: update to latest ti-linux-6.12.y
-
linux-rt-tq-6.12: update to v6.12.74-rt16
-
imx-system-manager-tq: update to NXP version lf-6.18.2_1.0.0
This integrates all fixes and features from NXP release and port supported boards from TQ-Systems. Switch to use new branch TQM-lf-6.18.2
-
imx-oei-tq: update to NXP version lf-6.18.2_1.0.0
This integrates all fixes and features from NXP release and port supported boards from TQ-Systems. Switch to use new branch TQM-lf-6.18.2
-
linux-imx-tq-6.12:
- TQMa95xxLA / TQMa95xxSA: support thermal zones for PMIC temperature sensors
- integrate fixes from NXP lf-6.12.49-2.2.0
-
linux-imx-tq-6.6:
- enable CONFIG_PTP_1588_CLOCK
- integrate fixes from FSLC 6.6-2.2.x-imx
This includes fixes from linux-stable up to tag v6.6.129
-
imx-system-manager-tq: update to NXP version lf-6.12.49_2.2.0
- prepare TQMa94xxLA / MBa94xxCA
- TQMa95xxLA/TQMa95xxSA: improve debug UART support code
-
imx-oei-tq: update to NXP version lf-6.12.49_2.2.0
- prepare TQMa94xxLA / MBa94xxCA
- TQMa95xxLA/TQMa95xxSA: improve debug UART support code
-
linux-ti-tq-6.12: enable
rpmsg_ctrlkernel module -
u-boot-imx-tq-2025.04:
-
Enable U-Boot environment handling from rootfs
-
Update to NXP downstream version lf-6.12.49_2.2.0
-
prepare for TQMa94xxLA
-
TQMa95xxLA/TQMa95xxSA: simplify and implrove board support code
Use
board_phys_sdram_sizegeneric implementation underarch/arm/mach-imxand handle CPU variants with features disabled by fuses
-
-
TQMa95xxLA: FlexSPI boot support
-
-
imx-boot-tq:
-
prepare building for i.MX94
-
i.MX9[4,5]: do not build FlexSPI boot images for Octal SPI with DTR and DQS by default
Not all boards have Octal SPI assembled. Use generic but slower setup by default. If needed this can be configured per board using modified
QSPI_HEADERenvironment. -
update to use upstream version
lf-6.12.49-2.2.0
-
-
linux-imx-tq-6.12:
- enable CONFIG_PTP_1588_CLOCK
- Prepare config fragments for TQMa94xxLA / MBa94xxCA support
- TQMa95xxLA:
- FlexSPI support
- 10GiGE support
- dual LVDS example
-
linux-tq-6.6:
- enable CONFIG_PTP_1588_CLOCK
- update to 6.6.129
-
linux-rt-tq-6.6-rt: update to v6.6.129-rt70
-
linux-tq-6.12:
- enable CONFIG_PTP_1588_CLOCK
- update to v6.12.76
-
linux-ti-tq-6.12:
- TQMa62xx/TQMa67xx: fix dual-channel LVDS example Device Tree
-
linux-imx-tq-6.12: TQMa95xxLA: fix RTS / CTS pad configuration for LPUART5 / LPUART7.
UART did not work with activated hardware flow control.
-
imx-system-manager-tq:
-
TQMa95xxSA: fix DDR ranges.
The ranges shall reflect the assembled RAM size, not the addressable range of the DDR controller
-
-
u-boot-imx-tq-2025.04:
-
TQMa95xxLA: correct FlexSPI pin muxing
Muxing uses wrong pads. Thus FlexSPI could not be used.
-
- linux-ti-tq-6.6: remove recipe after all boards are updated to 6.12
- linux-tq_6.1: remove recipe after all boards are updated to 6.6 or 6.12
- linux-rt-tq_6.1: remove recipe after all boards are updated to 6.6 or 6.12
- linux-imx-tq_6.1: remove recipe after all boards are updated to 6.6