Posts by fs-support_HK

    With this 5.4 release, we will join i.MX6, i.MX7ULP and i.MX8 to use the same code base and we will try to make the i.MX8 code work more in the F&S way of doing things, i.e. the way that our customers are used to. This requires some basic modifications (compared to the NXP way of doing things) in how we boot our systems, especially because some new boards will boot from eMMC only, so that our previous NBoot will not work in the same way anymore. Kernel is already ported to the new version, Buildroot and Yocto still require updates and of course U-Boot and the boot environment in general will still need some work. And of course a lot of fine tuning and testing of the device drivers. So we do not expect a regular release before November.

    I'm a little bit confused by the mode list from the xrand output. This seems to be a rather generic list, not a list that is assembled from the EDID data of this specific display. So my guess would point to a problem when reading the EDID data. Unfortunately I do not have the full boot messages, so I can not tell if there is something going wrong.


    How did you get the EDID specificiations that you listed above? Was this some output of a Linux command on our board?


    Your F&S Support Team

    In the past, on the fsimx6 platform, the backlight was only switched on once at start. But is was not switched at all when the display was disabled and/or enabled at runtime. Strictly speaking, this was not correct. But making this work requires a matching name between backlight and display, which is done by the fb-names entry. This entry already existed in the past, but the name(s) given there did not match the internally generated framebuffer names, because the framebuffer names were based on some hardware units of the CPU, namely the IPU number and the display port number on the IPU. In our device tree, you do not have to care about IPU and display port. You just need to set the MXCFB_* macros and everything else is determined automatically. Unfortunately it was not possible to also create an appropriate name for the backlight in this concept, so the name never matched. So actually all backlights were always enabled, which was why it happened to work for you.


    We changed this in the new version. Now the internal framebuffer names are named after their function, so the framebuffer used for LCD is named "lcd", the framebuffer used for HDMI is named "hdmi" and so on. Now, the mapping is rather simple and the switching actually works. But this means that a backlight correctly stays disabled if the corresponding display framebuffer is not active. This is why the backlight was off in your scenario when using the new version.


    Our default device tree maps this backlight to the LVDS display(s), but you use it for the LCD display. This is perfectly OK, but you needed to change this mapping accordingly to make it work.


    Your F&S Support Team

    Do you use this backlight with an LVDS display or is the display connected to the RGB-LCD port? In the latter case, you have to change the following line in the backlight_ldb node from

    Code
    1. fb-names = "ldb0", "ldb1";

    to

    Code
    1. fb-names = "lcd";

    And maybe it makes sense to change the node name, too, because otherwise it would be misleading.


    Your F&S Support Team

    The default loadaddr has changed from kernel 4.1 (fsimx6-V3.1) to 4.9 (fsimx6-B2020.04). Now it is 11000000 (previously 10800000) and the device tree is loaded to 12000000 (previously 11000000). When you still have the old settings, you most probably did not erase the U-Boot environment when upgrading U-Boot. Issue the following commands in U-Boot


    nand erase.part UBootEnv

    reset


    Now you should have the correct default settings and the kernel will boot. Of course if you had set some own variables, you have to do this again now.


    The reason for this change is that the new kernel image uses more space when unzipped. With the old settings, it will overwrite the device tree that is stored behind it, which causes the kernel to fail. This is why it still works with your kernel that is slightly smaller.


    Thanks for pointing out the problem with the clock settings. This is in fact a bad setting in the armstonea9qdl.dtsi device tree. I have attached a small patch that will fix this. Apply to the source code with the following command

    Code
    1. patch -p1 < 0001-Fix-audio-clock-settings-in-armstonea9qdl.dtsi.patch

    Please note the less-than character for input redirection.


    Your F&S Support Team

    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:


    fsimx6-B2020.04.tar.bz2

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


    sdcard-fsimx6-B2020.04.tar.bz2

    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

    Code
    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.

    Code
    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.

    Code
    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.

    Code
    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.


    [VN38]

    • 0003890: Add SD boot fuse settings

    [VN39]

    • 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

    [VN40]

    • 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

    [VN41]

    • 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


    Examples
    • No changes


    Toolchain

    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


    Documentation
    • 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

    Are you sure that it is the GPIO driver that does the harm and not the effect of setting the GPIO. For example if the GPIO switches something on, then maybe the power supply is not stable enough, the voltage drops and *this* is the reason why the board stops responding. Just as an idea.


    Your F&S Support Team

    I think this is intended behavior. Let me explain.


    When a board is shut down with poweroff, all filesystems are unmounted and all drivers are stopped. Then the system issues a special "Wait for Interrupt" instruction and the SoC will drive a power-off signal. However only a few of our new PicoCore boards are actually capable of shutting down the power as a result to this signal, and this also needs help from the baseboard to actually cut off the power supply. Most F&S boards can not do this, the efusA9 being one of them. So in these cases, the board simply remains in the "Wait for Interrupt" state. If the watchdog is not used, then this state will remain forever, unless you have some other interrupt source active. However if the watchdog is active, then it can not be switched off again. This means the watchdog will trigger an interrupt after some time, which is after 128 seconds in our case (the maximum delay that is possible with the i.MX6 watchdog hardware). If the board would be powered off, then you would never see this interrupt. But as it isn't powered off, the system properly reacts to this interrupt an reboots.


    So if you really want to stop the board, you have to make sure that the board is actually powered off, for example by switching your power supply with a GPIO. Otherwise you will always have a reboot if you have the watchdog active.


    Your F&S Support Team

    Ok, try the following. In the device tree efusa9x.dts, replace the node


    with

    Code
    1. backlight_lcd {
    2. compatible = "pwm-backlight";
    3. pwms = <&pwm6 0 5000000 0>;
    4. power-supply = <&reg_ldb_bl>;
    5. brightness-levels = <0 1 5 10 18 28 41 56
    6. 73 92 113 137 163 192 222 255>;
    7. default-brightness-level = <14>;
    8. fb-names = "mxs-lcdif0";
    9. };

    This copies the relevant stuff from backlight_ldb to backlight_lcd and enables the backlight_lcd in any case. Please note that also all #ifs around the node are gone. Then rebuild the device tree (in case of Buildroot this is make linux-rebuild all) and store it on the board.

    When we use the LCD display on efus, we usually have a RGB adapter attached. for example the ADP-EDT1. This adapter then also handles the backlight with the help of a PCA9632 chip accessed via I2C. This is why we have associated the pins BL_CTRL (Pin 87) and BL_VBL_ON (Pin 89) with LVDS. I believe you are doing it differently. Can you explain a little bit more in detail where your backlight is connected and whether you are using such an RGB adapter or not.

    Quote

    To verify it I created a boot logo for the kernel (our company logo on white background).

    I also tried to send a raw image to /dev/fb0.

    Misusing the Tux-Logo for a company logo is the wrong way of doing things. The Tux will appear as often as you have cores in the system. So for example on a Quad-Core-CPU, you will have four Tux-Logos shown. This is not what you want.


    The first option to show such a logo is in U-Boot. When you are using B2019.11, then this feature is available.


    The second option is to have a Splash Screen in Linux. There is already a package in Buildroot that allows doing this, even with an additional progress bar. We have a documentation that shows how this is is done.

    By default, i.e. on the (text) console, automatic blanking actually *is* active. The console will be blanked after 10 minutes of inactivity and will be switched on again by a mouse movement or an arbitrary key. (The key has to come from a connected keyboard, sending a character from the terminal program through the serial line does of course not trigger unblanking).


    So it is actually the result of the GUI if screen-blanking is switched off. Then it is also the job of the GUI to switch it back on. Qt has appropriate settings, X11 has the x11screensaver, other GUIs should have similar functions for screensavers, too.


    Your F&S Support Team

    If your image is coming from a filesystem for example on USB stick or SD card, then you can also read the file in parts to RAM and then store each part on eMMC. Then you do not need to split up the file beforehand.


    The generic form of the load command is:

    Code
    1. load <device> <n> <ramaddr> <filename> <bytes> <offset>

    For example if you have 512MB of RAM, you can load your image in chunks of 256MB (0x10000000 bytes or 0x80000 sectors).

    Code
    1. load usb 0 $loadaddr emmc.img 10000000 0
    2. mmc write $loadaddr 0 80000
    3. load usb 0 $loadaddr emmc.img 10000000 10000000
    4. mmc write $loadaddr 80000 80000
    5. load usb 0 $loadaddr emmc.img 10000000 20000000
    6. mmc write $loadaddr 100000 80000
    7. load usb 0 $loadaddr emmc.img 10000000 30000000
    8. mmc write $loadaddr 180000 80000
    9. ...

    Please note that this is slightly more complicated if you use an SD card because you have to switch mmc devices in between.


    See also chapters "5.8.5 High-Level Read From Filesystem" and "5.9.3 Save to SD Card or eMMC" in the current Linux on F&S boards documentation. Chapters "5.10.2 Copy an External SD Card to Local eMMC" and "5.10.3 Copy Individual Files From USB Stick to Local eMMC" show similar examples in more detail.

    Some additional information to the PicoCoreMX6MX display support.


    When using our Starterkit baseboard PicoCoreBBRGB, displays are often connected via an RGB adapter like the aST-ADP-EDT1. This adapter contains an analog resisitiv touch controller and an LED controller used to drive the display power and backlight brightness. Both devices are accessed via I2C and should be powered all the time. However the baseboard PicoCoreBBRGB has a small bug so that the power to these two chips also depends on the VLCD power. So if the display power VLCD is switched off when starting, which is the normal case, then the corresponding drivers do not find their devices and the whole touch and display power logic will not work at all. Which means the display can not be activated. So don't be surprised if the display does not work with the original device tree.


    We have added a workaround to the device tree file picocoremx6sx.dts. For using the workaround, you have to disable the default settings for VLCD_ON and activate a different setting, that is already provided as a comment. Then VLCD_ON is active at startup and the devices are found. This will work as long as the display is not blanked again. But of course this means you can not switch the display on and off as you like, it has to be constantly powered.


    Please note that this is only a bug on our baseboard, not on the PicoCoreMX6SX itself. If you provide your own baseboard, you can avoid this problem completely. We will fix this problem with the next revision of the PicoCoreBBRGB baseboard.


    Your F&S Support Team

    F&S i.MX6SX Buildroot Release (29.11.2019)

    Please see the file


    doc/FSiMX6SX_FirstSteps_eng.pdf


    for a description of how everything is installed and used.



    This is a major release for fsimx6sx. fsimx6sx is the software for all boards from F&S that are based on the i.MX6-SoloX CPU from NXP (or i.MX6SX for short). Currently these are the modules efusA9X, PicoCOMA9X and PicoCoreMX6SX. 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 new board PicoCoreMX6SX


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



    3. New U-Boot 2018.03


    We have a considerably newer U-Boot now. One of the main new features is display support, so basically U-Boot can now be used to show a splash screen.


    U-Boot will also show more information about the CPU type now, for example temperature range, possible speed, etc. The command "clocks" will show much more information about internal clock rates. And USB storage devices are detected faster and more reliably than before.


    U-Boot has experienced quite a lot of internal restructuring. For example it now also supports configuration via a Kconfig menu, similar to Linux kernel and Buildroot. After configuration with


    Code
    1. make fsimx6sx_defconfig


    simply call


    Code
    1. make menuconfig


    to show the menu. There you can select and de-select entries or move to sub-menus.


    Moving all configuration options from the previous header file to this menu is a long-term and still on-going process. So not all features are available in the menu, yet.


    U-Boot is now compiled and running in THUMB mode. This saves space that is needed for all the display code.



    4. New Linux kernel 4.9.88


    The Linux kernel is now based on 4.9.88. By default, we are using the zImage format of the kernel now, not the uImage format as before. Here are some of the new features since the previous kernel 4.1.15.


    • Improvements and optimizations in memory management, for example better heap and page management (tmpfs, shmem), better protection against attacks by implementing stack, heap and memory randomization.
    • Performance optimizations for the network stack, like faster TCP connections, quick killing of hanging network links, more features for the packet filter (firewall), smaller latencies on WLAN.
    • Optimizations in block layer, for example better Device Mapper for LVM, improved parallel access to directories, more efficient access to SSDs, parallel access for NFS, kernel support for file copy, server-side copy for CIFS, NFS, XFS, support for hard discs with host-managed SMR (Shingled Magnetic Recording).
    • Optimizations on file systems (NTRFS, EXT4, F2FS, NFS, XFS, Overlayfs, Ceph), new cluster filesystem Orangefs
    • Many improvements in graphics stack, like DRM (Direct Rendering Manager), new open source graphics driver etnaviv for Vivante graphics on i.MX CPUs (etnaviv = vivante backwards)
    • Better load balancing of processes to CPU cores, new cgroups v2, improved power and frequency handling, new cpufreq governor schedutil.
    • New GPIO infrastructure not using sysfs, supposed to be faster.
    • Support for USB SuperSpeedPlus (USB 3.1).
    • Many many new and improved drivers for WLAN chips, touch controllers, audio codecs, cameras, MMC/SD cards, etc.


    Of course there are also many changes for other CPU types (like x86) and other graphics cores (like AMD, Nvidia, Intel) but these are not of interest here.



    5. 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.


    6. 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.



    7. 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.


    //#define DISPLAY_LVDS_CHIMEI



    8. New driver for Silex WLAN


    In the past, the Silex WLAN driver was only available as a binary package. Now, for Linux 4.9.88, the driver is an open-source version that is built as part of Buildroot. This means you are more flexible with changes of the networking stack or specific configurations of the driver. A second package provides the firmware files. Please use exactly these, they contain modifications that are specifically adapted to our boards.


    Unfortunately we did not get patches for a newer bluez version in time. So Bluetooth is still based on bluez-5.39. Maybe we can improve this with a patch later.



    9. 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 FSiMX6SX_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 FSiMX6SX_FirstSteps_eng.pdf document now really only shows a basic introduction to the work with boards of the fsimx6sx 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 regular i.MX6SX release (not counting the intermedieate release for PicoCoreMX6SX). 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_39.bin (VN39) (14.11.2019)

    Supported Boards: efusA9X, PicoCOMA9X, PicoCoreMX6SX


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


    [VN36]

    • 0003367: efus VLCD_ON and VCFL_ON could be high after power on
    • 0003369: On i.MX6UL/ULL, add support for speed limitation to 528 MHz
    • 0003370: On i.MX6UL/ULL, DVS is on NAND_DQS which is configured as output high by Boot ROM
    • 0003376: Mask HAB HDR to support different ROM code versions
    • 0003377: Use different DDR settings for new efusA7UL board rev. and UL/ULL
    • 0003380: Correct speed table for ULL
    • 0003381: Add processor specific fuse settings for HAB
    • 0003384: Use different IOMUX for ULL tamper pins
    • 0003385: Version should be VSxx for secure loader
    • 0003333: Wrong pins for config jumpers used


    [VN37]

    • 0003549: Secure Boot support new CPU revisions
    • 0003807: Add new boards
    • 0003808: add customer specific variant
    • 0003809: add bootoption for SD card for armStoneA9
    • 0003810: add WLAN2 option in boardfeatures
    • 0003811: skip M4 when using serial download
    • 0003812: fix clock settings in Init_Clocks
    • 0003813: add missings init code for PicoCOMA7
    • 0003814: debug uart does not work for Solo/DualLight CPU on QBlissA9r2
    • 0003815: USB connection makes nboot unresponsive
    • 0003398: efusA7UL: board revision > 1.20 outputs string ">=1.20 detected"

    [VN38]

    • 0003890: Add SD boot fuse settings
    • 0003979: Add pin for GAR1 boardrevision

    [VN39]

    • 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
    • 0004113: Add new board GAR2



    u-boot-2018.03-fsimx6sx-B2019.11 (29.11.2019)

    Supported boards: efusA9X, PicoCOMA9X, PicoCoreMX6SX, efusA7UL,PicoCOM1.2, PicoCoreMX6UL

    Not tested: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, armStoneA5, NetDCUA5, PicoCOMA5

    • Improve auxiliary core support
    • Add option to switch off EEE (Energy Efficient Ethernet) for Atheros PHY
    • Backport i.MX6ULL support from u-boot-2016.03 rel_imx_4.1.15_2.0.0_ga
    • Add support for efusa7UL board rev. 1.22 with i.MX6ULL
    • Add CONFIG_IMX_THERMAL to fsimx6/ul/sx to show speed grading and temp range
    • Fix i.MX6ULL pad settings that differ from i.MX6UL
    • Enhance speed grade detection and temperature output on i.MX6UL/ULL
    • Combine mx6ul_pins.h and mx6ull_pins.h to mx6ulull_pins.h
    • On fsimx6ul, add platform names for variants with i.MX6ULL, e.g. efusa7ull
    • Deactivate VLCD_ON and VCFL_ON in U-Boot on fsimx6/sx/ul
    • Initialize DVS signal on fsimx6ul
    • Revert change to IC_INTERFACES_BASE_ADDR in imx-regs.h
    • On fsimx6ul, add option to limit the CPU to 528 MHz
    • Fix problem with slow USB sticks
    • Toggle WLAN_EN and BT_EN on efusA9X
    • Add support for I2C GPIO expander, toggle WLAN_EN/BT_EN on efusA7UL
    • Improve PLL decoding and clocks command output on i.MX6
    • Add BGR666 pixel format to ipu_disp.c, required for display on efusA9
    • Add IPU clocks for i.MX6
    • Enhance IPU graphics support for i.MX6
    • Fix video and nulldev stdio devices
    • Add I2C_PADS and I2C_PADS_INFO to mxc_i2c.h
    • Add F&S company boot logo
    • Add LCD and LVDS display support for fsimx6
    • Use THUMB code on fsimx6/sx/ul
    • In ipuv3_fb_shutdown, check if at least one display was active
    • Add support for PicoCOMA7
    • Remove unnecessary debug message in fsimx6.c
    • Add I2C_PADS and I2C_PADS_INFO also for other i.MX6 variants
    • Add support for i.MX6UL and i.MX6SX to mxsfb display driver
    • Add display support to fsimx6sx/ul
    • Add PicoCoreMX6UL
    • Add PicoCoreMX6SX
    • Add SD card support to PicoCOREMX6UL
    • Replace GPL comments in F&S files with SPDX-License-Identifier
    • Fix TAGS file creation
    • Add missing checks for MXC_CPU_MX6SOLO in clock.c
    • Switch off backlight and display voltages when booting Linux
    • Add fix for eMMC with activated Enhanced Mode
    • Drop support for fss5pv210 (armStoneA8, NetDCU14, PicoMOD7A)
    • Drop support for fsam335x (never released)
    • Reduce differences to mainline U-Boot
    • F&S boards: Update loadaddr, add fdtaddr, use zImage by default
    • Switch F&S boards to CONFIG_SYS_GENERIC_BOARD
    • Add get_reset_cause() for Vybrid
    • Move F&S specific FDT code to board/F+S/common/fs_fdt_common.[ch]
    • Move F&S common board code to board/F+S/common/fs_board_common.[ch]
    • Move NBoot args from bootm to F&S specific code
    • Move F&S specific mmc code to board/F+S/common/fs_mmc_common.[ch]
    • Move F&S specific ETH code to board/F+S/common/fs_eth_common.[ch]
    • Show new device if usb dev <n> switches storage devices
    • Update F&S specific USB code and move to board/F+S/common/
    • Remove earlyusbinit feature
    • Improve F&S display code and move to board/F+S/common/fs_disp_common
    • Combine and improve display clock code for i.MX6QDL/SX/UL/ULL
    • Move display specific i.MX6 clock code to clock-ipuv3.c/clock-mxsfb.c
    • Rebase to u-boot-2014.10
    • Add defconfigs for fsimx6/sx/ul/fsvybrid
    • Rebase to u-boot-2015.01
    • Change fat.c and wildcard.c to reflect interface changes
    • Allow swapping color channels on mxsfb
    • Rebase to u-boot-2015.04
    • Rebase to u-boot-2015.07
    • On F&S boards, move some command definitions from .h to defconfig
    • Change meaning of loadaddr, always set fileaddr
    • Change RPMsg ring buffer initialization on fsimx6sx
    • Rebase to u-boot-2015.10
    • Move F&S boards from arch/arm/Kconfig to arch/arm/cpu/armv7/mx6/Kconfig
    • Rebase to u-boot-2016.01
    • Fix reset issues for ETH PHYs on F&S boards
    • Rebase to u-boot-2016.03
    • Rebase to u-boot-2016.05
    • On F&S boards, move more CMD settings from .h to defconfig
    • Move set_working_fdt_addr() from cmd/fdt.c to common/image-fdt.c
    • USB hub handling needs some delay before resetting ports
    • Fix fsl_esdhc_cfg handling when using GPIOs for Card Detect (CD)
    • Rebase to u-boot-2016.07
    • Have option to keep CONFIG_BOOTDELAY unset
    • Change nand chip allocation in fsl_nfc_fus.c and mxs_nand_fus.c
    • Rebase to u-boot-2016.09
    • Remove unnecessary flush_cache() from cmd/net.c
    • Move CONFIG_USB_STORAGE from .h to defconfig on F&S boards
    • Remove ram_base from global data
    • Enable mtest command (CONFIG_CMD_MEMTEST) on F&S boards
    • Rebase to u-boot-2016.11
    • Remove patch_sercon() from boot code
    • Move console, UBI and NAND settings from .h to defconfig on F&S boards
    • Handle non-standard CONFIG settings on F&S boards
    • Rebase to u-boot-2017.01
    • Remove CONFIG_USE_ARCH_MEM* from fsvybrid/fsimx6/sx/ul.h
    • Add F&S specific versions of memmove() and memset32() to Kconfig
    • Rebase to u-boot-2017.03
    • Fix status LED infrastructure
    • On F&S boards, move LED, BOARD and some CMD settings to defconfig
    • Rebase to u-boot-2017.05
    • Bring back rudimentary IRQ support for F&S boards
    • Rebase to u-boot-2017.07
    • Reduce diff to mainline u-boot-2017.07
    • Fix const const problems revealed by gcc-7
    • Rebase to u-boot-2017.09
    • Move more F&S configs from *.h to *_defconfig (environment, cmds)
    • Move loadaddr stuff from cmd/nvedit.c to common/image.c
    • Add F&S specific configs to Kconfig
    • Rebase to u-boot-2017.11
    • Add F&S FAT driver again, available as option
    • memcpy.S for ARM must not modify r9
    • Rebase to u-boot-2018.01
    • Rebase to u-boot-2018.03
    • Enable commands env callbacks and env flags on F&S boards
    • Add F&S NAND refresh feature to drivers/mtd/nand/Kconfig
    • Add a missing conversion from r9 to r10 in memcpy()
    • Clean up error message if env can not be loaded
    • Skip extra check for ethaddr if set with setenv
    • Avoid assert messages in ubifs
    • Reset WLAN chip on armStoneA9r2
    • Fix F&S platform/device tree name on ULL platforms
    • Add new F&S default LVDS display (24bpp), add backlight power switching
    • Handle USB storage devices more reliable
    • Fix fatsize command
    • Remove debug output for display settings on F&S boards
    • 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



    linux-4.9.88-fsimx6sx-B2019.11 (29.11.2019)

    Supported boards: efusA9X, PicoCOMA9X, PicoCoreMX6SX, efusA7UL,PicoCOM1.2, PicoCoreMX6UL

    Not tested: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, armStoneA5, NetDCUA5, PicoCOMA5

    • Add checks to efusa9x.dts to avoid errors when not using audio
    • Add LED trigger to show link up/down status for ethernet PHY
    • Update to rel_imx_4.1.15_1.2.0_ga (Add support for i.MX7D)
    • Update to rel_imx_4.1.15_2.0.0_ga (Initial support for i.MX6ULL)
    • Update to rel_imx_4.1.15_2.0.1_patch
    • Update to rel_imx_4.1.15_2.0.2_patch (Support for i.MX6ULL 800 MHz)
    • Update to rel_imx_4.1.15_2.0.3_patch (Support for i.MX6ULL 900 MHz)
    • Revert bad display settings on efusA7UL
    • Backport differing pad settings for i.MX6ULL from rel_imx_4.9.x_1.0.0_ga
    • Improve i.MX6ULL settings
    • Add efusa7ull.dts and support for efusA7UL board rev 1.22
    • Keep cont1.dts in sync with other fsimx6sx boards
    • Re-enable operating points for 792 and 900 MHz on i.MX6ULL
    • Add i.MX6ULL to fsimx6ul_defconfig
    • Add property fsl,rx_fifo_trig to i.MX6 UART driver
    • On i.MX6, add support for BT656 and BT1120 output on IPU
    • Add support for ADV7391 video encoder
    • Add analog video output to fsimx6, using BT656+ADV7391
    • Improve adv739x driver to allow setting chip type
    • On i.MX6, add support for 4-channel camera input ISL79985/79987
    • Add support for ISL7998X 4x camera MIPI decoder on fsimx6
    • Add PAL/NTSC support for isl7998x_mipi.c, improve driver
    • Add more network features to fsimx6/ul/sx defconfigs
    • Add bluetooth support to fsimx6sx/ul
    • Update to rel_imx_4.9.11_1.0.0_ga
    • Improve semtech sx8654 driver support reverse coordinates
    • Fix compiler errors after merge of several files
    • Add Support for PicoCOMA7
    • Use new F&S Tux logo when booting
    • Use spinlock in isl7998x_mipi driver
    • Update to rel_imx_4.9.88_2.0.0_ga
    • Add picocoremx6ull.dts
    • Improve armstonea5 device tree
    • PicoCOMA9X: correct reference to EMMC card detect
    • Improve CPU specific function calls in busfreq-imx.c
    • Add support for PicoCoreMX7ULP
    • Fix auxiliary_core driver memory leak
    • Add DMA mode to IMX6SX_CLK_ECSPI5
    • imx6sx: deactivate usbphy_nop1 per default
    • Add device tree: picocorea9x
    • Improve picocoremx6ull.dts - audio and UL/ULL variant
    • Fix nand flash error - enable edo mode
    • Correct distinction between UL and ULL
    • Adapt fs_rpmsg example to new rpmsg API
    • Fix efusa9x/picocoma9x rpmsg-vring entries
    • Improve RTC support on qblissa9r2
    • Renamed picocorea9x.dts to picocoremx6sx.dts
    • Add picocoremx6sx M4-support
    • Fix two bugs in M4 support regarding the kernel update to 4.9.88
    • Add support for Toshiba TC358762 DSI to RGB converter
    • Improve mxsfb driver support i.MX6 & i.MX7
    • Support new F&S Tux logo on fsimx7ulp_defconfig
    • Improve mipi_dsi_northwest driver - get DT disp params
    • Improve TC358762 driver - support reset gpio pin
    • Support LCD display on picocoremx7ulp
    • Improve fsimx7ulp_defconfig
    • Improve picocoremx7ulp.dts
    • Add Power_Reset to fsimx7ulp_defconfig
    • Improve fsimx7ulp_defconfig WLAN module
    • Support for USB-Device in PicoCoreMX7ULP
    • Improve picocoremx7ulp
    • Add support for RTC PCF85063 to fsimx6ul_defconfig
    • Improve PicoCoreMX7ULP device tree
    • 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
    • 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 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
    • 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



    buildroot-2019.05.1-fsimx6sx-B2019.11 (29.11.2019)

    Supported boards: efusA9X, PicoCOMA9X, PicoCoreMX6SX, efusA7UL, PicoCOM1.2, PicoCoreMX6UL

    Not tested: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, armStoneA5, NetDCUA5, PicoCOMA5

    • Add Wayland/Weston support to cairo and imx-gpu-viv
    • Add efusa7ull device tree to all fsimx6ul defconfigs
    • Rebase to buildroot-2016.08.1
    • Rebase to buildroot-2016.11.3
    • Rebase to buildroot-2017.02.5
    • Rebase to buildroot-2017.05.2
    • Remove unnecessary InputSetScreen.patch from xserver
    • Set rootfs.ext2 size manually to every config
    • Rebase to buildroot-2017.08
    • Remove recursive dependency at imx-gst1-plugin
    • Remove legacy packages in fsimx6_qt5_defconfig
    • Add linux-custom strategy to fsimx6_qt5_defconfig
    • Activate freescale and EGL packages in qt5_defconfig
    • Add patches for Silex QCA9377 to bluez5_utils
    • Use bluez5_utils instead of bluez4_utils on F&S boards
    • Update silex-wlan-fs package to v4.1_01272017-1
    • Use bluez5_utils v5.39
    • Add missing dependency in xdriver_xf86-video-imx-viv
    • Remove legacy configuration in defconfigs
    • Switch to new local_kernel_custom strategy
    • Rebase to buildroot-2017.11.2
    • Remove qt5 patch 0010-EGL-fb-lib-inclusion.patch
    • Rebase to buildroot-2018.02.2
    • Remove bluez5_utils patch 0002
    • Update imx-gpu-viv to 6.2.2.p0-aarch32
    • Fix qt5base build issue without x11/xcb
    • Rebase to buildroot-2018.05
    • imx-gpu-viv: fix install step and be compatible
    • Rebase to buildroot-2018.08-rc2
    • Remove legacy options
    • Increase size for ext2 and ubifs filesystem
    • Update defconfigs to use linux 4.9.11
    • Add imx firmware to fsimx6_std_defconfig
    • Rebase to buildroot-2018.08
    • Correct version of imx packages (firmware, g2d, gpu)
    • Add XDRIVER_XF86_VIDEO_IMX_VIV to fsimx6_std_defconfig
    • Shrink qt5 rootfs to a usable size (soloX)
    • fsimx6ul: Remove xf86-input-tslib, set xserver to 1.17.4
    • Remove tslib from all imx6, imx6sx, imx6ul defconfigs
    • Update version of imx packages for kernel 4.9.88
    • Add package sterling-wlan-fs for F&S boards
    • Add fsimx7ulp_std_defconfig
    • Fix xserver startup issue in /etc/init.d/
    • Set kernel version to 4.9.88 in fsimx6* defconfigs
    • Build device tree: added picocorea9x
    • Add erpc python package for AMP-example
    • fsimx6ul_std_defconfig: correct imx-platform
    • Rebase to buildroot-2018.11
    • fsimx6ul_qt5_defconfig: set linuxfb as default platform
    • fsimx6ul_qt5_defconfig: correct imx-platform
    • Add fsimx7ulp_qt5_defconfig
    • Rename device tree from picocorea9x to picocoremx6sx
    • Change kernel load address for i.MX6 CPUs
    • Fix python-erpc package
    • Update silex-wlan-fs package to v4.1_01272017-2
    • fsimx7ulp: Remove xf86-input-tslib, set xserver to 1.17.4
    • Add fsimx7ulp_min_defconfig
    • Fix invalid pointer in passwd
    • 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
    • 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 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



    Examples


    (no changes)



    Toolchain


    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


    Documentation

    • Update to version 2.0 of FSiMX6SX_FirstSteps_eng.pdf
    • Add new version 0.2 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

    You are right, there seems to be missing the settings for RTS/CTS. Please got to the node &uart4 in file arch/arm/boot/dts/picocoremx6sx.dts and add the following lines:


    Code
    1. #ifdef CONFIG_PICOCOREMX6SX_UART_C_RTSCTS
    2. uart-has-rtscts;
    3. #endif

    Then rebuild the device tree and download to the board.


    Thanks for pointing this out. In fact this was literally the last minute for that we could add this to the upcoming release. I was in fact about to upload the files and prepare the announcement here in the forum when I saw your message. Now it will take a little bit more, but the new release fsimx6sx-B2019.11 will still go online later today.


    Your F&S Support Team

    You add them to the filesystem already on the PC. One of the final steps of Buildroot before building the filesystem images is to call a so-called final script. This script can be used to copy some own files to the folder output/target. Then these files will be part of the root filesystem images.


    F&S already uses such a final script to copy some of our own files to the directory. These files are located in board/f+s. The name of the script is available in Buildroot's menuconfig. You can either add your own script (the entry in menuconfig can be a list of scripts, seperated by blanks). Or you modify our script and add some lines to copy your additional files.


    Your F&S Support Team