Last edited 5 years ago

STM32MP15 OpenSTLinux release note: Difference between revisions


Revision as of 16:36, 7 October 2019

This article describes the content of OpenSTLinux distribution software release version openstlinux-4.19-thud-mp1-19-10-09, which is part of STM32MP15 ecosystem release note - v1.1.0.

1. Intended audience[edit source]

The targeted audience is STM32MP15 customers or partners.

2. Delivery scope and purpose[edit source]

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-v1.1.0 (see the STM32MP15 ecosystem release note - v1.1.0).

3. Licensing[edit source]

This software package is licensed under a SOFTWARE LICENSE AGREEMENT FOR ST MATERIALS (SLA). 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 source]

This software delivery is compatible with the following boards:

5. Delivered features[edit source]

5.1. Main software components[edit source]

  • Kernel version LTS v4.19.49
  • TF-A version v2.0
  • U-Boot version v2018.11
  • OP-TEE version v3.3.0
  • STM32CubeMP1 FW v1.1.0
  • OpenEmbedded Thud (v2.6.3)
  • Weston version v5.0.0
  • GStreamer version v1.14.4
  • GCC version v8.2
  • OpenOCD version v0.10.0
  • GCnano version v6.2.4

5.2. Detailed features[edit source]

5.2.1. Kernel part[edit source]

v4.19-stm32mp-r2 : Linux Kernel LTS v4.19.49 delivery for STMP32MP15x support
For build details see README.HOW_TO.txt.

5.2.1.1. v4.19-stm32mp-r1 original release information[edit source]
5.2.1.2. v4.19-stm32mp-r2 update release information[edit source]
  • GPIO expansion and Arduino connectors pins configuration for PWM, SDMMC3, I2C5 and ADC
  • USB OTG and USBH wakeup from CSTOP with a USB device
  • USB OTG dynamic role switch on Type-C connector
  • Audio improvements
  • DDR Performance Monitor linux driver
  • EFI Boot Stub support
  • Various fixes and improvements, in addition to all the fixes incrementaly delivered on our Github.

5.2.2. U-boot part[edit source]

v2018.11-stm32mp-r3 : U-Boot v2018.11 delivery for STMP32MP15x support
For build details see board/st/stm32mp1/README or STM32MP15 U-Boot wiki page.

5.2.2.1. v2018.11-stm32mp-r2 original release information[edit source]
5.2.2.2. v2018.11-stm32mp-r3 update release information[edit source]
  • Add SPI driver
  • Add RTC driver for UEFI
  • Migrate qspi driver to spi-mem framework
  • DDR setting v1.45 / alignment with latest CubeMX generation
  • Solve issues of ethernet driver and phy
  • Activate UEFI support for EBBR (https://github.com/ARM-software/ebbr)
  • Update bootcmd and migrate to Kconfig (CONFIG_BOOTCOMMAND)
  • Activate U-Boot ENV support in boot device (NOR/NAND/eMMC or SD card)
  • Prepare bootcmd for Android
  • Alignment for latest kernel device tree v4.19-stm32mp-r2
  • Alignment with up-streamed drivers
  • Many other corrections

5.2.3. TF-A part[edit source]

v2.0-stm32mp-r2 : TF-A v2.0 delivery for STM32MP15 support
For build details see docs/plat/stm32mp1.rst or STM32MP15 TF-A wiki page.

5.2.3.1. v2.0-stm32mp-r1 original release information[edit source]
5.2.3.2. v2.0-stm32mp-r2 update release information[edit source]
  • Enable LP/LV Stop on evaluation board
  • DDR setting v1.45 / alignment with latest CubeMX generation
  • TF-A: Flasher and/or storage support over build flags (BL2)
  • Enable digital bypass check inside flash part
  • Increase timer precision for calibration
  • Update OTP management
  • Decrease PLL1 frequency when switching in low power mode
  • Many others corrections

5.2.4. OP-TEE part[edit source]

3.3.0-stm32mp-r2 : OP-TEE 3.3.0 delivery for STMP32MP15x support
Build instructions can be found in STM32MP15 OP-TEE wiki page.

The delivery includes the OP-TEE OS package for STM32MP15x platforms support as well as the several generic OP-TEE packages: OP-TEE client, OP-TEE examples and OP-TEE tests. This release note describes the changes in the OP-TEE OS package. Other OP-TEE packages not do need any modification to support the STM32MP15x platforms.

5.2.4.1. 3.3.0-stm32mp-r1 original release information[edit source]
5.2.4.2. 3.3.0-stm32mp-r2 update release information[edit source]
  • Increase timer precision for calibration
  • Update OTP management
  • DDR setting v1.45 / alignment with latest CubeMX generation
  • Decrease PLL1 frequency when switching in low power mode
  • Many others corrections

6. Recommendations for use[edit source]

6.1. Safe use[edit source]

  • Flash-load 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 source]

  • None

