Third-Party Add-Ons

TQMa57xx /MBa57xx

I2C bus TQMa57xx
I2C1 0x12
PMIC DVS
0x1F
Tempsensor
SE97BTP
0x37
EEPROM SW-Protect
0x58
PMIC
Power Registers
0x59
PMIC
Interface and auxiliaries
0x5A
PMIC
Trimming and test
0x5B
PMIC
OTP
0x54
EEPROM
0x57
EEPROM
SE97BTP
0x5C
EEPROM
0x68
RTC DS1339
I2C bus MBa57xx
I2C4 0x18
Audio Codec
0x20
PCA9555
0x21
PCA9554
0x2D
USB Hub
0x41
Touchcontroller

Supported features

U-Boot

Supported features
Feature BSP Revision Remarks
TQ Product Chip Interface Function Prerelease
0006
0007 0008 0009 0012 0013 0015
TQMa57xx AM57xx GMAC0 RGMII
TQMa57xx AM57xx I²C1 Bus access
TQMa57xx AM57xx I²C4 Bus access
TQMa57xx AM57xx qSPI QSPI SPI NOR Flash
TQMa57xx AM57xx UART3 RS232 default console
TQMa57xx AM57xx USB2 USB Storage Device
TQMa57xx AM57xx USB3 USB Storage Device
TQMa57xx AM57xx MMC1 eMMC
TQMa57xx AM57xx MMC2 SD-Card
TQMa57xx AM57xx JTAG Debug
TQMa57xx AM57xx USB 2.0 USB HUB
TQMa57xx AM57xx USB 3.0 HOST 1

Supported Boot Devices

Boot device supported
eMMC
SD Card
QSPI NOR (optional)

Linux

Supported Features
TQ Product Chip Interface Function Pre-release 0006 0007 0008 0009 0012 0013 0015 Remarks
TQMa57xx AM57xx DCAN1 CAN0
AM57xx DCAN2 CAN1
AM57xx DEBUG JTAG tested with XDS200 USB Debug Probe
AM57xx Display HDMI
AM57xx Display LVDS tested with Tianma TM070JVHG33-01
AM57xx Display parallel
Display
tested with the following displays:
DMB S070SWV29HG-DC44
GLYN ETM0700G0EDH6
AM57xx GMAC0 RGMII
AM57xx GMAC1 RGMII
AM57xx I2C1 I2C devices See onboard I2C devices
AM57xx I2C4 I2C devices See onboard I2C devices
AM57xx I2S Audio
AM57xx GPIO
AM57xx MMC1 SD Card
AM57xx MMC2 eMMC
AM57xx MMC4 SDIO SDIO 4 Bit Interface
AM57xx PCIe PCIe Lane 0 PCIe
AM57xx PCIe PCIe Lane 1 mPCIe
AM57xx PRUSS1 PRU_ETH0
AM57xx PRUSS2 PRU_ETH1
AM57xx QSPI QSPI NOR optional placement option
AM57xx SATA Serial ATA Revision 3.0
AM57xx UART3 RS232 Default console
AM57xx UART10 RS485
AM57xx USB2 OTG MBa57xx REV.0202 required
AM57xx USB3 Host
USB Hub TUSB8041
MBa57xx TUSB8041 USB3.0 Host 1
TUSB8041 USB3.0 Host 2
TUSB8041 USB3.0 Host 3
TUSB8041 USB3.0 USB4604
USB4604 USB2.0 Host 1 Available over X55
USB4604 USB2.0 Host 2 Available over X56
USB4604 USB2.0 USB SATA Available over X26
USB4604 USB2.0 USB PCIe Available over X29

Target Machine: tqma57xx-mba57xx

System Images

Boot Device Symlink File
SD Card/eMMC tq-image-generic-tqma57xx-mba57xx.wic tq-image-generic-tqma57xx-mba57xx-<build_timestamp>.rootfs.wic

Bootloader Binaries

Boot Device Symlink File
SD/eMMC u-boot-tqma57xx-mba57xx.img u-boot-sd-2019.04-r0.img

Linux Kernel Image

Symlink File
zImage zImage–5.4.43-r0-tqma57xx-mba57xx-<build_timestamp>.bin

Devicetree Blobs

Symlink Description
am571x-mba57xx.dtb Default
am571x-mba57xx-tianma-tm070jvhg33.dtb device tree with activated LVDS channel and TM070JVHG33 display timing
am571x-mba57xx-edt-etm0700g0edh6.dtb device tree with activated parallel display channel and etm0700g0edh6 display timing
am571x-mba57xx-cdtech-dc44.dtb custom Devicetree

Rootfs images

Symlink File
tq-image-generic-tqma57xx-mba57xx.tar.xz tq-image-generic-tqma57xx-mba57xx-<build_timestamp>.rootfs.tar.xz

BSP Version Matrix

