New release fsimx6ul-V2.0

  • i.MX6UL Linux Release V2.0

    We have uploaded a new Linux version for all boards and modules based on the i.MX6UltraLite CPU to our server, i.e. the fsimx6ul architecture: efusA7UL. This release is running on all platforms of this architecture at the same time. So you can download the same binaries for NBoot, U-Boot, Linux kernel and Buildroot root filesystem to any of the i.MX6UL boards and it will run.

    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 fsimx6ul-V2.0.tar.bz2

    This will create a directory fsimx6ul-V2.0 that contains all the files of the release.

    Please read the file doc/FSiMX6UL_FirstSteps_eng.pdf. It lists the meaning of all files and shows how to install and use everything.

    Release Notes for fsimx6ul-V2.0

    1. Fix USB problems in U-Boot

    Large files could cause problems on some USB devices when loading files larger than 64 MB. This is fixed now.

    2. Kernel 4.1.15

    Many updates and fixes in the kernel. For example suspend (to RAM) and resume is now properly supported. Some audio problems are fixed. The problem with ethernet not working in Linux when the PHY is a newer revision is solved and also the second ethernet port on efusA7UL is now available in Linux, too.

    The display configuration in the device tree is comletely reworked and much simpler now. Touch support is enhanced. The bdinfo device now provides some useful information in /sys/bdinfo.

    Please note that we have dropped the architecture part of the device tree names. So the device tree for efusA7UL is now simply called


    If you do not know what device trees are, please have a look at chapter 4 in the FirstSteps documentation.

    3. New Buildroot 2016.05

    Also Buildroot is updated to the newest release with many updated packages. We also have added a PTP gadget device to have access to files on the board via USB without the need to export a file or partition as a mass storage device. gstreamer-0.10 is dropped now and gstreamer-1.8.1 is used instead.

    4. New toolchain

    We also have a new toolchain that is based on GCC-5.2. This now fully supports the ISO-C11 standard and partly the C++14 standard.

    5. New examples

    We have added a new set of examples to the release. These examples consist of small programs that show how to use a specific device or feature like a GPIO pin, SPI device or PWM port.


    The following list shows the most noticable changes in this release in more detail since fsimx6ul-V1.0. 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_29.bin (VN29)
    Supported Boards: efusA7UL, CubeA7UL

    NBoot for i.MX6UL shares the source code with the regular i.MX6 NBoot, therefore versions are counted consecutively

    • Check IR LED pin configuration
    • Add new boards
    • Improve memory settings for QBlissA9
    • Add warning if memory settings for board not found
    • Enable spread spectrum again
    • Don't halt if no flash is found and booting from USB is used
    • Use correct values for CPU speed for UL
    • Implement semihosting for debugging
    • Add default value in function GetINT
    • fix typo in USB Virtual FAT
    • Use onboard LEDs and STA1, STA2 on PicoMODA9 Rev.1.10
    • Use drive strength 6 for DDR3 as default

    u-boot-2014.07-fsimx6ul-V2.0 (19.08.2016)
    Supported boards: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, QBlissA9, efusA7UL, CubeA7UL, efusA9X
    Not tested: armStoneA5, NetDCUA5, PicoCOMA5, CUBEA5, AGATEWAY, HGATEWAY, armStoneA8, PicoMOD7A, NetDCU14

    • Fix bitflip handling in NAND driver
    • On fsvybrid, in case of uncorrectable NAND errors, return raw data now
    • On fsvybrid, NAND driver also works on flashes with more than 64 bytes OOB
    • Reduce progress line length in tftp/nfs to avoid wrap-around on 80 chars terminals
    • Fix exception vector allocation and relocation
    • On fsimx6sx and fsimx6ul, add possibility to load FDT from UBI/UBIFS
    • Add nand convert command (used on fsvybrid)
    • Fix ethernet on NetDCUA5 Board Rev 1.21
    • Add device tree support for fsimx6
    • Add missing .fdt_usb in fsimx6sx and fsimx6ul
    • Show more board infos on fsimx6sx and fsimx6ul
    • Do not power cycle USB hub ports, add usb_pgood_delay variable
    • On F&S boards set bootfdt variable to $arch-$platform.dtb
    • Fix AIPS3 initialization on i.MX6-SoloX
    • Add missing FEAT2_ETH_MASK to fsimx6ul.c
    • Fix problem with large files on some USB sticks
    • If using ubifs, look for fdt in /boot (like the kernel)
    • Remove fsload variable from fsimx6, fsimx6sx and fsimx6ul
    • Set correct board_info values for CubeA7UL
    • Add status LED support for fsimx6
    • Prepare for compilation with gcc-5.x, remove warnings
    • Add support for armStoneA9r2
    • Add serverip to nfsroot when running .rootfs_nfs
    • Remove architecture prefix from device tree names
    • Add "dl" or "q" to device tree name on fsimx6, depending on actual CPU type
    • Additionally allow installation from RAM on regular F&S boards

    linux-4.1.5-fsimx6ul-V2.0 (19.08.2016)
    Supported Boards: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, efusA7UL, efusA9X, CubeA7UL

    • Improve pca963x LED driver, support configuration of outputs as PWM and GPIO
    • Improve touch configuration, only one touch at a time on efusA9X and efusA7UL
    • Activate all possible touch drivers in fsimx6sx_defconfig/fsimx6ul_defconfig
    • Add support for bdinfo device and use it on fsimx6sx and fsimx6ul
    • Handle bitflip count of last read page in NAND flash correctly
    • Rebase to kernel 3.14.52, Freescale version rel_imx_3.14.52_1.1.0_ga
    • Add device tree for efusA9
    • Add basic support for OV9665 camera
    • Further improve pca963x LED driver, fix polarity issue
    • Add fb-names in PWM backlight driver to refer to the framebuffer device
    • Support ENET clock output on i.MX6-SoloX and i.MX6UL (fsl,ref-clock-out)
    • Remove CMA size to 128MB on fsimx6sx
    • Improve device tree for efusA9X and efusA7UL
    • Add ft5x06 touch, fix I2C pad settings
    • Improve pca963x driver, reduce compiler warnings
    • Fix the cache handling on SGTL5000 to allow suspend/resume
    • Add suspend/resume to mxs-dma-ext.c
    • Add suspend/resume to gpmi-nand-fus.c
    • Add i.MX7 support to F&S version mxs-dma-ext.c
    • Improve F&S GPMI nand driver to allow suspend/resume
    • Use MMC_UNSAFE_RESUME as default behavior for SD/MMC in suspend/resume
    • Remove compiler warnings on fsimx6, fsimx6sx, fsimx6ul, prepare for GCC-5.2
    • Remove IMX6UL_CLK_AIPSTZ3 from i.MX6UL clock tree, this CPU has no AIPS3
    • Make compilation of i.MX6 platforms without FEC possible
    • Add daisy chain settings to imx6ul-pinfunc.h (backport from 4.1.15 kernel)
    • Add vmmc regulators to device trees of some F&S boards
    • Add mono2both property to SGTL5000 sound codec
    • Fix audio playback with double frequency, mono 32bit
    • Add bdinfo support for fsimx6
    • Optimize fsimx6ul configuration, remove other CPU types
    • Add Bosch bme280 multisensor
    • Add gpio based infrared transmitter
    • Improve wl12xx driver, backport device tree settings from kernel 4.1
    • In several steps rebase to Freescale/NXP kernel rel_imx_4.1.15_1.0.0_ga
    • Fix support for fsimx6ul and fsimx6sx on kernel 4.1.15
    • Add STMicroelectronics hts221 multisensor
    • Add device tree and improve defconfig for CubeA7UL (fsimx6ul)
    • Fix double declaration in wl12xx driver
    • Remove '+' suffix appended to kernel name if built in unclean directory
    • Modify efusA9 device tree to work on kernel 4.1.15
    • Add missing pinctrl for LVDS VBL_ON on efusA9X
    • Add display support for efusA9
    • Add device trees for armStoneA9
    • Support up to four displays on efusA9 and armStoneA9
    • Add SATA support for efusA9 Q/D and armStoneA9 Q/D
    • Add SX8655 touch support
    • Add vqmmc regulators to device trees to have SD/MMC working again
    • Add device trees for armStoneA9r2
    • Rebase to Freescale/NXP rel_imx_4.1.15_1.1.0_ga
    • Rebase to Freescale/NXP rel_imx_4.1.15_1.1.1_patch
    • Move declaration of mmc_sdio_force_remove() to core.h
    • On armStoneA9 remove port I2C7 again
    • Add CMA configuration to device trees of all F&S boards
    • Use F&S DDR3 settings, otherwise newer armStoneA9 board revisions will fail
    • Add some displays to drivers/video/fbdev/mxc/mxc_lcdif.c
    • Add status LEDs to efusA9, armStoneA9 and armStoneA9r2 device trees
    • On leds-pca963x driver, improve handling when configured as PWM
    • Prepare armStoneA9 device trees for PMIC usage
    • Rename F&S device trees, drop architecture prefix, add "q" or "dl" on fsimx6
    • Add atmel/mxt224.cfg to firmware directory, use on F&S device trees
    • Fix coding style and tabulation on Focaltech ft5x06_ts_v2 driver
    • Clean up ft5x06_ts_v2 driver, improve configuration via device tree
    • Remove dubious update feature from ft5x06_ts_v2 driver, rename to ft5x06_ts
    • Update ft5x06 device tree settings for all F&S boards
    • Move fsimx6sx iomuxc device tree settings to end of file
    • Clean up all F&S device trees
    • Ignore chip revision of Micrel KSZ8081 PHY in fixup code on i.MX6UL
    • Fix a couple of spelling errors in mxc_hdmi.c
    • Implement new display configuration for armStoneA9, armStoneA9r2, efusA9
    • Add device trees for PicoMODA9
    • Add phy fixup for DP83848 ethernet phy on PicoMODA9 to set correct LED mode
    • Add copy method for firmware files, rename mxt224.cfg to mxt224.cfg.copy
    • By default use LCD on efusA9, armStoneA9 and LVDS0 on armStoneA9r2, PicoMODA9
    • Use RGB666 for LCD on PicoMODA9, not BGR666
    • Synchronize device trees for PicoMODA9 with other F&S boards
    • Add "q" or "dl" to board_name in bdinfo
    • Add esmt pcap touch found on some URT dislpays
    • Fix spelling error for picomoda9dl.dtb in arch/arm/boot/dts/Makefile
    • Add HID Multitouch to defconfigs for fsimx6, fsimx6ul, fsimx6sx
    • Improve eMMC support on efusA9
    • Add support for second ethernet port on fsimx6ul and fsimxsx
    • Fix ethernet clock chains in i.MX6UL and i.MX6SX clock trees
    • Remove i.MX6Q, i.MX6SL, i.MX7D CPU types from fsimx6sx_defconfig
    • Go back to mxsfb.c and ldb.c from kernel 3.14.52 to get LVDS working again
    • Add new display configuration method for fsimx6ul and fsimx6sx

    buildroot-2016.05-fsimx6ul-V2.0 (19.08.2016)
    Supported Boards: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, efusA7UL, CubeA7UL, efusA9X

    • Fix freetype changes of include paths for older packages
    • Fix qt5base compilation
    • Rebase to buildroot-2015.11.1
    • On F&S boards, final_script_min must create /etc/profile.d
    • Reorganize final script system for F&S boards
    • Update GPU packages to be used with i.MX6-SoloX

      • Update package imx-gpu-viv from 5.0.11.p4.5 to 5.0.11.p7.1
      • Update package xdriver_xf86-video-imx-viv from 5.0.11.p4.5 to 5.0.11.p7.1
      • Update package imx-lib from 3.14.28-1.0.0 to 5.1
      • Update package firmware-imx from 3.14.28-1.0.0 to 5.2

    • Create separate support for fsimx6sx (fsimx6sx_min/std_defconfig)
    • Add patch for ncurses-5.9 to be compatible with gcc-5.x
    • Add EGL support to fsimx6
    • On F&S boards remove screen blanking in xorg.conf
    • Switch F&S kernel build to BR2_LINUX_KERNEL_CUSTOM_LOCAL
    • Rebase to buildroot-2016.02
    • Add ptp-gadget package
    • Switch NXP-based F&S boards to fs-toolchain-5.2.0-armv7ahf
    • Add support for CubeA7UL
    • Add device trees and bdinfo based login_tty to fsimx6_{min,std}_defconfig
    • Switch to imx-gpu-viv/xserver-xorg-video-imx-viv 5.0.11.p8.3
    • Improve fsimx6_std_defconfig with regard to display issues
    • Remove TWM, DirectFB and input-event-daemon from fsimx6_std_defconfig
    • Update multimedia libraries for i.MX6

      • Update firmware-imx, imx-lib and imx-kobs to 5.4
      • Update imx-vpu to 5.4.33
      • Rename libfslcodec to imx-codec, update to 4.0.9, move to freescale-imx
      • Rename libfslparser to imx-parser, update to 4.0.9, move to freescale-imx
      • Rename libfslvpuwrap to imx-vpuwrap, update to 4.0.9, move to freescale-imx
      • Change all packages that depend on the above modifications

    • Add imx-gst1-plugin to gstreamer1 package
    • Switch from gstreamer-0.10 to gstreamer-1.x on fsimx6
    • Fix compilation of imx-gst1-plugin
    • Rebase to buildroot-2016.05
    • In imx-gpu-viv, use x11 output if X11R7 active, fb otherwise
    • Use uImage for kernel image again (was accidentally dropped in last rebase)
    • Bring IMX libraries in sync with upstrem (git repo)
    • Add e2fsprogs package to allow eMMC configuration and formatting
    • Add iw package for WLAN on CubeA7UL
    • Drop architecture prefix from F&S device tree names
    • Add fsimx6_qt5_defconfig, includes most Qt5 packages and all Qt5 examples
    • Add device trees for PicoMODA9 to fsimx6_{min,std}_defconfig
    • Improve cubea7ul build
    • Move .Xauthority file to /var/run
    • Use uImage for kernel image again on F&S boards
    • Bring fsimx6{ul,sx}_std_defconfig in sync with fsimx6_std_defconfig
    • Add fbdev sink to F&S defconfigs with gstreamer-1.0


    • gpio: Show GPIO handling: export, direction, value (input and output)
    • spidev: Show SPI handling for sending and receiving data
    • pwm: Show PWM handling: export, period, duty cycle
    • leds: Show LED handling: brightness or trigger
    • backlight: Show backlight handling: brightness
    • adc: Show ADC handling
    • can: Show CAN handling: send and receive
    • evtest: Show event data of /dev/input/event*
    • gstreamer: Show simple gstreamer handling: audiotestsrc and videotestsrc


    • New toolchain fs-toolchain-5.2.0-armv7ahf.tar.bz2
    • Default configuration uses armv7-a with hardware floating point (hf)
    • Support for C and C++
    • Full support for C11 standard and OpenMP 4.0
    • Partly support for C++14 standard
    • Uses glibc-2.22
    • Includes binutils-2.25.1


    • Update to version 1.1 of FSiMX6UL_FirstSteps_eng.pdf
    • Add version 1.0 of efusA7UL-GPIO-ReferenceCard_eng.pdf
    • Update to version 004 of efusA7UL_Hardware_eng.pdf
    • Update to version 0.4 of efus_DG_eng.pdf
    • Update to version 1.16 of efus_SINTF_eng.pdf

    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.

    Edited once, last by fs-support_HK ().