Embedded module TQMa28 - PTXdist Linux BSP documentation



Important Notes

Technical Note TQMa28-MBa28

CVE-2015-7547 --- glibc getaddrinfo() stack-based buffer overflow

BSP Version Matrix


For new projects TQ strongly recommends to use the tqma28 platform (mainline kernel).
However, if your project has requirements not yet supported by the tqma28 platform (please check »Remarks« below), the tqma28-fsl platform (freescale kernel) may be an option.


For new projects TQ strongly recommends to use the tqma28 platform (mainline kernel).
However, if your project has requirements not yet supported by the tqma28 platform (please check »Remarks« below), the tqma28-fsl platform (freescale kernel) may be an option.


U-Boot

Supported Features
Feature BSP Revision Remarks
TQ Product Chip Interface Function 100 101 102 106 109 115 117 119
TQMa28 i.MX28 CPU i.MX287, i.MX283
EMI DDR2 SDRAM
SSP0 eMMC boot device
SSP1 SD card boot device
I2C0 Bus access intended for customer use
I2C1 Bus access
I2C1 LM73
M24C64
OCOTP
AUART3 RS232 RX/TX/RTS/CTS, TTL available on X14
ENET-MAC0 10 Mbps and 100 Mbps Ethernet/IEEE 802.3
ENET-MAC1 10 Mbps and 100 Mbps Ethernet/IEEE 802.3
LM73 I2C Temperature sensor
M24C64 I2C EEPROM
MBa28 LM73 Temperature sensor

Above table primarily applies to platform tqma28, please see changelog in tab “Bootloader” for details on differences to platform tqma28-fsl


Supported Features

Feature BSP Revision Remarks
TQ Product Chip Interface Function 100 101 102 106 109 115 117 119
TQMa28 i.MX28 CPU i.MX287, i.MX283
AUART0 RS485
AUART1 RX/TX, TTL available on X14
AUART2 not available due to pin multiplexing
AUART3 RS232 RX/TX/RTS/CTS, TTL available on X14
AUART4 RX/TX/RTS/CTS, TTL available on X10
CAN0 CAN 2.0B
CAN1 CAN 2.0B
DUART RS232 RX/TX, TTL available on X14
EMI DDR2 SDRAM
ENET-MAC0 10 Mbps and 100 Mbps Ethernet/IEEE 802.3 BSP Rev. < 0106: Supports internal ethernet clock only
BSP Rev. ≥ 0106: Supports external (default) or internal ethernet clock (selectable)
[for background infos cf. Technical Note TQMa28-MBa28]
MBa28 Rev. ≥ 0106: Provides 50 MHz crystal oscillator as an external clock source for ethernet
IEEE-1588
ENET-MAC1 10 Mbps and 100 Mbps Ethernet/IEEE 802.3
IEEE-1588
HSADC see constraints
I2C0 Bus access
I2C0 Boot EEPROM (0xA0) TQMa28 Rev. ≥ 0200
I2C1 Bus access
I2C1 LM73 (0x49)
M24C64 (0x50) intended for customer use
I2C1 PCA9554D (0x20)
PCA9554D (0x21)
LM73 (0x4A)
SGTL5000
LCDIF parallel display FG0700M0DSSWMG01
LRADC 4/5-wire touch-screen
OCOTP
SAIF0 SGTL5000
SSP0 eMMC boot device
TQMa28x Rev. ≥ 0202/TQMa28L Rev. ≥ 0103 have eMMC 5.0 devices assembled which are supported with BSP Rev. ≥ 0115
A patch Linux BSP TQMaxx Rev.0109 - Fix eMMC 5.0 detection is available for BSP REV.0109
SSP1 SD card boot device
SSP2 disabled in default pin multiplexing,
SS1 & SS2 used for USB overcurrent detection
SSP3 disabled in default pin multiplexing
SWITCH 3-Port Ethernet Switch only available in platform tqma28-fsl
USB0 Host mass storage, human interface devices
OTG MBa28: Host mode only (USB_ID tied to GND)
USB1 Host mass storage, human interface devices
LM73 I2C1 Temperature sensor
M24C64 I2C1 EEPROM
MBa28 LM73 Temperature sensor
PCA9554D (0x20) GPO 8 x Output (X1)
PCA9554D (0x21) GPI 4 x Input (X1)
USERLED 2 x LED
SGTL5000 Audio Codec Audio Out
Microphone In on request

Table primarily applies to platform tqma28, please see changelog for details on differences to platform tqma28-fsl


BSP Version History

2018/12/12 - REV 0119

BSP

  • Updated MFGTools updater image to work with eMMC 5.0

U-Boot v2015.07 - TQMa28/L

  • added eMMC 5.0 support
  • rename mmc defconfig to tqma28_mba28_mmc_defconfig
  • add helper to query max enhanced partition size

Linux v3.14.19 - TQMa28/L

  • added eMMC 5.0 support