BSP Revision meta-tq release Yocto Project / Poky Release Target machine1) U-Boot Linux Kernel
0015 kirkstone.TQMa57xx.BSP.SW.0015 4.0.16 - Kirkstone tqma57xx-mba57xx
tqma57xx-ecc-mba57xx
2019.04 ti-rt-linux-5.10.y
0013 zeus.TQMa57xx.BSP.SW.0013 3.0.3 - Zeus tqma57xx-mba57xx
tqma57xx-ecc-mba57xx
2019.04 TI-linux-5.4.y-07.00.00.005-rt
0012 zeus.TQMa57xx.BSP.SW.0012 3.0.3 - Zeus tqma57xx-mba57xx
tqma57xx-ecc-mba57xx
2019.04 TI-linux-5.4.y-07.00.00.005-rt
0009 warrior.TQMa57xx.BSP.SW.0009 2.7.1 - Warrior tqma57xx-mba57xx
tqma57xx-ecc-mba57xx
2019.04 v4.19.94-rt39-ti
0008 warrior.TQMa57xx.BSP.SW.0008 2.7.1 - Warrior tqma57xx-mba57xx
tqma574x-ecc-mba57xx
2019.04 4.9.77
0007 rocko.TQMa57xx.BSP.SW.0007 2.4.4 - Rocko tqma571x-mba57xx
tqma572x-mba57xx
tqma574x-mba57xx
2018.01 4.9.77
0006 morty.TQMa57xx.BSP.SW.0006 2.2.1 - Morty tqma571x-mba57xx
tqma572x-mba57xx
2018.01 4.9.77

BSP Version History

0015

U-Boot

  • Make the run netboot command work
  • Do not attempt to load the environment from devices other than the boot source
  • Fix the SPI-NOR partition list

Linux

  • Fix display brightness
  • Add missing input function for errata i863
  • Add SPI test device

0013

U-Boot

  • Add missing input function for errata i863

Linux

  • Fix display brightness
  • Add missing input function for errata i863
  • Add SPI test device

0012

BSP

  • Update to TI Linux 5.4 (tagged 07.00.00.05-rt)
  • Added PCI to MACHINE_FEATURES

U-Boot

  • Renamed extraversion
  • Patched fatfs support
  • Update U-Boot on vfat partition
  • Implement errata i863 workaround: mmc2 no pullups
  • Update to set PRU MAC from EEPROM

Linux

  • Enable USB2 OTG mode on MBa57xx
  • Implement errata i863 workaround: mmc2 no pullups

0009

  • Update to TI 2019.06 (based on 4.19+rt)
  • Update u-boot to unify tqma57xx variant configurations
  • rename MACHINE tqma574x-ecc-mba57xx to tqma57xx-ecc-mba57xx.conf

0008

  • Update to Yocto Warrior
  • Renamed kernelimage in firmware partition
  • Update linux-ti to branch TQMa57xx-TI-linux-v4.9
  • Simplifyed machine definitions
  • Update U-Boot version to 2019.04

0007

  • Update to Yocto Rocko
  • Added support for TQMa5748

0006

  • initial BSP release

Device assignment

Device assignment:
mmcdev 0 = SD Card
mmcdev 1 = eMMC

RS485

RS485 bus block in half-duplex mode
Affects RS485 via UARTx on MBa57xx Revsion 01xx
Issue During AM57xx reset the UARTx.CTS# pin is low by default (CPU internal pull down)
Effect Using the AM57xx RS485 circuitry in a half-duplex slave device or half-duplex multi-master environment may block the RS485 bus during AM57xx reset.
The bus is released as soon as the UARTx.CTS# pin is properly configured by software (e.g. U-Boot, Linux, etc.)
Solution / Workaround Add a 10k pull up to the UARTx.CTS# signal on carrier board
This behaviour will be fixed with MBa57xx REV.02xx

Yocto specific command Update eMMC

1. Run the following commands in the Uboot shell to create update script:

 
setenv root_loop 'setenv start 12001 && setenv r1 $rootblks16 && while itest $r1 -gt 0; do if itest $r1 -gt 0x100000; then setenv count 0x100000; else setenv count $r1; fi && mmc dev 0 && mmc read $loadaddr $start $count && mmc dev 1 && mmc write $loadaddr $start $count && setexpr start $start + $count && setexpr r1 $r1 - $count; done; setenv r1; setenv start; setenv count'
 
setenv  install_firmware 'echo MBR... && mmc dev 0 && mmc read $loadaddr 0 1 && mmc dev 1 && mmc write $loadaddr 0 1 && echo U-Boot... && mmc dev 0 && mmc read $loadaddr 2 7FE && mmc dev 1 && mmc write $loadaddr 2 7FE && echo U-Boot environment... && mmc dev 0 && mmc read $loadaddr 801 800 && mmc dev 1 &&mmc write $loadaddr 801 800 && echo reserved... && mmc dev 0 && mmc read $loadaddr 1001 1000 && mmc dev 1 &&mmc write $loadaddr 1001 1000 && echo Firmware Partition... && mmc dev 0 && mmc read $loadaddr 2001 10000 && mmc dev 1 && mmc write $loadaddr 2001 10000 && echo Root FS... && run root_loop'
  • create the environment variable rootblks16 and set the value accordingly to the size of the RootFS in this case 307MB.

To calculate the value of rootblks16 devide the size of the image in byte by 512 and convert the result into a hex value.

307 * 1024 * 1024 = 321912832
321912832 / 512 = 628736
628736 = 99800HEX

setenv rootblks16 0x99800

uboot command to start netboot

=> run netboot



1)
i.e. value for MACHINE variable
  • Last modified: 2022/08/04 15:02