7. Main restrictions list[edit source]

  • CubeMX configuration panels propose some internal peripheral modes not supported by TF-A or OP-TEE drivers running in Cortex-A7 secure context.
  • The following table lists all known restrictions.
IP Information/Restriction usage in Cortex-A7 secure context
I2C4/I2C6 The SMBus-two-wire-Interface mode proposed is not supported for Cortex-A7 secure context (TF-A , OP-TEE) as no use case foreseen
PWR TF-A and OP-TEE implementation do not support wake-up events for secure IPs assigned to Cortex-A7 secure context
RCC The master clock output1 et 2, Audio clock input modes proposed are not applicable for Cortex-A7 secure context (TF-A, OP-TEE)
SPI6 The SPI SW driver is not available in OP-TEE implementation for Cortex-A7 secure context
TAMP OP-TEE implementation does not support TAMP_IN inputs and TAMP_OUT outputs in Cortex-A7 secure context
USART1 OP-TEE implementation does not support USART synchronous mode in Cortex-A7 secure context

8. Minor release updates[edit source]

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.
For updating Distribution package please proceed as follow:

  1. Switch to github® mode your Distribution package
  2. Use the command devtool modify <recipe name> to have direct access to source code git used by build process
  3. In source code just extracted, use git command as git checkout -b WORK <github® TAG> to points on new revision of component

More rarely and independently, 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. v1.1.1[edit source]

Component Recipe name new github® release
tf-a tf-a-stm32mp no update
u-boot u-boot-stm32mp v2018.11-stm32mp-r3.1
kernel linux-stm32mp v4.19-stm32mp-r2.3
optee-os optee-os-stm32mp no update

9. How to get started with openstlinux-4.19-thud-mp1-19-10-09[edit source]

Refer to How to get the software and start with this release.

10. Associated tools[edit source]

Refer to the Referenced tools release notes .

11. Detailed delivery content[edit source]

11.1. Detailed description of STMicroelectronics layers[edit source]

In OpenEmbedded, the build framework which was chosen by the OpenSTLinux distribution, a layer is a collection of recipes and/or configurations that can be used 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 source]

