STM32MP15 OpenSTLinux release note - v2.1.0

Revision as of 17:05, 16 December 2020 by Registered User (Minor release updates)

This article describes the content of OpenSTLinux distribution software release version openstlinux-5.4-dunfell-mp1-20-11-12, which is part of STM32MP15 ecosystem release note - v2.1.0.

1 Intended audience[edit]

The targeted audience is STM32MP15 customers or partners.

2 Delivery scope and purpose[edit]

The OpenSTLinux distribution is a Linux® distribution based on the OpenEmbedded build Framework. It runs on the Arm® Cortex®-A7 processors, and is a fundamental part of the STM32MPU Embedded Software distribution.

This delivery of OpenSTLinux distribution is part of STM32MP15-Ecosystem-v2.1.0 (see the STM32MP15 ecosystem release note - v2.1.0).

3 Licensing[edit]

This software package is licensed under a LIMITED LICENSE AGREEMENT FOR ST MATERIALS EVALUATION (LLA). Customers may not use this package except in compliance with the software license agreement (SLA).

All of the packages use the same source components. All components and their respective licenses are listed here.

4 Supported hardware[edit]

This software delivery is compatible with the following boards:

5 Delivered features[edit]

5.1 Main software components[edit]

  • Linux kernel v5.4-stm32mp-r2 (v5.4.56)
  • TF-A v2.2-stm32mp-r2
  • U-Boot v2020.01-stm32mp-r2
  • OP-TEE v3.9.0-stm32mp-r2
  • STM32CubeMP1 Package v1.3.0
  • OpenEmbedded v3.1.3 (Dunfell)
  • Weston version v8.0.0
  • Wayland version 1.18.0
  • GStreamer version v1.16.2
  • GCC version v9.3
  • OpenOCD version v0.10.0
  • GCnano version v6.4.3

5.2 Detailed features[edit]

5.2.1 Kernel part[edit]

  • Rebase on Linux kernel v5.4.56
  • Add OP-TEE support in remoteproc
  • Add FMC2 EBI support
  • Add serial modem control gpio support
  • Add vbus-supply support through usbphyc
  • Add SAI PM_runtime support
  • Other fixes

5.2.2 U-boot part[edit]

  • Activate DCache in SPL and in pre-reloc step to reduce boot time
  • Handle I2C FastMode+ for STM32MP15x
  • Backport ETH patches and solve instability due to DCache managment
  • Handle OP-TEE reserved memory and fixup the associated node in kernel device tree device tree
  • Add EBI support in FMC2 driver
  • Fixup DBGMCU init to avoid boot crash
  • Use SCMI for MCU_HOLD_BOOT in remoteproc
  • Add VBus support in USB PHYC driver
  • Add Cortex-M4 firmware load with OP-TEE remoteproc TA
  • Other minor fixes

5.2.3 TF-A part[edit]

  • FMC2: Update bindings for EBI support
  • SMC: return correct error
  • TAMPER: Add PINCTRL management for tamper if defined
  • USB OTG: regulator mode update
  • Update firewall on DDR CTRL and PHY (Allow read access for non-secure)
  • Manage MCU reset through SCMI
  • Add a new RETRAM property to configure state during low power
  • Correct STGEN counter restore when returning from stop mode
  • Add support of auto stop mode management
  • Correct the exception fault return address
  • Other minor fixes + all fixes already published after STM32MP15 ecosystem release v2.0.0
  • Rebase TF-A SSP

5.2.4 OP-TEE part[edit]

  • TA: Authenticated firmware management, used for Cortex-M4 firmware loading
  • Update firewall on DDR CTRL and PHY (Allow read access for non-secure)
  • Manage MCU reset through SCMI
  • SMC: return correct error
  • USB OTG: regulator mode update
  • Other minor fixes + all fixes already published after STM32MP15 ecosystem release v2.0.0

6 Recommendations for use[edit]

6.1 Safe use[edit]

  • Flash programming and boot from all supported Flash devices: SDCard, eMMC, ONFI NAND and NOR Flash memories
  • Develop Linux® applications, libraries, kernel modules based on OpenSTLinux delivery
  • Develop coprocessor Cube applications based on STM32CubeMP1 delivery
  • Develop boards based on STM32MP15
  • Prototype applications based on ST boards

6.2 Non-recommended use[edit]

  • None

