This page refers to the BSP and ancillary tools listed in the following table:
BSP Revision | 0120 |
---|---|
PTXdist | 2020.01.0 |
OSELAS Toolchain | 2019.09.1 |
Platform | mba6x |
U-Boot | 2017.11 |
Linux Kernel | 5.15.27 |
BSP Revision | PTXdist | OSELAS Toolchain | Platform | U-Boot | Linux Kernel | Qt Version |
---|---|---|---|---|---|---|
0100 | 2013.03 | 2012.12.1 | MBa6x | 2013.04 | 3.10 | 4.8.4 |
0101 | 2013.12 | 2013.12.1 | MBa6x | 2013.04 | 3.13 | 4.8.5 |
0104 | 2013.12 | 2013.12.2 | MBa6x | 2013.04 | 3.16-rc5 | 4.8.6 |
0105 | 2014.11 | 2013.12.2 | MBa6x | 2013.04 | 3.16.7 | 5.3.2 |
0109 | 2015.05 | 2013.12.2 | MBa6x | 2015.04 | 4.1 | 5.3.2 |
0110 | 2016.04 | 2014.12.2 | TQMa6x TQMa6x-FSL | 2015.04 NXP rel_imx_4.1.15_2.0.0_ga | 4.1 NXP rel_imx_4.1.15_2.0.0_ga | 5.6.2 |
0113 | 2018.05 | 2018.02.0 | TQMa6x | 2017.11 | 4.14.69 | 5.6.3 |
0114 | 2019.01 | 2018.02.0 | TQMa6x | 2017.11 | 4.14.78 | 5.6.3 |
0119 | 2020.01 | 2019.09.1 | TQMa6x | 2017.11 | 5.4.39 5.4.39-rt23 | 5.12.6 |
0120 | 2020.01 | 2019.09.1 | TQMa6x | 2017.11 | 5.15.27 5.15.27-rt35 | 5.12.6 |
With BSP Revision 0109 the Linux kernel version changed from 3.16.7 to 4.1 The devicetree source & blob files for kernel 3.16.7 are not compatible to kernel 4.1 and vice versa.
Device Tree Blobs
Several device tree blobs (.dtb files) are built by default, the resulting files are named as follows:
imx6<q|dl>-mba6x-<hdmi|lvds|multi|pd>.dtb
When building an sd card image, the HDMI enabled device tree blob is used by default.
Module (CPU) type | |
---|---|
imx6q | TQMa6Q | TQMa6D |
imx6dl | TQMa6DL | TQMa6S |
Module revision | |
mba6x | TQMa6x Rev.02xx Variant B | TQMa6x Rev.01xx |
Display interface | |
hdmi | HDMI only |
lvds | LVDS only |
pd | parallel display only |
multi | HDMI + LVDS + parallel display |
File | Module | Starterkit Mainboard | i.MX6Q | i.MX6D | i.MX6DL | i.MX6S | Revision 010x | Revision 020x | Ethernet Patch |
---|---|---|---|---|---|---|---|---|---|
imx6qdl-tqma6x.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
imx6q-tqma6x.dtsi | ✔ | ✔ | ✔ | ✔ | |||||
imx6dl-tqma6x.dtsi | ✔ | ✔ | ✔ | ✔ | |||||
imx6qdl-mba6x.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
imx6q-mba6x.dts | included | ✔ | ✔ | ✔ | ✔ | ||||
imx6dl-mba6x.dts | included | ✔ | ✔ | ✔ | ✔ |
<graphviz dot> digraph “FDT_dependencies” {
rankdir=BT node [shape=box style=filled]
{ /* level graph */ node[shape=none, width=0, height=0, label=“” style=invis]; edge[dir=none style=invis]; 1 → 2 → 3 → 4 → 5 → 6; }
subgraph FSL { node [fillcolor="#E66A08" fontcolor="#FFFFFF"] "imx6q.dtsi"; "imx6dl.dtsi"; "imx6qdl.dtsi"; }
subgraph TQM { node [fillcolor="#1D8EC6" fontcolor="#FFFFFF"] "imx6qdl-tqma6x.dtsi"; "imx6q-tqma6q.dtsi"; "imx6dl-tqma6s.dtsi"; }
subgraph MB { node [fillcolor="#8F8F8F" fontcolor="#FFFFFF"] "imx6qdl-mba6x.dtsi"; "imx6q-mba6x.dts" [shape=oval color="#FF0000"]; "imx6dl-mba6x.dts" [shape=oval color="#FF0000"]; }
{rank=same; 6; "imx6q.dtsi"; "imx6dl.dtsi"} {rank=same; 5; "imx6qdl-tqma6x.dtsi"} {rank=same; 4; "imx6q-tqma6q.dtsi"; "imx6dl-tqma6s.dtsi"} {rank=same; 3; "imx6qdl-mba6x.dtsi"} {rank=same; 2; "imx6q-mba6x.dts"; "imx6dl-mba6x.dts"} {rank=same; 1; "imx6q-mba6x-hdmi.dts"; "imx6dl-mba6x-hdmi.dts" } {"imx6q.dtsi" "imx6dl.dtsi"} -> "imx6qdl.dtsi";
"imx6q-tqma6q.dtsi" -> {"imx6qdl-tqma6x.dtsi" "imx6q.dtsi"}; "imx6dl-tqma6s.dtsi" -> {"imx6qdl-tqma6x.dtsi" "imx6dl.dtsi"};
"imx6q-mba6x.dts" -> {"imx6qdl-mba6x.dtsi" "imx6q-tqma6q.dtsi"}; "imx6dl-mba6x.dts" -> {"imx6qdl-mba6x.dtsi" "imx6dl-tqma6s.dtsi"}; "imx6q-mba6x-hdmi.dts" -> "imx6q-mba6x.dts"; "imx6dl-mba6x-hdmi.dts" -> "imx6dl-mba6x.dts";
}
</graphviz> <HTML>
CPU specific files
Module specific files
Baseboard specific files
</HTML>
Device Tree Blobs
Several device tree blobs (.dtb files) are built by default, the resulting files are named as follows:
imx6<q|dl>-mba6<a|b>-<hdmi|lvds|multi|pd>.dtb
When building an sd card image, the HDMI enabled device tree blob is used by default.
Flat Image Tree (FIT)
Additionaly a FIT image (*.itb) is generated, which contains all device trees in a single file.
To select an individual DTB from this FIT you have to set the U-Boot variables fdt_type
and fitfdt_part
accordingly.
Module (CPU) type | |
---|---|
imx6q | TQMa6Q | TQMa6D |
imx6dl | TQMa6DL | TQMa6S |
Module revision & variant | |
mba6a | TQMa6x Rev.02xx Variant A & C |
mba6b | TQMa6x Rev.02xx Variant B | TQMa6x Rev.01xx |
Display interface | |
hdmi | HDMI only |
lvds | LVDS only |
pd | parallel display only |
multi | HDMI + LVDS + parallel display |
File | Module | Starterkit Mainboard | i.MX6Q | i.MX6D | i.MX6DL | i.MX6S | Revision 010x | Revision 020x | Ethernet Patch |
---|---|---|---|---|---|---|---|---|---|
imx6qdl-tqma6.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
imx6qdl-tqma6a.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
imx6qdl-tqma6b.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
imx6q-tqma6.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
imx6q-tqma6a.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
imx6q-tqma6b.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
imx6dl-tqma6.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
imx6dl-tqma6a.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
imx6dl-tqma6b.dtsi | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
imx6qdl-mba6.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
imx6qdl-mba6a.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
imx6qdl-mba6b.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
imx6q-mba6.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | |||
imx6q-mba6a.dts | included | ✔ | ✔ | ✔ | ✔ | ✔ | |||
imx6q-mba6b.dts | included | ✔ | ✔ | ✔ | ✔ | ✔ | |||
imx6dl-mba6.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | |||
imx6dl-mba6a.dts | included | ✔ | ✔ | ✔ | ✔ | ✔ | |||
imx6dl-mba6b.dts | included | ✔ | ✔ | ✔ | ✔ | ✔ |
<graphviz dot> digraph “FDT_dependencies” {
rankdir=BT node [shape=box style=filled]
{ /* level graph */ node[shape=none, width=0, height=0, label=“” style=invis]; edge[dir=none style=invis]; 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9; }
subgraph FSL { node [fillcolor="#E66A08" fontcolor="#FFFFFF"] "imx6q.dtsi"; "imx6dl.dtsi"; "imx6qdl.dtsi"; }
subgraph TQM { node [fillcolor="#1D8EC6" fontcolor="#FFFFFF"] "imx6qdl-tqma6.dtsi"; "imx6q-tqma6<a|b>.dtsi"; "imx6dl-tqma6<a|b>.dtsi"; "imx6qdl-tqma6<a|b>.dtsi"; }
subgraph MB { node [fillcolor="#8F8F8F" fontcolor="#FFFFFF"] ordering=out; "imx6qdl-mba6.dtsi"; subgraph MBq { rankdir=LR; "imx6q-mba6.dtsi"; "imx6q-mba6<a|b>.dts" [shape=oval color="#FF0000"]; } "imx6qdl-mba6<a|b>.dtsi"; subgraph MBdl { "imx6dl-mba6<a|b>.dts" [shape=oval color="#FF0000"]; "imx6dl-mba6.dtsi"; } }
{rank=same; 8; "imx6q.dtsi"; "imx6dl.dtsi"} {rank=same; 7; "imx6qdl-tqma6.dtsi"} {rank=same; 6; "imx6q-tqma6<a|b>.dtsi"; "imx6dl-tqma6<a|b>.dtsi"} {rank=same; 5; "imx6qdl-tqma6<a|b>.dtsi"} {rank=same; 4; "imx6qdl-mba6.dtsi"} {rank=same; 3; "imx6q-mba6.dtsi"; "imx6q-mba6<a|b>.dts"; "imx6dl-mba6<a|b>.dts"; "imx6dl-mba6.dtsi"} {rank=same; 2; "imx6qdl-mba6<a|b>.dtsi" } {"imx6q.dtsi" "imx6dl.dtsi"} -> "imx6qdl.dtsi";
"imx6q-tqma6<a|b>.dtsi" -> {"imx6qdl-tqma6.dtsi" "imx6qdl-tqma6<a|b>.dtsi" "imx6q.dtsi"}; "imx6dl-tqma6<a|b>.dtsi" -> {"imx6qdl-tqma6.dtsi" "imx6qdl-tqma6<a|b>.dtsi" "imx6dl.dtsi"};
"imx6q-mba6<a|b>.dts" -> {"imx6q-tqma6<a|b>.dtsi" "imx6qdl-mba6<a|b>.dtsi" "imx6qdl-mba6.dtsi" "imx6q-mba6.dtsi"}; "imx6dl-mba6<a|b>.dts" -> {"imx6dl-tqma6<a|b>.dtsi" "imx6qdl-mba6<a|b>.dtsi" "imx6qdl-mba6.dtsi" "imx6dl-mba6.dtsi"};
}
</graphviz>
<HTML>
CPU specific files
Module specific files
Baseboard specific files
</HTML>
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:
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.
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.
After installing PTXdist it can be configured by:
$ ptxdist setup
.config - PTXdist 2020.01.0 ────────────────────────────────────────────────────────────────────────────── ┌─────────────────────────── PTXdist 2020.01.0 ───────────────────────────┐ │ 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:
Depending on your environment, the most important settings are:
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:
$ ptxdist select ptxconfigs/...
select this ptxconfig: ptxconfigs/arm-v7a-linux-gnueabihf_gcc-<version>_glibc-<version>_binutils-<version>_kernel-<version>-sanitized.ptxconfig (for TQMa6x)
Extract the tarball ptxdist-2020.01.0.tar.bz2 and install as follows:
$ tar xvf ptxdist-2020.01.0.tar.bz2 $ cd ptxdist-2020.01.0 $ ./configure $ make $ sudo make install
Afterwards you can configure PTXdist
Extract the package TQ-TQMa6x-BSP.REV0120.zip to any directory (e.g. /opt or /home):
$ cd ~/home/workspace $ tar -xvf TQMa6x.BSP.SW.SRC.0120.tar.gz $ cd TQMa6x.BSP.SW.SRC.0120