Third-Party Add-Ons

I2C Device Overview

TQMa7x / MBa7x REV.02xx

I2C bus TQMa7x
I2C1 0x08
PMIC
0x1e
SE97BTP (tempsensor)
0x50
EEPROM
0x68
RTC
0x56
SE97BTP (eeprom)
0x36
SE97BTP
I2C bus MBa7x
I2C1 0x49
LM75A
I2C2 0x18
Audiocodec
0x2D
HSIC HUB
0x20
I2C GPIO expander
0x6A Clock generator

TQMa7x / MBa7x REV.01xx

I2C bus TQMa7x
I2C1 0x08
PMIC
0x48
LM75A
0x50
EEPROM
0x68
RTC
I2C bus MBa7x
I2C1 0x49
LM75A
I2C2 0x18
Audiocodec
0x2D
HSIC HUB
0x20
I2C GPIO expander
0x6A Clock generator

U-Boot

Supported Features
Buildsystem BSP Revision
PTXdist
Yocto
TQ Product Chip Interface Function 0101 0105 0108 0111
TQMa7x i.MX7 Ethernet 2x RGMII (10/100/1000 Mbit/s)
TQMa7x i.MX7 Fuses
TQMa7x i.MX7 GPIO custom config on request
TQMa7x i.MX7 I²C EEPROM, Temperature Sensors, RTC
TQMa7x i.MX7 qSPI QSPI SPI NOR Flash
TQMa7x i.MX7 UART6 RS232 default console
TQMa7x i.MX7 USB USB Storage Device
TQMa7x i.MX7 uSDHC eMMC / SD-Card SD card / eMMC

U-Boot

Supported boot devices
Boot device BSP Revision Remarks
0101 0105 0108 0111
eMMC
SD
QSPI NOR-Flash

Linux

Supported Features
Buildsystem BSP Revision
PTXdist
Yocto
TQ Product Chip Interface Function Pre-Release 0101
only tested with MBa7x REV.0200
0105
only tested with MBa7x REV.0200
0108 0111
TQMa7x i.MX7 ADC1 Touch Interface not tested
i.MX7 ADC2 tested with IIO device
i.MX7 CSI Parallel CSI on request
i.MX7 eCSPI1 exported as spidev
i.MX7 eCSPI2 exported as spidev
i.MX7 EIM Bus access no device on MBa7x
on request
i.MX7 ENET1 RGMII
(10/100/1000 Mbit/s)
incompatible with MBa7x Rev.010x
i.MX7 ENET2 RGMII
(10/100/1000 Mbit/s)
incompatible with MBa7x Rev.010x
i.MX7 EPDC conflicts with QSPI NOR
no device on MBa7x
i.MX7 FLEXCAN1 CAN 2.0B
i.MX7 FLEXCAN2 CAN 2.0B
i.MX7 FLEXTIMER not tested
i.MX7 GPMI no device on TQMa7x / MBa7x
check pin multiplexing if needed on custom baseboard
i.MX7 I2C1 I2C devices see supported onboard I2C devices
i.MX7 I2C2 I2C devices see supported onboard I2C devices
i.MX7 JTAG not tested
i.MX7 KPP not tested
i.MX7 LCD1 Parallel LCD LVDS and LCD1 are mutually exclusive
special devicetree needed
i.MX7 MIPI CSI no device on MBa7x
i.MX7 MIPI DSI no device on MBa7x
i.MX7 MQS no device on MBa7X
i.MX7 PCIe Host controller Tested with Realtek NIC
only available on i.MX7 Dual
only supported on NXP Linux kernel
i.MX7 PWM1 PWM controller special devicetree needed for backlight
i.MX7 QSPI Bus access
Memory access
i.MX7 SAI1 TLV320AIC3204
i.MX7 SIM Tested with NXP Test application
i.MX7 TAMPER not tested
i.MX7 TEMPMON Temperature read
i.MX7 UART3 TTL available on X25
i.MX7 UART4 TTL available on X24
i.MX7 UART5 TTL available on X25
i.MX7 UART6 RS232 Default Console
i.MX7 UART7 RS485
i.MX7 USB_Host USB4604 requires BSP REV ≥ 0105 for TQMa7S
i.MX7 USB_OTG1 Host requires BSP REV ≥ 0105 for TQMa7S
i.MX7 USB_OTG1 OTG Tested with serial downloader mode
requires BSP REV ≥ 0105 for TQMa7S
i.MX7 USB_OTG2 Host only available on i.MX7 Dual
i.MX7 USB_OTG2 OTG only available on i.MX7 Dual
i.MX7 uSDHC uSDHC1 SD Card
uSDHC3 eMMC
HS200 / HS400 Mode for uSDHC3