7 Main restrictions list[edit]

  • M-CAN Bus is not functional if power management is activated ("sleep" state defined in pinctrl): the issue is corrected thanks to this patch.

8 Minor release updates[edit]

STMicroelectronics regularly delivers corrections through github® components which are u-boot, optee-os, tf-a, Linux kernel.
You can decide to incorporate them into your developer package (please refer to STM32MP1 Developer Package) or Distribution package.
To update Distribution package please proceed as follow:

  1. Switch to github® mode your Distribution package.
  2. Use the command devtool modify <recipe name> to set up an environment. It will fetch and unpack the source code.
  3. In extracted source code, use git command such as git checkout -b WORK <github® TAG> to point on new revision of component.

More rarely STMicroelectronics also delivers fixes on layers through github®. These changes can be integrated (via git commands) into your local STM32MP1 Distribution Package environment. Please find below the github® links of the quoted layers :

8.1 v2.1.1[edit]

Component Recipe name new github® release
tf-a tf-a-stm32mp v2.2-stm32mp-r2.1
u-boot u-boot-stm32mp v2020.01-stm32mp-r2.1
kernel linux-stm32mp v5.4-stm32mp-r2.1
optee-os optee-os-stm32mp 3.9.0-stm32mp-r2

9 How to get started with openstlinux-5.4-dunfell-mp1-20-11-12[edit]

Refer to How to download the software and start with this release?

10 Associated tools[edit]

Refer to the Referenced tools release notes .

11 Detailed delivery content[edit]

11.1 Detailed description of STMicroelectronics layers[edit]

OpenSTLinux distribution is based on the build framework OpenEmbedded.
OpenEmbedded build framework engine is named OE-Core.
A layer is a collection of recipes and/or configurations applied on top of OE-Core.

Typically, each layer is organized around a specific theme, such as adding recipes for building web browser software.

The implemented layers are listed below, together with the list of recipes contained in each layer and the related information.

11.1.1 meta-st-stm32mp[edit]

