Embedded SBC MBa6ULxL - PTXdist Linux BSP documentation
Preface
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 |
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
Prerequisites
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.
PTXdist set-up
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).
Install PTXdist version for building the Toolchain
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.
Building the toolchain
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).
Install PTXdist version for building the BSP
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
Extract the BSP sources
Extract the package TQ-TQMa6ULx-BSP-REV.0115.zip to any directory (e.g. /opt or /home):
$ cd ~/home/workspace $ tar -xvf TQMa6ULx.BSP.SW.SRC.0115.tar.gz $ cd TQMa6ULx.BSP.SW.SRC.0115