HS MODE for SD Card on uSDHC1 needs switchable supply voltage, not available on MBA7x
i.MX7 WDOG1 Necessary changes for MBa7x Rev.0100
MBa7x PCA9555 I2C port expander
PCA9555 I2C Port Expander Buzzer
PCA9555 I2C Port Expander 4x GPIO
PCA9555 I2C Port Expander 3x GPIO Key not usable as wakeup source
PCA9555 I2C Port Expander 2x LED
Smart Card SIM Tested with NXP test application
SNVS Reset Reset, PMIC-
Reset, Power-
down, Wake-Up
SN75LVDS83B LVDS LVDS and LCD1 are mutually exclusive
special devicetree needed
TLV320AIC3204 Headphone Out/
Line Out
selectable by using solder straps on MBa7x
Line In noisy audio record with default settings
Microphone In TBD
USB4604 USB1 Host requires BSP REV ≥ 0105 for TQMa7S
USB4604 USB2 Host requires BSP REV ≥ 0105 for TQMa7S
USB4604 USB3 Host requires BSP REV ≥ 0105 for TQMa7S
USB4604 USB4 Host requires BSP REV ≥ 0105 for TQMa7S

BSP Version History

TQMa7x.BSP.SW.0108

TQMa7x.BSP.SW.0105

TQMa7x-BSP

  • QSPI Boot Support
  • poor mans splash screen
  • improved Display Support (DMB, Glyn)
  • new verison for eGTouchD
  • new version for fbtest
  • fix / add license naming in rule files
  • new version for e2fsutils
  • slim Qt5 enable config to enable QSPI rootfs
  • fix audio out quality
  • enable hwrngd

Linux

  • improve kernel config
  • QSPI RootFS support
  • device tree split for HW rev 0100 / 0200
  • device tree split for TQMa7S / TQMa7D
  • improved Display Support (glyn, dmb)
  • improved support for FocalTech FT50x touch controller
  • improved QSPI support (1-1-4 command set)
  • improved MMC support (backport sysfs entries fro OCR, DSR)

U-Boot

  • QSPI Boot support
  • QSPI boot environment settings
  • UBI support
  • MTD partitioning
  • automatic device tree name calculation if no devicetree name in env
  • rely on device Tree for TQMa7S / TQMa7D instead of device tree patching
  • Hardware revision detection
  • support for TQMa7x Revision 0100 / 0200
  • enable USB support for HSIC phy

TQMa7x.BSP.SW.0101

Build BSP

Configure the BSP for the desired hardware platform and software configuration using the correpsonding command from the following table:

Platform Configuration Command
MBa7x linux/mainline ¦ busybox init ¦ Qt5 tools/config-mba7x
linux/mainline ¦ busybox init tools/config-mba7x.tiny
linux/mainline ¦ systemd init tools/config-mba7x.sd
MBa7x-FSL linux-imx/NXP ¦ busybox init ¦ Qt5 tools/config-mba7x-fsl
linux-imx/NXP ¦ busybox init tools/config-mba7x-fsl.tiny
linux-imx/NXP ¦ systemd init tools/config-mba7x-fsl.sd

Building the BSP:

Execute in the BSP root directory

$ ./tools/config-mba7x
$ ./p images

or

$ ptxdist platform configs/platform-tq-tqma7x/mba7x/platformconfig
$ ptxdist select configs/platform-tq-tqma7x/ptxconfig.qt
$ ptxdist go --git
$ ptxdist images

SD / eMMC Image

  • sector size 512 Byte
  • unpartitioned area: 4MiB (0x2000 sectors)

