Embedded module TQMa6ULx - PTXdist Linux BSP documentation


The following instructions have been tested with Ubuntu 18.04 (64 bit) in a VMWare virtual machine.

This page refers to the BSP and ancillary tools listed in the following table:

BSP Revision 0115
PTXdist 2020.01
OSELAS Toolchain 2019.09.1
Platform mba6ulx
U-Boot 2016.03 rel_imx_4.1.15_2.0.0_ga
Linux Kernel 5.4.87 + patches
linux 5.4.87 + rt48

Show details for previous revisions of the BSP

BSP Version Matrix

BSP Revision PTXdist OSELAS Toolchain Platform U-Boot Linux Kernel Qt Version
0116 2020.01.0 2019.09.1 MBa6ULx
MBa6ULxL
2016.03 + rel_imx_4.1.15_2.0.0_ga + patches 5.15.27 + patches
linux 5.15.27 + rt35
5.12.6
0115 2020.01.0 2019.09.1 MBa6ULx
MBa6ULxL
2016.03 + rel_imx_4.1.15_2.0.0_ga + patches 5.4.87 + patches
linux 5.4.87 + rt48
5.12.6
0110 2019.01 2018.12.0 MBa6ULx
MBa6ULxL
2016.03 + rel_imx_4.1.15_2.0.0_ga + patches 4.14.78 + rel_imx_4.14.78_1.0.0_ga + patches 5.6.3
0107 2019.01 2018.02.0 MBa6ULx
MBa6ULxL
2016.03 + rel_imx_4.1.15_2.0.0_ga + patches 4.14.78 + rel_imx_4.14.78_1.0.0_ga + patches 5.6.3
0106 2016.04 2014.12.2 MBa6ULx 2016.03 + rel_imx_4.1.15_2.0.0_ga + patches 4.1.15 + rel_imx_4.1.15_1.2.0_ga + patches 5.6.2
0104 2016.04 2014.12.2 MBa6ULx 2016.03 + rel_imx_4.1.15_2.0.0_ga + patches 4.1.15 + rel_imx_4.1.15_1.2.0_ga + patches 5.6.2
0100 2016.04 2014.12.2 MBa6ULx 2015.04 + rel_imx_4.1.15_1.2.0_ga + patches 4.1.15 + rel_imx_4.1.15_1.2.0_ga + patches 4.8.7

BSP / Hardware compatibility

^ ^ TQMa6ULx |^ TQMa6ULxL |^

Rev. 010x Rev. 030x Rev. 010x Rev. 020x
BSP Rev. 0100
BSP Rev. 01xx

===== PTXdist Changelog =====

BSP Version History

REV.0115

BSP

  • Activate SYSTEMD_NETWORK for systemd configs
  • Update 5.4 mainline kernel to 5.4.87-rt48
  • Update 5.4 mainline kernel to 5.4.87
  • Remove patches from u-boot imx 2016.03 and mainline 2017.11
  • Remove patches from kernel 4.19 and u-boot 2019.04
  • Remove tqma57xx config
  • Add systemd ethernet config for eth0 and eth1

U-Boot

  • Load tq u-boot from TQ-Systems github repo

Linux

  • kernel[-rt]: update to prevent eth0 link up/down problem on tqma6ul[l]2[l]

REV.0110

TQMa6ULx-BSP

  • Updated OSELAS Toolchain to 2018.12

U-Boot

  • Added support for 512MB RAM variants of TQMa6UL\[L\]x REV.030x
  • Typo fixes in output / banner / warnings
  • Add warning for CPU / config mismatch

REV.0107

TQMa6ULx-BSP

  • Added platform MBa6ULxL
  • Updated Build system to PTXdist 2019.01
  • Updated OSELAS Toolchain to 2018.02

U-Boot

  • added several bugfixes
  • fixed fdt_file environment variable definition
  • set default i2c dev to 3 (MBa6ulxl)
  • fixed typo in header include guard
  • fix build without CONFIG_DM_SPI_FLASH and CONFIG_SPI_FLASH
  • Added platform MBa6ULxL

Linux

  • Update kernel version to NXP 4.14.78
  • Set USB1 OTG dr_mode to otg
  • QSPI NOR flash uses 4byte opcodes
  • Changed default LVDS display to Tianma TM070JVHG33
  • add cpu cooling levels
  • fixed RS485 support
  • Added platform MBa6ULxL
    • display: use 24 LCD data pins
    • set USB1 OTG dr_mode to otg

REV.0106

TQMa6ULx-BSP

  • Support / fixes for TQMa6ULx with automotive grade CPU
  • e-MMC Timing fix for TQMa6ULx / TQMa6ULxL (low temperature improvement / limit clock speed)
  • Update DRAM calibration values for TQMa6ULL
  • update patches for TQMa6UL / TQMa6LL e-MMC clocking fix
  • update u-boot-imx for TQMa6ULL and TQMa6UL automotive support

U-Boot

  • fix output of i.MX6UL(L) speed grade with 696 MHz
  • added TQMa6ULL1 support

Linux

  • rewrite e-MMC clocking and tuning
  • apply e-MMC clocking changes also for LGA module

REV.0104

TQMa6ULx-BSP

  • Bugfixes in upstream packages
  • Splash if fbdev found
  • system images for QSPI
  • UBI image creation for QSPI
  • Change image names (mba6ul → mba6ulx, tqma6ul → tqma6ulx)