Name of layer Description
meta-st-stm32mp BSP Layer for stm32mp
Recipe Name Path of recipe Description
alsa-state-stm32mp1 recipes-bsp/alsa/alsa-state-stm32mp1.bb Alsa scenario files to enable alsa state restoration
gcnano-driver-stm32mp recipes-bsp/drivers/gcnano-driver-stm32mp_6.2.4.bb GCNano kernel drivers
sysdig-driver recipes-bsp/drivers/sysdig-driver_git.bb A New System Troubleshooting Tool Built for the Way You Work
tf-a-stm32mp recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.0.bb Trusted Firmware-A for STM32MP1
u-boot-stm32mp recipes-bsp/u-boot/u-boot-stm32mp_2018.11.bb Universal Boot Loader for embedded devices for stm32mp
u-boot-stm32mp-extlinux recipes-bsp/u-boot/u-boot-stm32mp-extlinux.bb Provide 'extlinux.conf' file for U-Boot
u-boot-stm32mp-splash recipes-bsp/u-boot/u-boot-stm32mp-splash_2018.11.bb Universal Boot Loader Splash Screen for stm32mp embedded devices
wifi-suspend recipes-connectivity/wifi/wifi-suspend.bb Systemd service to suspend/resume correctly the wifi
gcc-arm-none-eabi-native recipes-devtools/gcc-arm-none-eabi/gcc-arm-none-eabi-native_7.bb Baremetal GCC for ARM
nativesdk-gcc-arm-none-eabi recipes-devtools/gcc-arm-none-eabi/nativesdk-gcc-arm-none-eabi_7.bb Baremetal GCC for ARM
openocd-stm32mp recipes-devtools/openocd/openocd-stm32mp_0.10.0.bb Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing
sdcard-raw-tools recipes-devtools/sdcard-raw-tools/sdcard-raw-tools.bb Script for creating raw SDCARD image ready to flash
linux-examples-stm32mp1 recipes-extended/linux-examples/linux-examples-stm32mp1.bb ST STM32MP1 projects for Linux examples
m4fwcoredump recipes-extended/m4coredump/m4fwcoredump.bb Script to manage coredump of cortexM4
m4projects-stm32mp1 recipes-extended/m4projects/m4projects-stm32mp1.bb STM32MP1 Firmware examples for CM4
gcnano-userland-multi-binary-debug-stm32mp recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-debug-stm32mp.bb [DEBUG] Vivante libraries OpenGL ES, OpenVG and EGL (multi backend)
gcnano-userland-multi-binary-stm32mp recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bb Vivante libraries OpenGL ES, OpenVG and EGL (multi backend)
linux-firmware-bluetooth-bcm4343 recipes-kernel/linux-firmware/linux-firmware-bluetooth-bcm4343.bb Bluetooth firmware for BCM4343
linux-stm32mp recipes-kernel/linux/linux-stm32mp_4.19.bb Linux STM32MP Kernel
optee-os-stm32mp recipes-security/optee/optee-os-stm32mp_3.3.0.bb OPTEE TA development kit for stm32mp
st-image-bootfs recipes-st/images/st-image-bootfs.bb STM32MP bootfs Image
st-image-userfs recipes-st/images/st-image-userfs.bb STM32MP userfs Image
st-image-vendorfs recipes-st/images/st-image-vendorfs.bb STM32MP vendorfs Image
hidapi-stm32mp recipes-support/hidapi/hidapi-stm32mp_0.8.0-rc1.bb Multi-platform library to interface with USB and Bluetooth HID-Class devices
libopencsd recipes-support/libopencsd/libopencsd_0.10.0.bb An open source CoreSight Trace Decode library
libopencsd recipes-support/libopencsd/libopencsd_0.10.0.bb CoreSight Trace Decode library
Addons on recipes: configuration, patch, ..
Recipe Name Path of recipe
alsa-lib recipes-bsp/alsa/alsa-lib_%.bbappend
base-files recipes-core/base-files/base-files_%.bbappend
busybox recipes-core/busybox/busybox_%.bbappend
target-sdk-provides-dummy recipes-core/meta/target-sdk-provides-dummy.bbappend
systemd-conf recipes-core/systemd/systemd-conf.bbappend
gdb-cross recipes-devtools/gdb/gdb-cross_%.bbappend
gdb-cross-canadian recipes-devtools/gdb/gdb-cross-canadian_%.bbappend
libdrm recipes-graphics/drm/libdrm_%.bbappend
weston recipes-graphics/wayland/weston_5.0.0.bbappend
weston-init recipes-graphics/wayland/weston-init.bbappend
linux-firmware recipes-kernel/linux-firmware/linux-firmware_git.bbappend
pulseaudio recipes-multimedia/pulseaudio/pulseaudio_%.bbappend

11.1.2. meta-st-stm32mp-addons[edit source]

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 recipes-bsp/alsa/alsa-state-stm32mp1.bbappend
tf-a-stm32mp recipes-bsp/trusted-firmware-a/tf-a-stm32mp_%.bbappend
u-boot-stm32mp recipes-bsp/u-boot/u-boot-stm32mp_%.bbappend
m4projects-stm32mp1 recipes-extended/m4projects/m4projects-stm32mp1.bbappend
linux-stm32mp recipes-kernel/linux/linux-stm32mp_%.bbappend
optee-os-stm32mp recipes-security/optee/optee-os-stm32mp_%.bbappend

