New Yocto Release fsimx7ulp-Y2020.03

  • F&S i.MX7ULP Linux Release Y2020.03 (Yocto 2.4 Rocko)

    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.

    The release consists of two files:


    fsimx7ulp-Y2020.03.tar.bz2

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


    sdcard-fsimx7ulp-Y2020.03.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

    Code
    1. tar xvf fsimx7ulp-Y2020.03.tar.bz2

    This will create a directory fsimx7ulp-Y2020.03 that contains all the files of the release.


    Please read the file


    doc/FSiMX7ULP_FirstSteps_eng.pdf.


    It describes the first steps when working with the board and gives references to further reading.


    Release Notes for fsimx7ulp-Y2020.03


    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 "Y2020.03" of this release indicates a Yocto based release from March 2020.


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


    4. Yocto 2.4 (Rocko)


    With this release systemd will be the default init system for the example- fus-images.


    Systemd is a init system and service manager for Linux operating systems. It provides a system and service manager that runs as PID 1 and starts the rest of the system. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, maintains mount and automount points, and implements an elaborate transactional dependency-based service control logic. It is configured via the systemctl application.


    Also the root file system will now be mounted as read-write by default. This can be changed to read-only when setting up the build enviroment via the fus-setup-release.sh script. See LinuxOnFSBoards_eng.pdf for a detailed description.


    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.

    =========================================================================


    u-boot-2017.03-fsimx7ulp-Y2030.03 (30.03.2019)

    Supported boards: PicoCoreMX7ULP

    Not tested: efusA9X, PicoCOMA9X, PicoCoreMX6SX, efusA7UL, PicoCOM1.2, PicoCoreMX6UL, armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, armStoneA5, NetDCUA5, PicoCOMA5


    - 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-Y2020.03 (30.03.2020)

    Supported boards: armStoneA9, armStoneA9r2, efusA9, PicoMODA9, NetDCUA9, QBlissA9, QBlissA9r2, efusA9X, PicoCOMA9X,

    PicoCoreMX7ULP, PicoCoreMX6SX, efusA7UL, PicoCOM1.2, PicoCoreMX6UL

    Not tested: 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

    - 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

    - Fixup device-trees before fsimx6ul release

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

    - 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



    yocto-2.4-fsimx7ulp-Y2020.03 (31.03.2020 based on Yocto 2.4 Rocko)

    Supported architectures: fsimx7ulp


    - Update yocto to 2.4 (Rocko)

    - Fix recipe failure optee-os-imx_git.bb

    - Add support for fsimx7ulp

    - Improve asound.state file for alsamixer

    - Remove fs-startscript from fus-image-std

    - Fix some errors so yocto-rocko can be build

    - Add new WLAN-driver based on B2019.11 release

    - Update pseudo to version 1.9 to fix host-user-contaminated warning

    - Fix fus-image-qt5

    - Add support for wayland and x11 on imx6ul

    - Fix licence file ckecksum for u-boot

    - Fix different minor things

    - Fix installation of QT-fonts only for wayland bug

    - Rework yocto built enviroment creation

    - Remove optee package from the built environment

    - Add read-only filesystem option to fus-images

    - Add fus-image-mono

    - Update .gitignore

    - Improve naming of Linux-kernel and Uboot in recipes

    - Fix Linux-kernel and Uboot recipes

    - Add fsalias.sh to fus-images

    - Add DISTRO variable to fus-distros

    - Add DISTRO variable to fus-imx-wayland

    - Set root file systems rw by default again

    - Remove matchbox from xwayland build

    - Fix failed hostname service on armstonea9r2

    - Add setting login console via bdinfo for imx6_all

    - Remove ubifs image filesystem from fsimx7ulp build

    - Add support for Marvell SD8997 wlan chip

    - Set FUS_LOGIN_CONSOLE as default login for fsimx7ulp

    - Replace imx asound.conf file as is not compatible with our boards


    Examples

    (no changes)


    power_mode_switch.img

    Taken from release: freertos-fsimx7ulp-V2020.03.1


    Documentation

    - Update to version 1.2 of FSiMX7ULP_FirstSteps_eng.pdf

    - Add new version 0.4 of LinuxOnFSBoards_eng.pdf


    Please download the hardware documentation directly from our website.

    Then you always have the newest version.

  • Fix: No login tty on non-fus images

    Unfortunately, there is an issue with the login for all non-fus images.


    If you are trying to run an image that does not come from the fus layer, e.g the core-image-minimal, you will not get a login-tty on your debug console.

    This is because with this release you can set the login in uboot, by setting the "login" environment variable using the fus-bdinfo structure.


    The non-fus images are missing the necessary scripts to get the login-tty from bdinfo, so the spawning of the login console fails.

    Because of this, we had to remove the core-image-minimal binaries from this release.

    You can build a working non-fus image by adding the recipe "fs-startscript" to your build.


    Run the following command in your build directory (e.g. build-fsimx6-fus-imx-wayland):

    Code
    1. echo "CORE_IMAGE_EXTRA_INSTALL += \"fs-startscript \"" >> conf/local.conf


    Alternatively, you can apply the patch, appended to this post, so the fus-startscript will get added to any new build you configure.


    Copy the patch to your yocto-fus root directory (where the fus-setup-release script is located) and run the following command there:

    Code
    1. patch -p1 < 001-Add-fs-startscript.patch 


    Please excuse the inconvenience


    Your F&S support team

  • Fix touch calibration for Distro X11


    Under X11 there seems to be a problem if the touch gets calibrated by e.g. xinput_calibrator. The calibrated data will not be used so it appears that the calibration does not work. To solve this problem the library xf86-input-libinput should not be installed. In appendix there is a patch which remove xf86-input-libinput from XServer.


    Your F&S Support Team

  • Fix yocto-download script not able to download meta-mono


    Currently, the yocto-download script, used to download the sources for the yocto build, is not working anymore.


    This is due to a change of the source URL of the meta-mono layer.


    To fix this please either change the line in the yocto-download script

    DOWNLOAD_URL=http://git.yoctoproject.org/cgit/cgit.cgi/meta-mono

    to

    DOWNLOAD_URL=https://git.yoctoproject.org/meta-mono


    or place the attached patch to your yocto build directory yocto-3.0-fus and run

    patch -p1 < 0001-Fix-meta-mono-URL-rocko.patch



    Your F&S Support Team