Name of layer Description
meta-st-stm32mp BSP Layer for stm32mp
Recipe Name Path of recipe License Description
alsa-state-stm32mp1 meta-st/meta-st-stm32mp/recipes-bsp/alsa/alsa-state-stm32mp1.bb MIT Alsa scenario files to enable alsa state restoration
gcnano-driver-stm32mp meta-st/meta-st-stm32mp/recipes-bsp/drivers/gcnano-driver-stm32mp_6.4.3.bb GPLv1 & MIT GCNano kernel drivers
tf-a-stm32mp meta-st/meta-st-stm32mp/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.2.bb BSD-3-Clause Trusted Firmware-A for STM32MP1
u-boot-stm32mp-extlinux meta-st/meta-st-stm32mp/recipes-bsp/u-boot/u-boot-stm32mp-extlinux.bb MIT Generate 'extlinux.conf' file for U-boot
u-boot-stm32mp-splash meta-st/meta-st-stm32mp/recipes-bsp/u-boot/u-boot-stm32mp-splash_2018.11.bb Proprietary Universal Boot Loader Splash Screen for stm32mp embedded devices
u-boot-stm32mp meta-st/meta-st-stm32mp/recipes-bsp/u-boot/u-boot-stm32mp_2020.01.bb GPLv2+ Universal Boot Loader for embedded devices for stm32mp (trusted)
wifi-suspend meta-st/meta-st-stm32mp/recipes-connectivity/wifi/wifi-suspend.bb MIT Systemd service to suspend/resume correctly the wifi
gcc-arm-none-eabi-native meta-st/meta-st-stm32mp/recipes-devtools/gcc-arm-none-eabi/gcc-arm-none-eabi-native_7.bb GPL-3.0-with-GCC-exception & GPLv3 Baremetal GCC for ARM
nativesdk-gcc-arm-none-eabi meta-st/meta-st-stm32mp/recipes-devtools/gcc-arm-none-eabi/nativesdk-gcc-arm-none-eabi_7.bb GPL-3.0-with-GCC-exception & GPLv3 Baremetal GCC for ARM
openocd-stm32mp meta-st/meta-st-stm32mp/recipes-devtools/openocd/openocd-stm32mp_0.10.0.bb GPLv2 Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing
sdcard-raw-tools meta-st/meta-st-stm32mp/recipes-devtools/sdcard-raw-tools/sdcard-raw-tools.bb MIT script for creating raw SDCARD image ready to flash
linux-examples-stm32mp1 meta-st/meta-st-stm32mp/recipes-extended/linux-examples/linux-examples-stm32mp1.bb Proprietary ST STM32MP1 projects for Linux examples
m4fwcoredump meta-st/meta-st-stm32mp/recipes-extended/m4coredump/m4fwcoredump.bb MIT Script to manage coredump of cortexM4
m4projects-stm32mp1 meta-st/meta-st-stm32mp/recipes-extended/m4projects/m4projects-stm32mp1.bb Proprietary ST STM32MP1 Examples for CM4
gcnano-userland-multi-binary-debug-stm32mp meta-st/meta-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-debug-stm32mp.bb Proprietary [DEBUG] Vivante libraries OpenGL ES, OpenVG and EGL (multi backend)
gcnano-userland-multi-binary-stm32mp meta-st/meta-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bb Proprietary Vivante libraries OpenGL ES, OpenVG and EGL (multi backend)
linux-firmware-bluetooth-bcm4343 meta-st/meta-st-stm32mp/recipes-kernel/linux-firmware/linux-firmware-bluetooth-bcm4343.bb Firmware-cypress-bcm4343 Bluetooth firrmware for BCM4343
linux-stm32mp meta-st/meta-st-stm32mp/recipes-kernel/linux/linux-stm32mp_5.4.bb GPLv2 Linux STM32MP Kernel
optee-os-stm32mp meta-st/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp_3.9.0.bb BSD OPTEE OS for stm32mp
st-image-bootfs meta-st/meta-st-stm32mp/recipes-st/images/st-image-bootfs.bb MIT STM32MP bootfs Image
st-image-userfs meta-st/meta-st-stm32mp/recipes-st/images/st-image-userfs.bb MIT STM32MP userfs Image
st-image-vendorfs meta-st/meta-st-stm32mp/recipes-st/images/st-image-vendorfs.bb MIT STM32MP vendorfs Image
hidapi-stm32mp meta-st/meta-st-stm32mp/recipes-support/hidapi/hidapi-stm32mp_0.8.0-rc1.bb BSD-3-Clause GPLv3 Multi-platform library to interface with USB and Bluetooth HID-Class devices
libopencsd meta-st/meta-st-stm32mp/recipes-support/libopencsd/libopencsd_0.10.0.bb BSD-3-Clause SUMMARY=CoreSight Trace Decode library
Addons on recipes: configuration, patch, ..
Recipe Name Path of recipe
alsa-lib meta-st/meta-st-stm32mp/recipes-bsp/alsa/alsa-lib_%.bbappend
base-files meta-st/meta-st-stm32mp/recipes-core/base-files/base-files_%.bbappend
busybox meta-st/meta-st-stm32mp/recipes-core/busybox/busybox_%.bbappend
systemd-conf meta-st/meta-st-stm32mp/recipes-core/systemd/systemd-conf.bbappend
bison meta-st/meta-st-stm32mp/recipes-devtools/bison/bison_%.bbappend
gdb-cross-canadian meta-st/meta-st-stm32mp/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend
gdb-cross meta-st/meta-st-stm32mp/recipes-devtools/gdb/gdb-cross_%.bbappend
libdrm meta-st/meta-st-stm32mp/recipes-graphics/drm/libdrm_%.bbappend
weston-init meta-st/meta-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend
weston meta-st/meta-st-stm32mp/recipes-graphics/wayland/weston_5.0.0.bbappend
linux-firmware meta-st/meta-st-stm32mp/recipes-kernel/linux-firmware/linux-firmware_git.bbappend
pulseaudio meta-st/meta-st-stm32mp/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend

11.1.2 meta-st-stm32mp-addons[edit]

Name of layer Description
meta-st-stm32mp-addons BSP addons layer for stm32mp
Addons on recipes: configuration, patch, ..
Recipe Name Path of recipe
alsa-state-stm32mp1 meta-st/meta-st-stm32mp-addons/recipes-bsp/alsa/alsa-state-stm32mp1.bbappend
tf-a-stm32mp meta-st/meta-st-stm32mp-addons/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_%.bbappend
u-boot-stm32mp meta-st/meta-st-stm32mp-addons/recipes-bsp/u-boot/u-boot-stm32mp_%.bbappend
linux-stm32mp meta-st/meta-st-stm32mp-addons/recipes-kernel/linux/linux-stm32mp_%.bbappend
m4projects-stm32mp1 meta-st/meta-st-stm32mp-addons/recipes-extended/m4projects/m4projects-stm32mp1.bbappend

