- Last edited 2 months ago ago
STM32 MPU OpenSTLinux release note - v4.1.0
This article describes the content of OpenSTLinux distribution software release version openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23, which is part of the STM32 MPU ecosystem release note - v4.1.0.
Contents
- 1 Intended audience
- 2 Delivery scope and purpose
- 3 Licensing
- 4 Supported hardware
- 5 Release content
- 6 Release change notification
- 7 Recommendations for use
- 8 Restrictions
- 9 Minor release updates
- 10 How to get started with openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23
- 11 Associated tools
- 12 Yocto features enabled in the delivery
1 Intended audience[edit]
The targeted audience is STM32MP13x lines and STM32MP15x lines
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 STM32 MPU Ecosystem v4.1.0 (see the STM32 MPU ecosystem release note - v4.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 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:
STM32MP13 boards | |||
---|---|---|---|
Boards | PCBs list | Main features | Ordering |
![]() STM32MP135F-DK Discovery kit |
|
|
STM32MP15 boards | |||
---|---|---|---|
Boards | PCBs list | Main features | Ordering |
![]() STM32MP157D-DK1 Discovery kit |
|
|
|
![]() STM32MP157F-DK2 Discovery kit |
|
|
|
![]() STM32MP157D-EV1 Evaluation board |
|
|
|
![]() STM32MP157F-EV1 Evaluation board |
|
|
|
![]() STM32MP157A-DK1 Discovery kit |
|
|
Out of production |
![]() STM32MP157C-DK2 Discovery kit |
|
|
Out of production |
![]() STM32MP157A-EV1 Evaluation board |
|
|
Out of production |
![]() STM32MP157C-EV1 Evaluation board |
|
|
Out of production |
5 Release content[edit]
5.1 Main software components[edit]
- Build process
- OpenEmbedded v4.0.4 (Kirkstone) - Updated
- GCC version v11.3.0 - Updated
- Embedded software components
- Linux kernel v5.15-stm32mp-r2 (v5.15.67) - Updated
- TF-A v2.6-stm32mp-r2 - Updated
- U-Boot v2021.10-stm32mp-r2 - Updated
- OP-TEE 3.16.0-stm32mp-r2 - Updated
- OpenOCD version v0.11.0
- Applicative components
- Weston version v10.0.2 - Updated
- Wayland version 1.20.0
- GStreamer version v1.20.3 - Updated
- GCnano version v6.4.9 - Updated
5.2 Changes[edit]
5.2.1 OpenSTLinux layers[edit]
Changes are:
- Rebase on Yocto LTS Release 4.0.4 (Kirkstone)
- Add support of Firmware Update feature for NAND memory
- Add Arm® Cortex®-A7 and Arm® Cortex®-M4 examples in Starter Package for STM32MP157D-DK1
- Move Arm® Cortex®-A7 and Arm® Cortex®-M4 examples from STM32MP157C-DK2
to STM32MP157F-DK2
- Increase default rootfs ext4 partition size: 3GB for eMMC and 4GB for Micro SD Card
- Minor fixes
5.2.2 Linux® kernel[edit]
New component release tag 5.15-stm32mp-r2 is available, rebased on official Linux® kernel v5.15.67.
Changes are:
- Real Time ready drivers (RT-Linux)
- SPI slave support
- ADC oversampling support
- SPI master driver with dual-qspi mode support
- DMA support for CRYP IP (Crypto performance improvement)
- STM32MP13x lines
:
- New wake up sources
- USB OTG wake up via STM32G0
- Ethernet PHY Wakeup on LAN
- New wake up sources
- Minor fixes
5.2.3 U-Boot[edit]
New component release tag 2021.10-stm32mp-r2 is available, rebased on official U-Boot v2021.10.
Changes are:
- Fix support of STM32MP13x Rev.Y
- Device tree alignment with Linux Kernel v5.15-stm32mp-r2
- Remove tests on CONFIG_DM_REGULATOR
- Fix invalid clock name references in SCMI driver
- Make usage of clock/reset bulk() API in USB EHCI driver
- Fix the display of protected GPIO in gpio and pinmux command
- Display label for gpio in alternate mode in gpio status command
- Fixes for stm32prog command:
- Correctly handle OTP when SMC is not supported
- Support empty flashlayout
- Several fixes for STM32MP13 clock
- Use correct compatible string to add MTD partitions int ft_board_setup()
- Check fdtcontroladdr in label_boot for pxe command parsing, used on extlinux.conf for GENERIC DISTRO support
- Use RGB565 for BMP blitting, as panel configuration
- Several STM32 I2C corrections
- Other minor updates
5.2.4 TF-A[edit]
New component release tag 2.6-stm32mp-r2 is available, rebased on official TF-A v2.6.
Changes are:
- Firmware update on NAND devices
- Improve FIP management on NAND devices
- Add GPIO regulators driver
- Use FCONF to manage the Chain of Trust
- Allow support of non-paged OP-TEE
- Skip boot devices initialization when returning from Standby (only with OP-TEE)
- Minor fixes
5.2.5 OP-TEE[edit]
New component release tag 3.16.0-stm32mp-r2 is available, rebased on official OP_TEE OS 3.16.0.
Changes are:
- ADC driver implementation
- IRQ forwarding
- Update regulator IO management
- Hardware unique key (HUK) implementation:
- using secured OTP through BSEC driver mapping on STM32MP15
- through SAES on STM32MP13
- Minor Fixes
6 Release change notification[edit]
OpenSTLinux attention points to switch from ecosystem release v4.0.0 to ecosystem release v4.1.0
are documented in STM32 MPU OpenSTLinux release changes notification – v4.1.0 article.
7 Recommendations for use[edit]
7.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 STM32MP1 Series.
- Prototype applications based on ST boards.
7.2 Non-recommended use[edit]
- None
8 Restrictions[edit]
- If Firmware Update is not enabled, and the flashlayout partition is not needed anymore, but the storage mapping is hardcoded in U-Boot; either the flashlayout keeps the partitions for Firmware Update feature or U-Boot needs to be updated.
9 Minor release updates[edit]
STMicroelectronics regularly delivers corrections through github® components which are U-Boot, OP-TEE, TF-A, Linux kernel.
The corrections can be incorporated into the Developer Package (refer to STM32MP1 Developer Package) or Distribution Package (see below).
Two possibilities exist to update a Distribution Package:
- Update your existing Distribution Package:
- Switch your Distribution Package to # github® mode .
- Use the devtool modify <recipe name> command to set up an environment. It fetches and unpacks the source code.
- In the extracted source code, use a git command such as git checkout -b WORK <github® TAG> to point to a new revision of the component.
- More rarely STMicroelectronics also delivers fixes on layers through github®. These changes can be integrated (via git commands: git checkout -b WORK <github® commit SHA1>) into the local STM32MP1 Distribution Package environment. See below the github® links of the quoted layers :
- Get a new Distribution Package:
- Refer to Installing_the_OpenSTLinux_distribution page for install instructions, and use the repo command given for the minor version below, if it exists.
10 How to get started with openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23[edit]
Refer to How to download the software and start with this release?
11 Associated tools[edit]
Refer to the Referenced tools release notes .
12 Yocto features enabled in the delivery[edit]
OpenEmbedded[3] build framework engine is named OE-Core.
OpenSTLinux distribution is based on the build framework OpenEmbedded, and can be configured thanks to a mechanism named "features" (machine features, distribution features, ...).
Depending on the features enabled, the resulting distribution can have more capabilities or software embedded.
For example, if the wifi is enabled then the wifi software and drivers are present on the filesystem and the wifi can be used.
12.1 Machine features[edit]
The variable MACHINE_FEATURES specifies the list of hardware features the machine is capable of supporting.
These features (MACHINE_FEATURES) are defined inside the machine configuration .
12.2 Distribution features[edit]
The variable DISTRO_FEATURES specifies the list of software features present in the distribution.
These features (DISTRO_FEATURES) are defined inside the distribution configuration .
Distribution feature | Purpose |
---|---|
alsa | Include ALSA support (OSS compatibility kernel modules installed if available). |
argp | |
autoresize | Add support of userfs auto resize feature in OpenSTLinux |
bluetooth | Include Bluetooth support |
bluez5 | Add Bluetooth stack |
efi | Add userland EFI tools |
ext2 | Add Second Extended File System support |
ext4 | Add Fourth Extended File System support |
gobject-introspection-data | Enable GObject Introspection, project for providing machine readable introspection data of the API of C libraries. |
gplv3 | Add gplv3 binaries in OpenSTLinux |
gstreamer | Add gstreamer tools in filesystem |
initrd | Add ramdisk |
ipv4 | Add ipv4 support |
ipv6 | Add ipv6 support |
kde | Add several tools (e.g. cups, fontconfig, ...) to the filesystem |
largefile | Enable large file support |
ldconfig | Include support for ldconfig and ld.so.conf on the target |
multiarch | Enable 64 bits BFD (Binary File Descriptor) |
nfs | Include NFS client support (for mounting NFS exports on device). |
opengl | Include the Open Graphics Library |
optee | Install tee service on the filesystem |
pam | Enable Pluggable Authentication Module |
pci | Add pci support |
polkit | Enable PolicyKit for controlling system-wide privileges |
pulseaudio | Network-capable sound server program |
splashscreen | Add U-Boot splashscreen |
systemd | Use systemd as init service |
usbgadget | USB Gadget Device support (for USB networking/serial/storage) |
usbhost | USB Host support (allows to connect external keyboard, mouse, storage, network etc) |
wayland | Add Wayland support |
wifi | WiFi support |
xattr | Add "Extended Attributes" support for filesystem |
zeroconf | Add zeroconf package to set up a ad-hoc network |
12.3 Bootscheme labels[edit]
The variable BOOTSCHEME_LABELS defines which kind of boot is supported on the board.
These settings (BOOTSCHEME_LABELS) are defined inside the machine configuration .
Bootscheme label | Purpose |
---|---|
optee | Add optee in bootscheme |
trusted | Add trusted in bootscheme |
12.4 Bootdevice labels[edit]
The variable BOOTDEVICE_LABELS defines which kind of mass storage OpenSTLinux can programmed.
These settings (BOOTDEVICE_LABELS ) are defined inside the machine configuration .
Bootdevice label | Purpose |
---|---|
emmc | Add boot on emmc device |
nand-4-256 | Add boot on NAND device |
nor-sdcard | Add boot stage on NOR device and the filesystem on SD-Card |
sdcard | Add boot on SD-Card |