2017/07/07 - REV 0117

U-Boot v2015.07 - TQMa28/L

  • mux i2c0 pins for boot eeprom
  • support spi-flash
  • fix VDDD brownout setting
  • do not enable batt measurement on 5v only
  • fix board_init
  • select correct bus for eeprom
  • fix usb power switching
  • fix phy address for fec1

Linux v3.14.19 - TQMa28/L

  • <none>

2016/04/18 - REV 0115

  • Remove tqma28-fsl support
  • Update iec61850 library
  • Update U-Boot to 2015.07
  • Update to Kernel 3.14.19
  • Updating OSELAS Toolchain

Build tools

  • OSELAS.Toolchain 2014.12.2

U-Boot 2013.04

  • TQMa28L: default console is DUART

U-Boot 2015.07 (based on U-Boot 2013.04)

  • Fixed bitmask of GPIO bank and pin
  • Fixed PHY address assignment
  • Fixed set_dsr command argv pointer

Linux Kernel

  • Enabled LED support

2014/07/10 - REV 0109

Build tools

  • ptxdist-2013.12.0
  • OSELAS.Toolchain-2013.12.2

ptxdist 2013.12

  • TQMa28: add xenomai support
  • openssl: use 1.0.1h
  • TQMa28: minor fixes in kernelconfig

TQMa28/28L-AB/28L-AA

  • Linux version 3.14 (device tree)
    • add edtft5x06 to device tree
    • set correct audio codec clock
    • limit spi source clock
  • U-Boot 2013.04
    • add OCOTP driver
    • fix i2c speed
    • add module eeprom
    • remove network config & mac addr from default env

2014/01/13 - REV 0106

Build tools

  • ptxdist-2012.07.0
  • OSELAS.Toolchain-2011.11.x (x - 1 … 3)

ptxdist 2012.07

  • compile images into profile for Freescale MfgTool
  • added SystemCorp IEC61850 demo
  • removed TQMa53 support/patches/system files
  • add TQMa28/28L readme file
  • Upgrade stressapptest version
  • removed systemd/ptxconfigs (only TQMa53)
  • delete 28/28L TODOs
  • delete systemd ptxconfigs (only TQMa53)
  • delete amd-gpu firmware (only TQMa53)

TQMa28/28L-AB/28L-AA

  • Linux version 3.10 (device tree) (3.10-tq-arm-bsp-0105)
    • Qualified pin setup
    • USB Overcurrent Protection enabled
    • Login as non-root user allowed
    • add support for MMC SETDSR command
    • add proprietary device tree option to setup e-MMC DSR
    • remove hard-code enet_clk output enable
  • U-Boot 2013.04 (new) (2013.04-tq-arm-bsp-0105)
    • Qualified pin setup
    • Boot from 5V only
    • Support e-MMC > 2GB
    • Remove 120s pause when kernel has no network cable connected
    • Command to burn MAC-Address into OCOTP fuses (otp_mxs)
    • reorder gpio setup order
    • fixed overflow issue on MAC incrementation for ETH1
    • add support for MMC SETDSR command
    • qualified setting of e-MMC drive strength register
    • propagate setting of e-MMC DSR to kernel via device tree modification
    • made enet_clk output driver selectable
    • propagate enet_clk driver selection to kernel via device tree modification

TQMa28-fsl

  • Linux version 2.6.35 (2.6.35.14-tq-arm-bsp-0105)
    • reorder gpio setup order
    • Qualified pin setup
    • remove hard-code enet_clk output enable
    • check for command line option to enable internal enet_clk driver
    • check for command line option to set e-MMC drive strength register
  • U-Boot 2009.08 (2009.08-tq-arm-bsp-0105)
    • fix udelay duration
    • reorder gpio setup order
    • Qualified pin setup
    • enable reading FEC MAC address from fuses
    • add support for MMC SETDSR command
    • qualified setting of e-MMC drive strength register
    • propagate setting of e-MMC DSR to kernel via command line modification
    • made enet_clk output driver selectable
    • propagate enet_clk driver selection to kernel via command line modification

TQMa335x

  • Linux version 3.2
  • U-Boot 2013.07

2013/05/13 - REV 0102


Buildenvironment:

  1. ptxdist-2012.07.0
  2. OSELAS.Toolchain-2011.11.x (x - 1 … 3)

News

  1. TQMa35:
    1. Linux version 3.2.40
    2. Fixes:
      1. backport USB bugfixes
    3. Features:

- allow to build TQMa35 / MBa35 for AA and AB hardware in a single project

	  - support for TQMa35 on MBa35-CA Baseboard
  1. TQMa28:
    1. Linux version 3.5 (device tree)
    2. Fixes:

- bugfixing linux kernel

  1. TQMa28-fsl:
    1. Linux version 3.5 (device tree)
    2. Fixes:

