New Buildroot Release fsimx6-B2020.04

  • i.MX6 Linux Release B2020.04 (Buildroot)

    This is a maintenance release for fsimx6. fsimx6 is the software for all boards from F&S that are based on the i.MX6 Solo, DualLite, Dual or Quad CPU from NXP (or i.MX6 for short). Currently this consists of the boards efusA9, armStoneA9, armStoneA9r2, PicoMODA9, NetDCUA9, QBlissA9 and QBlissA9r2. More boards may be added to this family in the future. All these boards can work with software that is created from this release package.

    The release consists of two files:


    This is the main release itself containing all sources, the binary images, the documentation, examples and the toolchain.


    If you copy the contents of this archive to an SD card, you can install our precompiled standard system in a very straightforward and comfortable way on the board. The SD card archive is meant for people who just want to try a release first without having to download the quite large main archive. Its content is also contained in the main release archive, so if you want to download the main archive anyway, you don't need to bother with the SD card archive.

    These tar archives are compressed with bzip2. So to see the files, you first have to unpack the archives

    1. tar xvf fsimx6-B2020.04.tar.bz2

    This will create a directory fsimx6-B2020.04 that contains all the files of the release.

    Please read the file doc/FSiMX6_FirstSteps_eng.pdf. It describes the first steps when working with the board and gives references to further reading.

    Release Notes for fsimx6-B2020.04

    Here are some highlights of this release.

    1. New framebuffer names and display backlight handling

    The framebuffer devices are now internally named after the function, i.e. "lcd", "hdmi", "ldb0", "ldb1". And the display backlights also switch on and off together with the display driver. This was different in the past.

    Please note that this adds some additional on-off cycles when starting the X-Server. This is because the X-Server reconfigures the display several times and each time the display is switched off temporarily.

    You can add property unblank_delay to an mxcfb node to hide any unwanted display content before the display shows the regular image.

    1. mxcfb0: fb@0 {
    2. compatible = "fsl,mxc_sdc_fb";
    3. late_init = <0>;
    4. unblank_delay = <50>; /* 50ms delay */
    5. ...
    6. };

    We also fixed a bug in this release, where a backlight brightness of 0 was not handled correctly if the PWM brightness uses inverted logic. It is fixed by adding the new property "keep-power" to the underlying PWM port in the device tree. We have added this to all PWM nodes now.

    2. Video playback also possible without camera

    Previously, hardware accelerated video playback with gstreamer was only possible when also a camera was configured in the device tree. We fixed this. Now playback is always possible, also without a camera setting.

    3. Update to Buildroot 2019.05.3

    We have updated to the newer release Buildroot 2019.05.3 that has some more security and bug fixes.

    4. New toolchain fs-toolchain-8.3-armv7ahf

    It showed that Qt5-webengine will not compile with a toolchain before gcc-8.0. So we have updated the toolchain again. Please use this new toolchain together with the code of this release.

    Remark: When changing the toolchain, you should always clear the compiler cache, e.g.

    1. rm -r ~/.ccache ~/.ccache-buildroot

    Otherwise the compiler may mix up precompiled code from the cache with newly compiled code, causing strange runtime errors.

    5. Add support for A/D-Converter ADS1118

    Thanks to a customer, we now have support for the A/D-Converter ADS1118.

    6. Default LVDS display replaced

    The ChiMei LVDS display that F&S used to ship with some Starter Kits is not available anymore. We will ship a different display from now on. Therefore we also changed the default settings for LVDS in the Linux device trees so that upcoming customers will have a working display.

    If you still need the previous settings, simply remove the two comment slashes at the beginning of the following line in the device tree and re-build the device tree. Then the old settings will be active again.

    1. //#define DISPLAY_LVDS_CHIMEI

    This change was actually already part of the previous release but we missed to mention it in the README text back then. We added a comment in the forum, but we repeat it here, just to be sure.

    7. Improved LinuxOnFSBoards.pdf documentation

    We have further added content to the generic Linux documentation. Now everything up to and including chapter 6 with the F&S specific U-Boot enhancements is rather complete. But the chapters behind that are still work in progress and need more attention in the future.


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

    nbootimx6ul_41.bin (VN41) (20.02.2019)

    Supported Boards: efusA9, armStoneA9, armStoneA9r2, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2

    NBoot for i.MX6 shares the source code with other i.MX6 CPU variants like i.MX6UL and i.MX6SX, therefore versions are counted consecutively.


    • 0003890: Add SD boot fuse settings


    • 0004117: Reset sendsize after USB upload
    • 0004116: Disable warning in emfast driver
    • 0004115: Add info output over USB
    • 0004114: Change checksum calculation to use neon processor


    • 0004196: Change spread spectrum settings for better EMC
    • 0004197: Set VCFL_ON to input, pin is driven high in ROM loader
    • 0004195: Verify image if 'x' is pressed when security enabled


    • 0004210: Add super secure version with disabled menu
    • 0004211: Move SDP disable fuse settings to separate function

    u-boot-2018.03-fsimx6-B2020.04 (14.04.2020)

    Supported boards: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, armStoneA5

    Not tested: efusA9X, PicoCOMA9X, PicoCoreMX6SX, efusA7UL, PicoCOM1.2, PicoCoreMX6UL, NetDCUA5, PicoCOMA5

    • Add support for RGB adapter on fsimx6ul
    • Add basic support for ethernet switch MV88E6071
    • Add register offset 0x00 or 0x10 to mv88e61xx.c driver
    • Fix parsing of mii devices in mii command
    • Better argument parsing and error handling in mdio.c
    • include: update log2 header from the Linux kernel
    • Handle self-clearing Port Reset bit in ehci-hcd
    • Fix function to find nearest High Speed parent in usb.c
    • Improve USB device detection, add variable usb_connect_time
    • Port drivers/crypto/fsl from NXP UBoot 2018.03
    • Add support for FS_SECURE_BOOT
    • Add defconfigs for FS_SECURE_BOOT
    • Add FS_SECURE_BOOT authenticate images
    • Improve display support for PicoCoreMX6UL
    • Fix SPI initialization in fsimx6sx.c
    • Improve board_display_set_power in fsimx6sx.c/fsimx6ul.c
    • Fix fsimx6sx.c lcd settings for PicoCoreMX6SX/PicoCOMA9x
    • Improve the M4 ram reservation for imx6sx
    • Allow percentage sizes and hex numbers in mmc hwpartition
    • Port drivers/crypto/fsl from NXP UBoot 2018.03
    • Add support for FS_SECURE_BOOT
    • Add defconfigs for FS_SECURE_BOOT
    • Add FS_SECURE_BOOT authenticate images
    • Rename F&S Secure Boot defconfigs
    • Improve verification process of FS_SECURE_BOOT
    • Improve F&S secure boot defconfigs
    • Update fsvybrid infrastructure
    • Fix MAC address handling on fsvybrid

    linux-4.9.88-fsimx6-B2020.04 (14.04.2020)

    Supported boards: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, armStoneA5

    Not tested: efusA9X, PicoCOMA9X, PicoCoreMX6SX, PicoCoreMX7ULP, efusA7UL, PicoCOM1.2, PicoCoreMX6UL, NetDCUA5, PicoCOMA5

    • 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
    • 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 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 Ubis crashes after resume from suspend
    • Fix ov564x_mipi devicetree entry
    • Improve mxs-dma driver by adding runtime_suspend support
    • Improve USB settings of picocoremx7ulp.dts
    • Improve picocoremx7ulp device-tree
    • Add support for mipi display TM050JDHG33
    • Improve picocoremx7ulp devicetree, set new default MIPI display
    • Improve picocormx7ulp lpi2c5 node
    • Add LVDS clock source and audio clock speed selection to fsimx6 boards
    • Fix video output dependency from enabled camera on imx6 boards
    • Fix clock problems on Vybrid
    • Rename VF610_PAD_PTA28__ESDHC1_DATA2 to VF610_PAD_PTA28__ESDHC1_DAT2
    • Make fsvybrid_defconfig more similar to other fs... defconfigs
    • Add F&S NAND driver vf610_nfc_fus
    • Add support for UART, ETH, LEDs and audio to armStoneA5
    • Add optional clock to sdhci-esdhc-imx.c
    • Improve imx-uart driver
    • Fix USB device port settings on fsvybrid
    • Fix indentation in mxs-dma-ext.c to avoid compiler warning
    • Handle several fb references in PWM backlight driver
    • Use meaningful framebuffer names im mxc_ipuv3_fb.c
    • Add device tree property unblank_delay to mxc_ipuv3_fb.c
    • Handle initial state in pwm_bl.c more consistently
    • Do not switch ldb regulator too often on i.MX6 platforms
    • Fix mxcfb driver probe fail
    • Fix wrong framebuffer name in devicetree for picomoda9
    • Add support for LCD-MI0700AJT
    • Add support for armstonea9r2 revision 1.20
    • Fix wrong framebuffer name in devicetree for picocoremx6ul & efusa7ull
    • Add support for A/D-Converter ADS1118
    • Improve pwm-imx driver - invert polarity via register
    • Improve pwm-imx driver - invert polarity via register
    • Support both PWM polarities for all F&S boards
    • Update TI wireless driver wlxxxx to kernel 4.9.217
    • Remove debug messages in Vybrid NAND driver

    buildroot-2019.05.3-fsimx6-B2020.04 (14.04.2020)

    Supported boards: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, armStoneA5

    Not tested: efusA9X, PicoCOMA9X, PicoCoreMX6SX, PicoCoreMX7ULP, efusA7UL, PicoCOM1.2, PicoCoreMX6UL, NetDCUA5, PicoCOMA5

    • Fix Qt5 webengine build
    • Switch to fs-toolchain-8.3-armv7ahf for F&S boards
    • 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
    • Rework of fsimx7ulp_std_defconfig
    • Add fsimx7ulp_wayland_defconfig
    • Improve rootfs_ext2_size of fsimx7ulp_std_defconfig
    • Rework of fsimx7ulp_qt5_defconfig
    • Add support for fsimx7ulp_qt5_weston_defconfig
    • Add default weston.ini file
    • Update fsvybrid support to kernel 4.9.88
    • Update to buildroot-2019.05.3

    • 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 4.1 of FSiMX6_FirstSteps_eng.pdf
    • Update to version 0.5 of LinuxOnFSBoards_eng.pdf

    Please download the hardware documentation 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.

  • fs-support_HK

    Changed the title of the thread from “New Buildroot Release fsimx6sx-B2020.04” to “New Buildroot Release fsimx6-B2020.04”.