11.1.3 meta-st-openstlinux[edit]

Name of layer Description
meta-st-openstlinux OpenSTLinux layer - framework/image settings
Recipe Name Path of recipe License Description
resize-helper meta-st/meta-st-openstlinux/recipes-bsp/tools/resize-helper.bb GPLv2+ Tools for resizing the file system
usbotg-gadget-config meta-st/meta-st-openstlinux/recipes-bsp/tools/usbotg-gadget-config.bb MIT The goal is to enable USB Ethernet & MSC gadget
psplash-drm meta-st/meta-st-openstlinux/recipes-core/psplash/psplash-drm.bb MIT Basic splash screen displaying a picture on DRM/KMS
systemd-mount-partitions meta-st/meta-st-openstlinux/recipes-core/systemd/systemd-mount-partitions.bb MIT Mount partitions
systemd-networkd-configuration meta-st/meta-st-openstlinux/recipes-core/systemd/systemd-networkd-configuration.bb MIT Basic networkd configuration
lsb-openstlinux meta-st/meta-st-openstlinux/recipes-extended/lsb/lsb-openstlinux.bb GPLv2+ LSB support for checking gpu provider
openstlinux-qt-eglfs meta-st/meta-st-openstlinux/recipes-qt/qt5/openstlinux-qt-eglfs.bb MIT add script and material to help with eglfs qt configuration
ai-hand-char-reco-launcher meta-st/meta-st-openstlinux/recipes-samples/ai-nn-application/ai-hand-char-reco-launcher.bb GPLv2 & BSD-3-Clause Hand writing character recognition launcher based on HCR Neural Network
demo-launcher meta-st/meta-st-openstlinux/recipes-samples/demo/demo-launcher.bb Proprietary Python script which launch several use-cases
sensors-iks01a2 meta-st/meta-st-openstlinux/recipes-samples/demo/sensors-iks01a2.bb Proprietary Python script which monitors the temperature measured by the Nucleo extension board iks01a2a on-board sensor
demo-hotspot-wifi meta-st/meta-st-openstlinux/recipes-samples/hotspot-wifi/demo-hotspot-wifi.bb MIT Shell script to enable/disable hotsopt wifi configuration
st-example-image-qt meta-st/meta-st-openstlinux/recipes-samples/images/st-example-image-qt.bb Proprietary STMicroelectronics example of image based on QT framework.
st-example-image-qtwayland meta-st/meta-st-openstlinux/recipes-samples/images/st-example-image-qtwayland.bb Proprietary STMicroelectronics example of image based on QT framework over Weston/Wayland.
optee-client meta-st/meta-st-openstlinux/recipes-security/optee/optee-client_git.bb BSD OPTEE client
optee-examples meta-st/meta-st-openstlinux/recipes-security/optee/optee-examples.bb GPLv2 OP-TEE examples
optee-test meta-st/meta-st-openstlinux/recipes-security/optee/optee-test_git.bb BSD & GPLv2 OP-TEE sanity testsuite
packagegroup-optee-core meta-st/meta-st-openstlinux/recipes-security/packagegroups/packagegroup-optee-core.bb LGPLv2+ OP-TEE core packagegroup
packagegroup-optee-test meta-st/meta-st-openstlinux/recipes-security/packagegroups/packagegroup-optee-test.bb LGPLv2+ OP-TEE test packagegroup
libsmaf meta-st/meta-st-openstlinux/recipes-security/smaf/libsmaf.bb LGPLv2.1 SMAF library
st-image-core meta-st/meta-st-openstlinux/recipes-st/images/st-image-core.bb Proprietary OpenSTLinux core image.
st-image-weston meta-st/meta-st-openstlinux/recipes-st/images/st-image-weston.bb Proprietary OpenSTLinux weston image with basic Wayland support (if enable in distro).
packagegroup-framework-tools meta-st/meta-st-openstlinux/recipes-st/packagegroups/packagegroup-framework-tools.bb MIT Frameworks components
packagegroup-gstreamer1-0 meta-st/meta-st-openstlinux/recipes-st/packagegroups/packagegroup-gstreamer1-0.bb LGPLv2+ Gstreamer 1.0 components

