New Buildroot Release fsimx7ulp-B2019.12

  • F&S i.MX7ULP Buildroot Release (18.12.2019)

    Please see the file


    for a description of how everything is installed and used.

    This is a major release for fsimx7ulp. fsimx7ulp is the software for all boards from F&S that are based on the i.MX 7ULP CPU from NXP. Currently these are the modules PicoCoreMX7ULP. Further boards may be added to this family in the future. All these boards can work with software that is created from this release package.

    This release brings new versions to all parts of the software stack. Here are some highlights of this release.

    1. New version numbering

    We have changed the way how we name versions. In the past we had a version number made up of a major part m and a minor part n. Then we used Vm.n for Buildroot releases and Ym.n for Yocto releases. Release versions were counted individually for each CPU architecture. But then a "new" CPU type unfortunately had a smaller version number than an "old" CPU, even if the code was coming from the same sources or was even newer. This caused some irritations and misunderstandings of what release is actually the newest.

    So from now on we will use the year and month of the release instead, preceeded by a 'B' for Buildroot releases and a 'Y' for Yocto releases. For example the "B2019.13" of this release indicates a Buildroot based release from November 2019.

    2. Support for board PicoCoreMX7ULP revision 1.20

    This is the first regular release that supports PicoCore7ULP. The PicoCore is only 40mm x 35mm but is a very powerful System-on-Module with many I/Os. This release supports the current HW revision.

    3. Buildroot 2019.05.1

    Buildroot 2019.05 has many many updated packages, for example Qt-5.12, busybox-1.30.1, xserver-1.20.5 and gstreamer-1.16.0. We actually use buildroot-2019.05.1, which is a newer version that already has some more fixes.

    4. New toolchain fs-toolchain-8.3-armv7ahf

    Our new toolchain is now based on gcc-8.3 that fully supports C++14 and has basic support for C++17 and even some experimental support for C++2a.

    This toolchain is now a 64-bit toolchain, i.e. it will not run on PCs (or VMs) with a 32-bit Linux anymore. The default output of the toolchain is of course still ARMv7 code for 32 bit ARM CPUs like Cortex-A7 or Cortex-A9, as in i.MX6UL or i.MX6SX.

    This toolchain also fixes a bug in the calling convention for ARM CPUs that was introduced in gcc-5.x and prevented some code optimizations. Many software packages now depend on a compiler that has this bug fixed. For example our new u-boot-2018.03 will produce bad code if compiled with a toolchain before gcc-6.0. Qt5-webengine will not compile with a toolchain before gcc-8.0. So please use this new toolchain together with the code of this release.

    5. New WLAN module Azurewave CM276NF

    In the past, the WLAN module Laird Sterling-LWB5 was mounted. In the current HW revision 1.20 the new module Azurewave CM276NF is mounted.

    6. Documentation

    In the past, the documentation that was included in the release package itself was often superseded by newer versions on our website. But people continued to use the outdated version of the release, causing unnecessary complications.

    To avoid this, from now on only the software related documentation is directly included in the release and we have added a chapter to FSiMX7ULP_FirstSteps_eng.pdf that contains direct links to the appropriate resources on our website. There you can download the newest versions of hardware documentations, schematics, layout files, certificates, accessories, add-ons, adapters and similar things.

    The software documentation is completely reworked. The FSiMX7ULP_FirstSteps_eng.pdf document now really only shows a basic introduction to the work with boards of the fsimx7ulp architecture. And there is a new document LinuxOnFSBoards_eng.pdf that shows a more in-depth view of a Linux system in general and of the F&S versions of NBoot, U-Boot, Linux and Buildroot in particular. This is still work in progress, some chapters are not fully done yet and will be revised in the future. Check our website from time to time to see if there is a newer version of this document.


    The following list shows the most noticable changes in this release in more detail since our last i.MX7ULP release (not counting the intermedieate release for PicoCoremX7ULP). Please note that the source code may used for other platforms. This is why you will also find references to other CPU types and F&S boards here in the changelog.

    u-boot-2017.03-fsimx7ulp-B2019.12 (18.12.2019)

    Supported boards: PicoCoreMX7ULP

    Not tested: efusA9X, PicoCOMA9X, PicoCoreMX6SX, CONT1, efusA7UL, PicoCOM1.2, PicoCoreMX6UL, GAR1, GAR2, CubeA7UL, Cube2.0, armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9,

    QBlissA9, QBlissA9r2, CUBEA5, armStoneA5, NetDCUA5, PicoCOMA5, AGATEWAY, HGATEWAY

    • Improve fsimx7ulp defconfig - otg pwr polarity
    • Add support for PicoCoreMX7ULP rev. 1.20
    • Add support for Gigadevice SPI flashes
    • Add option for monlitic LPDDR3 RAM in DCD
    • Improve fsimx7ulp environment size
    • Improve fsimx7ulp RNDIS configuration
    • Fix some compiler warnings and remove some unnecessary entrys in imx7ulp.dtsi
    • Inlcude: update log2 header from the Linux kernel
    • Add support for SPI NOR flash gd25lq80c

    linux-4.9.88-fsimx7ulp-B2019.12 (18.12.2019)

    Supported boards: PicoCoreMX7ULP

    Not tested: efusA9X, PicoCOMA9X, PicoCoreMX6SX, CONT1, efusA7UL, PicoCOM1.2, PicoCoreMX6UL, GAR1, GAR2, CubeA7UL, Cube2.0, armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9,

    QBlissA9, QBlissA9r2, CUBEA5, armStoneA5, NetDCUA5, PicoCOMA5, AGATEWAY, HGATEWAY

    • Add SD1_VSEL to picocoremx6ull.dts to support UHS SD cards
    • Improve picocoremx6sx device-tree - rework
    • Improve picocoremx6ul device-tree usb otg1 support
    • New merge for rel_imx_4.9.11_1.0.0_ga
    • Handle flexcan names in a common way in device trees
    • New merge for rel_imx_4.9.88_2.0.0_ga
    • Have new minimal defconfigs for fsimx6/sx/ul
    • Improve mipi_dsi_northwest driver flag interpretation
    • Improve picocoremx7ulp device-tree - add mipi-dsi display support
    • Add i.MX6 PCIe driver to defconfig
    • Add PCIe support for all F&S i.MX6 boards
    • Add Marvell WIFI PCIe driver to fsimx6_defconfig
    • Improve PCI_IMX6 driver activation for fsimx6sx_defconfig
    • Add property lrclk-strength to SGTL5000 device tree node
    • fsimx6: Fix audio clock rates, set lrclk-strength for SGTL5000
    • fsimx6: HDMI: Use DVI mode, do not overwrite pixel format
    • Add support for 3rd and 4th camera for ISL7998x on fsimx6
    • Add CMSPAR option to IMX UART
    • Improve focaltech ft5x06 driver - support reverse coordinates
    • Support Azurewave-CM276NF for fsimx7ulp_defconfig
    • Add support for picocoremx7ulp rev. 1.20 and remove old revisions
    • Fix Ethernet clock in mach-imx6sx.c
    • Add 12.5pF setting for RTC PCF85063TP, fix two bugs
    • Handle USB over-current polarity
    • Split picocoremx6ull.dts into UL and ULL version
    • Re-factor driver for PCA963X (leds-pca963x.c)
    • Change F&S device trees to use new leds-pca963x driver
    • Update to newest Atmel MXT touch driver
    • Add cube2.0ull.dts
    • Clarify F&S device tree settings (LVDS, Ilitek, audio clock)
    • Fix default touches for PicoCoreMX6UL/SX
    • Replace deprecated fsl,uart-has-rtscts in F&S device trees
    • Add new default LVDS display FS-J070WVTC0211 to F&S devicetrees
    • Improve PicoModA9 device-tree settings for LCD supply regulator
    • Revert RTC PCF8563 driver to previous version
    • Speed up firmware download in btmrvl_sdio.c
    • Add UART_C for board revision 1.40 of GAR1
    • Add config file for atmel mxt224e version 2 touch
    • Add disable-over-current flag to picocoremx7ulp device-tree
    • Add support for crypto unit in picocoremx7ulp
    • Turn off -Wattribute-alias to support GCC 8
    • Backport minimal compiler_attributes.h to support GCC 9
    • Disable user space firmware loader helper from F&S defconfigs
    • Remove support for BT-AMP on Marvell SD8787 Bluetooth
    • Add support for mipi display YTC310KLAA
    • Add YTC310KLAA mipi display to fsimx7ulp
    • imx6ull: VDD_SOC_CAP -> changed voltage from 1.175V to 1.25V
    • Add PWM_A to PicoCoreMX6SX device-tree
    • Improve picocoremx6ul.dts - add defines for HW units
    • Improve picocoremx6sx.dts - increment board revision
    • Improve F&S i.MX6SX/UL device-trees - Update Copyright
    • fec_main: Do not init MII bus in case of fixed link
    • Add DP83848 Ethernet PHY to fsimx6ul_defconfig
    • Add devicetree for GAR2
    • Improve fsimx7ulp VLLS state by turning of LPDDR-IOs correctly
    • Add audio support for imx7ULP via rpmsg-audio
    • Fix DT for efusA9, QBlissA9 and QBlissA9r2 for ft5x06_ts.c
    • Add mainline patches to remove compiler warnings with gcc-8
    • Remove compiler warnings with gcc-8 in F&S specific files
    • Fix clock enabling in pxp_dma_v3.c, add to fsimx6ul
    • Support gstreamer imxv4l2sink with PXP on fsimx6sx
    • Add RTC IRQ settings on efusA9 and efusA9X
    • Add check for valid memory-region to auxcore-driver
    • Improve cont1 device tree - update board revision
    • Improve fsimx6sx/fsimx6ul device-trees
    • Improve picocoremx6sx device tree - fix bl_pwm
    • Improve PicoCoreMX6SX/UL device-tree - VLCD_ON pin
    • Remove rpmsg message from efusa9x.dts
    • Add missing RTS/CTS for UART_C on PicoCoreMX6SX
    • Fix Ubifs crashes after resume from suspend
    • Fix ov564x_mipi devicetree entry
    • Improve mxs-dma driver by adding runtime_suspend support
    • Improve picocoremx7ulp device-tree
    • Add support for mipi display TM050JDHG33
    • Improve picocoremx7ulp devicetree, set new default MIPI display
    • Improve picocoremx7ulp lpi2c5 node

    buildroot-2019.05.1-fsimx7ulp-B2019.12 (18.12.2019)

    Supported boards: PicoCoreMX7ULP

    Not tested: efusA9X, PicoCOMA9X, PicoCoreMX6SX, CONT1, efusA7UL, PicoCOM1.2, PicoCoreMX6UL, GAR1, GAR2, CubeA7UL, Cube2.0, armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9,

    QBlissA9, QBlissA9r2, CUBEA5, armStoneA5, NetDCUA5, PicoCOMA5, AGATEWAY, HGATEWAY

    • Drop support for PicoCOM4
    • Drop support for fss5pv210 (armStoneA8, NetDCU14, PicoMOD7A)
    • Switch to fs-toolchain-7.4-armv7ahf for F&S boards
    • Switch F&S boards to zImage
    • Update xdriver_xf86-video-fbdev to version 0.5.0
    • Rebase to buildroot-2019.02
    • Correct picocoremx6ull dts name in qt5_defconfig
    • Fix qt5webengine compilation
    • Add firmware Marvell 88W8997
    • fsimx7ulp_std_defconfig set xserver to current version
    • Fix dependencies and macro names in gstreamer1
    • Add package imx-gstreamer1 for NXP based gstreamer1 version
    • Use NXP version of libdrm
    • Make IMX codecs and parsers work with imx-gstreamer1
    • Use imx-gstreamer1 on fsimx6x/fsimx6sx/fsimx6ul
    • Add support for MWIFIEX_SDSD8997 WLAN/BT
    • Add Azurewave-CM276NF support for fsimx7ulp
    • Do not use GL and GLES at the same time in fsimx6_std_defconfig
    • Rebase to buildroot-2019.05
    • Always use (host-)gettext-gnu on F&S configurations
    • Rebase to buildroot-2019.05.1
    • Update weston package for F&S boards to rel_imx_4.9.88_2.0.0_ga
    • Activate similar set of Qt5 modules in all F&S defconfigs
    • Update F&S busybox defconfig to 1.30.1
    • Add cube2.0ull device tree to cube defconfig and finalscript-cube
    • Optimize ALSA configuration file (asound.state)
    • Add Mesa3D and Weston demos to F&S wayland_defconfig
    • Add support for libglfw on Wayland
    • Fix Qt5 webengine build
    • Switch to fs-toolchain-8.3-armv7ahf for F&S boards
    • Add GAR2 devicetree to fsimx6ul defconfigs
    • Add rpmsg-audio alsamixer config
    • Add fsimx6sx/fsimx6ul wayland defconfig
    • Add startup script for weston
    • Replace package silex-wlan-fs with newer version
    • Keep bluez5_utils-headers on same version as bluez5_utils
    • Do not install S50telnet by default, only if requested
    • Add spi-tools to F&S defconfigs
    • Add support for device-tree gar2 in fsimx6ul_wayland_defconfig
    • Rework of fsimx7ulp_std_defconfig
    • Add fsimx7ulp_wayland_defconfig
    • Improve rootfs_ext2_size of fsimx7ulp configs
    • Rework of fsimx7ulp_qt5_defconfig


    (no changes)


    fs-toolchain-8.3-armv7ahf.tar.bz2 for Linux

    • Based on gcc-8.3
    • Support for C and C++
    • Includes glibc-2.29 (compiled for ARM code)
    • With binutils-2.32
    • Hardware floating point
    • Native Posix Thread Library (NPTL)
    • Full support for C++14 and OpenMP 4.5
    • Basic support for C++17
    • Experimental support for C++2a


    - Update to version 2.0 of FSiMX7ULP_FirstSteps_eng.pdf

    - Add new version 0.3 of LinuxOnFSBoards_eng.pdf

    Please download the hardware documentation and GPIO Reference Cards directly from our website. Then you always have the newest version.

    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.