Sector numbers are in hexadecimal (as expected by U-Boot's mmc command), size is given in hex (=number of sectors) and dezimal (= size in byte).

Sector first Sector last Size Usage
0x000000 0x000000 0x0001 sector / 512 Byte MBR / Partition Table
0x000001 0x000001 0x0001 sector / 512 Byte free
0x000002 0x0007FF 0x07FE sectors / 1023 KiB u-boot
0x000800 0x000FFF 0x0800 sectors / 1 MiB u-boot environment
0x001000 0x001FFF 0x1000 sectors / 2 MiB free
0x002000 0x00BFFF 0xA000 sectors / 20 MiB boot / firmware (Kernel, devicetrees)
0x00C000 0x08BFFF 0x80000 sectors / 256 MiB root
0x08C000 0x10BFFF 0x80000 sectors / 256 MiB spare, unformatted

Build results

Finally, you will find the built images in platform-<platformname>/images.

All images are intended for the usage on a STKa7x.

platform-tq-mba7x

Complete system images

  • uboot-512mb-mba7x-hd.img: bootable image for TQMa7x with 512MB RAM on MBa7x (usage on SD Card and eMMC)
  • uboot-1gb-mba7x-hd.img: bootable image for TQMa7x on MBa7x with 1GB RAM (usage on SD Card and eMMC)
  • uboot-2gb-mba7x-hd.img: bootable image for TQMa7x on MBa7x with 2GB RAM (usage on SD Card and eMMC)

The complete system image is intended for:

  • development system initialisation
  • deployment

QSPI NOR images without rootfs

  • uboot-imx-512mb-mba7x-qspi.img: bootable image for TQMa7x with 512MB RAM on MBa7x (usage on QSPI NOR, without rootfs)
  • uboot-imx-1gb-mba7x-qspi.img: bootable image for TQMa7x on MBa7x with 1GB RAM (usage on QSPI NOR, without rootfs)
  • uboot-imx-2gb-mba7x-qspi.img: bootable image for TQMa7x on MBa7x with 2GB RAM (usage on QSPI NOR, without rootfs)

Bootloader images

  • u-boot-fsl-512mb-mba7-mmc.imx: u-boot bootloader for TQMa7x on MBa7x (usage on SD Card and eMMC)
  • u-boot-fsl-1gb-mba7-mmc.imx: u-boot bootloader for TQMa7x on MBa7x (usage on SD Card and eMMC)
  • u-boot-fsl-2gb-mba7-mmc.imx: u-boot bootloader for TQMa7x on MBa7x (usage on SD Card and eMMC)
  • u-boot-fsl-512mb-mba7-qspi.imx: u-boot bootloader for TQMa7x on MBa7x (usage on QSPI NOR)
  • u-boot-fsl-1gb-mba7-qspi.imx: u-boot bootloader for TQMa7x on MBa7x (usage on QSPI NOR)
  • u-boot-fsl-2gb-mba7-qspi.imx: u-boot bootloader for TQMa7x on MBa7x (usage on QSPI NOR)

Linux images

  • linuximage: Kernel (zImage)
  • linuximage-rt: Kernel with realtime patches
  • imx7d-mba7.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-dmb-ct21.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-dmb-ct44.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-glyn-etm0700g0edh6.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-lvds.dtb: device tree blob for TQMa7D on MBa7x
  • imx7s-mba7.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-dmb-ct21.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-dmb-ct44.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-glyn-etm0700g0edh6.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-lvds.dtb: device tree blob for TQMa7S on MBa7x

Rootfs images

  • root.tgz: Root file system archive (for NFS etc.)
  • root.ext2: Root file system partition image (for system update)
  • root.ubi: ubi partition for QSPI NOR
  • root.ubifs: ubifs image for QSPI NOR

Firmware images

  • firmware.img: firmware image contains all devicetree blobs and linux kernel image
  • firmware.tgz: firmware image archive (for firmware image creation)

platform-tq-mba7x-fsl

Complete system image

  • uboot-512mb-mba7x-hd.img: bootable image for TQMa7x with 512MB RAM on MBa7x (usage on SD Card and eMMC)
  • uboot-1gb-mba7x-hd.img: bootable image for TQMa7x on MBa7x with 1GB RAM (usage on SD Card and eMMC)
  • uboot-2gb-mba7x-hd.img: bootable image for TQMa7x on MBa7x with 2GB RAM (usage on SD Card and eMMC)

The complete system image is intended for:

  • development system initialisation
  • deployment

QSPI NOR images without rootfs

  • uboot-imx-512mb-mba7x-qspi.img: bootable image for TQMa7x with 512MB RAM on MBa7x (usage on QSPI NOR, without rootfs)
  • uboot-imx-1gb-mba7x-qspi.img: bootable image for TQMa7x on MBa7x with 1GB RAM (usage on QSPI NOR, without rootfs)
  • uboot-imx-2gb-mba7x-qspi.img: bootable image for TQMa7x on MBa7x with 2GB RAM (usage on QSPI NOR, without rootfs)

Bootloader image

  • u-boot-fsl-512mb-mba7-mmc.imx: u-boot bootloader for TQMa7x on MBa7x (usage on SD Card and eMMC)
  • u-boot-fsl-1gb-mba7-mmc.imx: u-boot bootloader for TQMa7x on MBa7x (usage on SD Card and eMMC)
  • u-boot-fsl-2gb-mba7-mmc.imx: u-boot bootloader for TQMa7x on MBa7x (usage on SD Card and eMMC)
  • u-boot-fsl-512mb-mba7-qspi.imx: u-boot bootloader for TQMa7x on MBa7x (usage on QSPI NOR)
  • u-boot-fsl-1gb-mba7-qspi.imx: u-boot bootloader for TQMa7x on MBa7x (usage on QSPI NOR)
  • u-boot-fsl-2gb-mba7-qspi.imx: u-boot bootloader for TQMa7x on MBa7x (usage on QSPI NOR)

Linux images

  • linuximage: Kernel (zImage)
  • imx7d-mba7.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-dmb-ct21.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-dmb-ct44.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-glyn-etm0700g0edh6.dtb: device tree blob for TQMa7D on MBa7x
  • imx7d-mba7-lvds.dtb: device tree blob for TQMa7D on MBa7x
  • imx7s-mba7.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-dmb-ct21.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-dmb-ct44.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-glyn-etm0700g0edh6.dtb: device tree blob for TQMa7S on MBa7x
  • imx7s-mba7-lvds.dtb: device tree blob for TQMa7S on MBa7x

Rootfs images

  • root.tgz: Root file system archive (for NFS etc.)
  • root.ext2: Root file system partition image (for system update)
  • root.ubi: ubi partition for QSPI NOR
  • root.ubifs: ubifs image for QSPI NOR

Firmware images

  • firmware.img: firmware image contains all devicetree blobs and linux kernel image
  • firmware.tgz: firmware image archive (for firmware image creation)

TQ Board Support Packages

The Board Support Packages (BSPs) usually provide source code as well as precompiled images for one or more platforms.
Please see the version matrix for details on each revision of the BSP.


TQMa7x BSP Rev.0108☚ current revision
MD5SUM: 9EDFADEB4ABF4F733BC47036D2E6C8DF

TQMa7x BSP Rev.0105
MD5SUM: 6DC026845B1EB9327A2D3D12697FEACA

TQMa7x BSP Rev.0101
MD5SUM: F13ABC313B828F75412EE9011FCA44BB

Build System / Toolchains

PTXdist version XXXX.YY.0 is required to compile an OSELAS Toolchain XXXX.YY.Z.
The version of PTXdist and toolchain required to build a given BSP revision is shown in the version matrix.


Build System PTXdist 2019.01

Build System PTXdist 2018.12

Build System PTXdist 2016.04

Build System PTXdist 2014.12

OSELAS Toolchain 2014.12.2

OSELAS Toolchain 2018.12.0

PTXdist projects for compiling OSELAS toolchains

MMC device assignment
mmcdev 0 = eMMC
mmcdev 1 = SD Card

BSP Version Matrix

BSP Revision meta-tq release Yocto Project / Poky Release Target machine1) U-Boot Linux Kernel
0105 pyro 2.3.3 - Pyro tqma7x-mba7 2016.03 (NXP imx-rel_imx_4.1.15_2.0.0_ga) rel_imx_4.1.15_2.0.0
0108 warrior 2.7 -Warrior tqma7x-512mb-mba7
tqma7x-1gb-mba7
tqma7x-2gb-mba7
2016.03 (NXP imx-rel_imx_4.1.15_2.0.0_ga) NXP 4.14.78 rel_imx_4.14.78_1.0.0_ga
0111 zeus 3.0.3 - Zeus tqma7x-512mb-mba7
tqma7x-1gb-mba7
tqma7x-2gb-mba7
2016.03 (NXP imx-rel_imx_4.1.15_2.0.0_ga) v2019.04-lf-5.4.y-1.0.0
5.4.23
5.4.23 + rt23

BSP Version History

Rev.0111

BSP

  • Update to Linux Mainline 5.4 ( rt patches available)
  • Update to NXP v2019.04-lf-5.4.y-1.0.0
  • Fixed a resource allocation issue in the TLV320AIC32x4 audio codec driver that could lead to warnings and lockups during boot or shutdown
  • Fixed incorrect clock setup in the TLV320AIC32x4 audio codec driver causing too slow or too fast playback and recording after a soft reboot

Linux

  • The kernel configuration was changed to use the better supported mainline graphics stack
  • Fixed a QSPI driver bug causing frequent corruptions of filesystems on SPI-NOR flash
  • Enabled cpufreq driver in kernel defconfig

Rev.0108

BSP

U-Boot

Linux

Rev.0105

  • initial BSP Release

Supported features


Supported boot devices


1)
i.e. value for MACHINE variable