Recipes addons, such as configurations and patches.

Recipe name Recipe path
openssh meta-st/meta-st-openstlinux/oe-core/recipes-connectivity/openssh/openssh_%.bbappend
packagegroup-core-ssh-openssh meta-st/meta-st-openstlinux/oe-core/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bbappend
dpkg meta-st/meta-st-openstlinux/oe-core/recipes-devtools/dpkg/dpkg_%.bbappend
ckermit meta-st/meta-st-openstlinux/oe-core/recipes-support/ckermit/ckermit_%.bbappend
libiio meta-st/meta-st-openstlinux/oe-core/recipes-support/libiio/libiio_git.bbappend
glmark2 meta-st/meta-st-openstlinux/recipes-benchmark/glmark2/glmark2_%.bbappend
bluez5 meta-st/meta-st-openstlinux/recipes-connectivity/bluez5/bluez5_%.bbappend
connman meta-st/meta-st-openstlinux/recipes-connectivity/connman/connman_%.bbappend
busybox meta-st/meta-st-openstlinux/recipes-core/busybox/busybox_%.bbappend
meta-environment meta-st/meta-st-openstlinux/recipes-core/meta/meta-environment.bbappend
packagegroup-core-eclipse-debug meta-st/meta-st-openstlinux/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bbappend
packagegroup-core-tools-profile meta-st/meta-st-openstlinux/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend
systemd-conf meta-st/meta-st-openstlinux/recipes-core/systemd/systemd-conf.bbappend
systemd-serialgetty meta-st/meta-st-openstlinux/recipes-core/systemd/systemd-serialgetty.bbappend
systemd meta-st/meta-st-openstlinux/recipes-core/systemd/systemd_%.bbappend
cairo meta-st/meta-st-openstlinux/recipes-graphics/cairo/cairo_%.bbappend
kmscube meta-st/meta-st-openstlinux/recipes-graphics/kmscube/kmscube_git.bbappend
lxdm meta-st/meta-st-openstlinux/recipes-graphics/lxdm/lxdm_0.5.3.bbappend
wayland-protocols meta-st/meta-st-openstlinux/recipes-graphics/wayland/wayland-protocols_1.10.bbappend
weston-init meta-st/meta-st-openstlinux/recipes-graphics/wayland/weston-init.bbappend
xserver-nodm-init meta-st/meta-st-openstlinux/recipes-graphics/x11-common/xserver-nodm-init_%.bbappend
xinit meta-st/meta-st-openstlinux/recipes-graphics/xorg-app/xinit_%.bbappend
pixman meta-st/meta-st-openstlinux/recipes-graphics/xorg-lib/pixman_0.34.0.bbappend
alsa-utils meta-st/meta-st-openstlinux/recipes-multimedia/alsa/alsa-utils_1.1.4.bbappend
gstreamer1.0-libav meta-st/meta-st-openstlinux/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.2.bbappend
gstreamer1.0-plugins-bad meta-st/meta-st-openstlinux/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.2.bbappend
gstreamer1.0-plugins-base meta-st/meta-st-openstlinux/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.12.2.bbappend
gstreamer1.0-plugins-good meta-st/meta-st-openstlinux/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.2.bbappend
pulseaudio meta-st/meta-st-openstlinux/recipes-multimedia/pulseaudio/pulseaudio_10.0.bbappend
v4l-utils meta-st/meta-st-openstlinux/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bbappend
packagegroup-qt5-toolchain-target meta-st/meta-st-openstlinux/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend
qtbase meta-st/meta-st-openstlinux/recipes-qt/qt5/qtbase_git.bbappend
qtmultimedia meta-st/meta-st-openstlinux/recipes-qt/qt5/qtmultimedia_git.bbappend
st-image-userfs meta-st/meta-st-openstlinux/recipes-samples/images/st-image-userfs.bbappend
packagegroup-framework-tools meta-st/meta-st-openstlinux/recipes-st/packagegroups/packagegroup-framework-tools.bbappend
ntp meta-st/meta-st-openstlinux/recipes-support/ntp/ntp_%.bbappend
netdata meta-st/meta-st-openstlinux/recipes-webadmin/netdata/netdata_git.bbappend