11.1.3. meta-st-openstlinux[edit source]

Name of layer Description
meta-st-openstlinux OpenSTLinux layer - framework/image settings
Recipe Name Path of recipe Description
resize-helper recipes-bsp/tools/resize-helper.bb Tools for resizing the file system
usbotg-gadget-config recipes-bsp/tools/usbotg-gadget-config.bb The goal is to enable USB gadget configuration
psplash-drm recipes-core/psplash/psplash-drm.bb Basic splash screen which display a picture on DRM/KMS
systemd-mount-partitions recipes-core/systemd/systemd-mount-partitions.bb Mount partitions
systemd-networkd-configuration recipes-core/systemd/systemd-networkd-configuration.bb Basic networkd configuration
libb64 recipes-extended/libb64/libb64_git.bb Library for base64 encoding/decoding data
lsb-openstlinux recipes-extended/lsb/lsb-openstlinux.bb LSB support to check gpu provider
openstlinux-qt-eglfs recipes-qt/qt5/openstlinux-qt-eglfs.bb add script and material to help with eglfs qt configuration
ai-hand-char-reco-launcher recipes-samples/ai-nn-application/ai-hand-char-reco-launcher.bb Hand writing character recognition launcher based on HCR Neural Network
demo-launcher recipes-samples/demo/demo-launcher.bb Python script which launch several use-cases
qrenc recipes-samples/demo/qrenc.bb qrenc which uses libqrencode to generate QR-code
sensors-iks01a2 recipes-samples/demo/sensors-iks01a2.bb Python script which monitor temperature from sensor on Nucleo extension board iks01a2a
event-gtk-player recipes-samples/event-gtk-player/event-gtk-player_git.bb GTK player with touch screen management
demo-hotspot-wifi recipes-samples/hotspot-wifi/demo-hotspot-wifi.bb Shell script to enable/disable hotsopt wifi configuration
st-example-image-qt recipes-samples/images/st-example-image-qt.bb ST example of image based on QT framework.
st-example-image-x11 recipes-samples/images/st-example-image-x11.bb ST example of image based on X11.
st-example-image-xfce recipes-samples/images/st-example-image-xfce.bb ST example of image based on XFCE framework.
packagegroup-framework-sample-qt recipes-samples/packagegroups/packagegroup-framework-sample-qt.bb Framework sample qt components
packagegroup-framework-sample-qt-extra recipes-samples/packagegroups/packagegroup-framework-sample-qt-extra.bb Framework sample qt extra components
packagegroup-framework-sample-x11 recipes-samples/packagegroups/packagegroup-framework-sample-x11.bb Framework sample x11 components
packagegroup-framework-sample-xfce recipes-samples/packagegroups/packagegroup-framework-sample-xfce.bb Framework sample xfce components
weston-cube recipes-samples/weston-cube/weston-cube_git.bb 3D cube for wayland/weston windows
optee-client recipes-security/optee/optee-client.bb OPTEE Client
optee-examples recipes-security/optee/optee-examples.bb OP-TEE examples
optee-test recipes-security/optee/optee-test_git.bb OP-TEE sanity testsuite
packagegroup-optee-core recipes-security/packagegroups/packagegroup-optee-core.bb OPTEE core packagegroup
packagegroup-optee-test recipes-security/packagegroups/packagegroup-optee-test.bb OPTEE test packagegroup
libsmaf recipes-security/smaf/libsmaf.bb SMAF library
st-image-core recipes-st/images/st-image-core.bb OpenSTLinux core image.
st-image-weston recipes-st/images/st-image-weston.bb OpenSTLinux weston image with basic Wayland support (if enable in distro).
packagegroup-framework-core-base recipes-st/packagegroups/packagegroup-framework-core-base.bb Framework core base components for display and mutlimedia
packagegroup-framework-core recipes-st/packagegroups/packagegroup-framework-core.bb Framework core components for display and mutlimedia
packagegroup-framework-core-extra recipes-st/packagegroups/packagegroup-framework-core-extra.bb Framework core extra components for display and mutlimedia
packagegroup-framework-tools-base recipes-st/packagegroups/packagegroup-framework-tools-base.bb Framework tools base components (core,kernel,network,audio,ui,python2,python3)
packagegroup-framework-tools recipes-st/packagegroups/packagegroup-framework-tools.bb Framework tools components (core,kernel,network,audio,ui,python2,python3)
packagegroup-framework-tools-extra recipes-st/packagegroups/packagegroup-framework-tools-extra.bb Framework tools extra components (core,kernel,network,audio,ui,python2,python3)
packagegroup-gstreamer1-0 recipes-st/packagegroups/packagegroup-gstreamer1-0.bb Gstreamer 1.0 components
Recipes addons, such as configurations and patches.
Recipe name Recipe path
openssh oe-core/recipes-connectivity/openssh/openssh_%.bbappend
wireless-regdb oe-core/recipes-connectivity/wireless-regdb/wireless-regdb_%.bbappend
packagegroup-core-ssh-openssh oe-core/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bbappend
dpkg oe-core/recipes-devtools/dpkg/dpkg_%.bbappend
mesa oe-core/recipes-grapĥics/mesa/mesa_18.1.9.bbappend
ckermit oe-core/recipes-support/ckermit/ckermit_%.bbappend
libiio oe-core/recipes-support/libiio/libiio_git.bbappend
glmark2 recipes-benchmark/glmark2/glmark2_%.bbappend
bluez5 recipes-connectivity/bluez5/bluez5_%.bbappend
connman recipes-connectivity/connman/connman_%.bbappend
busybox recipes-core/busybox/busybox_%.bbappend
packagegroup-core-eclipse-debug recipes-core/packagegroups/packagegroup-core-eclipse-debug.bbappend
packagegroup-core-tools-profile recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend
systemd recipes-core/systemd/systemd_239.bbappend
systemd-conf recipes-core/systemd/systemd-conf.bbappend
systemd-serialgetty recipes-core/systemd/systemd-serialgetty.bbappend
bash recipes-extended/bash/bash_%.bbappend
sysdig recipes-extended/sysdig/sysdig_git.bbappend
cairo recipes-graphics/cairo/cairo_%.bbappend
kmscube recipes-graphics/kmscube/kmscube_git.bbappend
lxdm recipes-graphics/lxdm/lxdm_0.5.3.bbappend
wayland-protocols recipes-graphics/wayland/wayland-protocols_1.16.bbappend
weston-init recipes-graphics/wayland/weston-init.bbappend
xserver-nodm-init recipes-graphics/x11-common/xserver-nodm-init_%.bbappend
xinit recipes-graphics/xorg-app/xinit_%.bbappend
pixman recipes-graphics/xorg-lib/pixman_0.34.0.bbappend
alsa-utils recipes-multimedia/alsa/alsa-utils_1.1.6.bbappend
gstreamer1.0-libav recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bbappend
gstreamer1.0-plugins-bad recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bbappend
gstreamer1.0-plugins-base recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bbappend
gstreamer1.0-plugins-good recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bbappend
pulseaudio recipes-multimedia/pulseaudio/pulseaudio_12.2.bbappend
v4l-utils recipes-multimedia/v4l2apps/v4l-utils_1.16.0.bbappend
packagegroup-qt5-toolchain-target recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend
qtbase recipes-qt/qt5/qtbase_git.bbappend
qtmultimedia recipes-qt/qt5/qtmultimedia_git.bbappend
st-image-userfs recipes-samples/images/st-image-userfs.bbappend
ntp recipes-support/ntp/ntp_%.bbappend
netdata recipes-webadmin/netdata/netdata_git.bbappend


12. Archives[edit source]

STM32MP15 release OpenSTLinux release note
STM32MP15-Ecosystem-v1.0.0 STM32MP15 OpenSTLinux release note - v1.0.0