- bugfixing linux kernel + u-boot

  1. TQMa28L (prerelease):
    1. Linux version 3.5 (device tree)
    2. U-Boot 2012.10
    3. Fixes:

- bugfixing linux kernel

2013/01/10 - REV 0101


New:

  1. ptxdist-2012.07.0
  2. OSELAS.Toolchain-2011.11.x

→ .2, .3 usable;

  -> .1 has known issue with zlib package
  1. TQMa35:
    1. Linux version 3.2.28
    2. u-Boot 2010.06
    3. Features:
      1. allow all patchlevels of toolchain
      2. switch to ptxdist 2012.07
  1. TQMa28:
    1. Linux version 3.5 (device tree)
    2. Features:
      1. switch to ptxdist 2012.07
      2. allow all patchlevels of toolchain
      3. remove unneeded gpios (gpio2_12, gpio2_13, gpio2_15, gpio3_5)
      4. AUART3
      5. MX28 RTC
      6. PWM Backlight
      7. LCDIF (FG0700, ETV570)
      8. USB (host/otg/gadget:storage,serial)
      9. MMC slotindex patch
      10. MMC (as non-removable)
      11. SD (removable)
      12. FEC0, FEC1
      13. MXS touchscreen
      14. I2C
      15. LM73 temp.sensor
      16. 24c64 eeprom
      17. Enabled module support
  1. TQMa28:
    1. U-Boot 2012.10
    2. Features:
      1. ptxdist includes imx-bootlets for 2009.08 only
      2. Use TQMa28 machine id
      3. AUART3
      4. cmd_mmc.c: print current device name on boot
      5. mxs_i2c: i2c base addr configurable
      6. LM73 temp.sensor
      7. I2C
      8. 24c64 eeprom
      9. GPIO
      10. MII
      11. MMC (as non-removable)
      12. SD (removable)
      13. FEC0, FEC1: ping/tftp/dhcp
      14. USB (storage)
      15. RTC (32768 Hz quartz)
      16. RAM speed 196 MHz
      17. Remove unneeded GPIOs
      18. don't register fec0 phy power enable (gpio2_15)
      19. fixed install script error
      20. VDDD 1.55V and BO 1.45V
  1. TQMa28:
    1. Linux version 2.35.14 + fsl
    2. u-Boot 2009.08 + fsl
    3. Features:
      1. switch to ptxdist 2012.07
      2. allow all patchlevels of toolchain
      3. RootFS size to 64 MiB
      4. increase kernel patch level to .14
      5. U-Boot: boot first image after firmware install
      6. U-Boot: Use TQMa28 machine id
      7. U-Boot: remove setup of unneeded pins (gpio2_15)
      8. U-Boot: install rootfs larger than 96MB
      9. U-Boot: (imx-bootlets) RAM speed 196 MHz
      10. U-Boot: (imx-bootlets) VDDD 1.55V and BO 1.45V
      11. U-Boot: fixed install script calc error
      12. Kernel: enable 2nd FEC
      13. Kernel: don't register mmc wp pin (gpio2_12)
      14. Kernel: don't register fec0 phy power enable (gpio2_15)
      15. Kernel: Use TQMa28 machine id
      16. Kernel: Use Freescale 5V stability patch (and more fsl patches)
      17. Kernel: Enable power on both usb ports 0 and 1
      18. Kernel: Disable CPUFREQ support (due to hangs on mainline uboot)
      19. Kernel: Re-enabled module support

2012/09/26 - REV 0100


New:

  1. ptxdist-2012.04.0
  2. OSELAS.Toolchain-2011.11.1
  1. TQMa35:
    1. Linux version 3.2.28
    2. u-Boot 2010.06
    3. Features:
      1. mx3fb display and backlight support (optional LVDS)
      2. I2C controller
      3. eSDHC0/1 controller
      4. UART support
      5. USB OtG HS Host
      6. USB HS Host (via ULPI Phy)
      7. I2C EEPROM access
      8. I2C Master
      9. I2C temperature sensor LM75 read
      10. I2C RTC (DS1339) support
      11. I2C PCA9554 IO-Expander support(MBa35 only)
      12. SPI master
      13. SPI Touchcontroller ADS7846 (MBa35 only)
      14. FEC, 10/100 Mbit/s, fullduplex
      15. SMC911x, 10/100 Mbit/s, fullduplex(MBa35 only)
      16. FlexCAN driver
  1. TQMa28:
    1. Linux version 2.35.13 + fsl
    2. u-Boot 2009.08 + fsl
    3. Features:
      1. display and backlight support
      2. I2C controller
      3. SD-Card / eMMC
      4. UART / DUART support
      5. USB Host / USB OTG Host
      6. I2C EEPROM access
      7. I2C temperature sensor LM75 read
      8. RTC support
      9. I2C PCA9554 IO-Expander support(MBa28 only)
      10. SPI master
      11. MXS Touchcontroller
      12. Ethernet
      13. CAN driver


  • Last modified: 2022/08/04 15:02