U-Boot

  • Support TQMa6ULx 030x / TQMa6ULxL 020x on MBa6ULx 020x
  • Dynamic default if no devicetree set
  • Optimize defconfigs
  • UBI boot support
  • Simplify env scripts
  • Optimize qspi clock
  • Optimize RAM timing
  • Update base version from NXP

Linux

  • Backport mmc sysfs fixes for OCR / DSR
  • Optimize / cleanup e-MMC / SD config
  • Improve QSPI support / Backport jedec detect for QSPI
  • Allow 4-Byte address command set for QSPI
  • MTD Partitions for MBa6UL
  • Backport fixes for EDT Touch
  • Rewrite devicetree to reuse fragments for display / TQMa6ULxL etc.
  • Support more display variants
  • Update base version from NXP

PTXdist version 2019.09.0 is required to build the OSELAS.Toolchain-2019.09.1. This version may differ from the PTXdist version required to build the BSP itself. Ubuntu 18.04 is required for the toolchain.

The BSP is available as a project ready to use with the PTXdist1) build system. As PTXdist runs on linux, first of all you need a development workstation (or a virtual machine) with a (preferably) recent Linux distribution installed. The distribution of your choice, however, may not have installed all required packages by default. Commonly missing packages (package names taken from Debian based systems) include:

  • autoconf
  • bc
  • bison
  • build-essential
  • dialog
  • flex
  • g++
  • gawk
  • gettext
  • git
  • libncurses5-dev
  • libxml-parser-perl
  • python-dev
  • quilt
  • texinfo
  • zip
  • socat
  • pkg-config

Although not required by PTXdist, we also recommend to configure and run a tftp server (for image download / update) and an nfs server (for network mounted rootfs) on your development host.

It is recommended to first install PTXdist 2019.09 in order to build the toolchain (see note above).
Once the toolchain is compiled, install PTXdist 2020.01 is required to build the BSP.
You can always use a specific version of PTXdist by explicitly calling ptxdist-<version>.
Example:
$ ptxdist-2020.01

Please note:
The link /usr/local/bin/ptxdist always calls the PTXdists version installed most recently.

Starting with PTXdist 2014.07, ptxdist calls a script which tries to automatically determine and call
the required version by parsing the config files in the project directory.

Make sure the development host meets the prerequisites and download the required PTXdist tarball(s) (see Downloads page for URLs).

Extract the tarball ptxdist-2019.09.1.tar.bz2 and install as follows:

$ tar xvf ptxdist-2019.09.1.tar.bz2
$ cd ptxdist-2019.09.1
$ ./configure
$ make
$ sudo make install

This will install PTXdist to /usr/local/lib by default.

PTXdist configuration

After installing PTXdist it can be configured by:

$ ptxdist setup 
 .config - PTXdist 2020.01
 ──────────────────────────────────────────────────────────────────────────────
  ┌─────────────────────────── PTXdist 2020.01 ───────────────────────────┐
  │  Arrow keys navigate the menu.  <Enter> selects submenus --->.          │  
  │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, │  
  │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> │  
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       │  
  │ ┌─────────────────────────────────────────────────────────────────────┐ │  
  │ │    --- PTXDIST Setup Menu                                           │ │  
  │ │        User                --->                                     │ │  
  │ │        Proxies             --->                                     │ │  
  │ │        Project Searchpath  --->                                     │ │  
  │ │        Source Directories  --->                                     │ │  
  │ │        Source Download     --->                                     │ │  
  │ │        IPKG Repository     --->                                     │ │  
  │ │        Java SDK            --->                                     │ │  
  │ │        Developer Options   --->                                     │ │  
  │ │                                                                     │ │  
  │ └─────────────────────────────────────────────────────────────────────┘ │  
  ├─────────────────────────────────────────────────────────────────────────┤  
  │        <Select>    < Exit >    < Help >    < Save >    < Load >         │  
  └─────────────────────────────────────────────────────────────────────────┘  

To personalise your PTXdist installation, please fill out:

  • User (username and mail address)

Depending on your environment, the most important settings are:

  • Proxies (ftp / http / hhtps proxies)
  • Source Directories (path for archive of downloaded source packages (aka local package pool))

For further details on setup options, please see the PTXdist manual.

See download page for links to toolchain download. If using precompiled toolchain install to /opt. Otherwise carefully follow the documentation for building toolchains found here or in the download section.
By default the toolchain will get installed to /opt/OSELAS.Toolchain-<version>.

Follow chapter “Building a toolchain” in the PTXdist manual and keep in mind:

  • When you are asked to run the command
    $ ptxdist select ptxconfigs/...

    select this ptxconfig: ptxconfigs/arm-v7a-linux-gnueabihf_gcc-<version>_glibc-<version>_binutils-<version>_kernel-<version>-sanitized.ptxconfig (for TQMa6ULx)

  • To build the toolchain project you should install the corresponding PTXdist version for the Toolchain (as told in the documentation).

Extract the tarball ptxdist-2020.01.tar.bz2 and install as follows:

$ tar xvf ptxdist-2020.01.tar.bz2
$ cd ptxdist-2020.01
$ ./configure
$ make
$ sudo make install

Afterwards you can configure PTXdist

See the README file in the BSP archive for a detailed description of the zip contents

Extract the package TQ-TQMa6ULx-BSP-REV.0115.zip to any directory (e.g. /opt or /home):

$ cd ~/home/workspace
$ tar -xvf TQMa6UL.BSP.SW.SRC.0115.tar.gz
$ cd TQMa6UL.BSP.SW.SRC.0115

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