Last edited one year ago

Changes notification – v4.0.0

Applicable for STM32MP13x lines, STM32MP15x lines


BackToNavigationTree button.png


1. Article purpose[edit source]

The article aims to help rebase an STM32 MPU project on a new ecosystem release by focusing on the impacts of the main changes.

2. Scope of this article[edit source]

This article provides some details for main changes between STM32 MPU ecosystem release v3.1.0 and new STM32 MPU ecosystem release v4.0.0 More info.png to help for migrating your project.

All Information about the features delivered in the new release is also available in the OpenSTLinux release note.

3. Impacted domains[edit source]

3.1. Yocto build environment for Distribution Package[edit source]

These are Yocto layers/recipes to update for the new Kirkstone version. Follow the scripts available in the OpenEmbedded-Core layer to help the user:

  • ./layers/openembedded-core/scripts/contrib/convert-overrides.py
  • ./layers/openembedded-core/scripts/contrib/convert-spdx-licenses.py
  • ./layers/openembedded-core/scripts/contrib/convert-srcuri.py
  • ./layers/openembedded-core/scripts/contrib/convert-variable-renames.py
(See Yocto Kirkstone release note[1] for more information.)

3.2. Hardware configuration[edit source]

Check the device tree files for the STMP32 MPU board: Linux Kernel: between Linux kernel v5.15-stm32mp-r1 (v5.15.24) and previous Linux kernel v5.10-stm32mp-r2 (v5.10.61)

  • New STM32MP135x-DK Discovery kit More info green.png

U-Boot: between U-Boot v2021.10-stm32mp-r1 and previous U-Boot v2020.10-stm32mp-r2

  • New STM32MP135x-DK Discovery kit More info green.png

OP-TEE: between OP-TEE 3.16.0-stm32mp-r1 and previous OP-TEE 3.12.0-stm32mp-r2

  • New STM32MP135x-DK Discovery kit More info green.png
  • Update the device tree to use a bus controller configuration in order to manage secure/nonsecure IP.
  • Remove the secure-status.
  • Remove the unused nodes in OP-TEE.
  • Define the GPIO secure configuration in the device tree.
  • I2C compatible update for STM32MP15 lines to manage nonsecure PMIC in OP-TEE (st,stm32mp15-i2c-non-secure)
  • Remove the nvmem_layout bindings.
  • Reduce the device tree and only keep the securable peripheral nodes.

TF-A: between TF-A v2.6-stm32mp-r1 and previous TF-A v2.4-stm32mp-r2

  • New STM32MP135x-DK Discovery kit More info green.png
  • Remove the secure-status.
  • Remove the nvmem_layout bindings.
  • DDR: remove the unused configuration defined.
  • Clean up the device tree to keep only the required nodes. Reduce the device tree size.
Info white.png Information
This is possible with git diff command to get delta between two branches in the same repository.
Example with STLINUX GitHub repository and for all STM32MP1 device tree files:

git diff v5.10-stm32mp-r2 v5.15-stm32mp-r1 -- arch/arm/boot/dts/stm32mp1*

3.3. System configuration[edit source]

  • FIP only is supported on STM32 MPU ecosystem release v4.0.0 More info.png . NoFIP is no more supported.
  • FOTA (memory mapping if activated and GPT UUID partition fixed). If no FOTA is activated, there is no change at the driver level. The impact is on flash layout.
  • There is also a memory mapping update linked to OP-TEE.

3.4. Boot stages[edit source]

BL2

  • BL2 includes more hardcoded configuration values such as early console default parameters.
  • Remove the STM32 image management (parsing and authentication).
  • Introduce the PSA_FWU support: Fix specific UUID for GPT partitions when these are used.
  • Update the NAND core driver to allow the external memory usage for temporary buffer.

SP-MIN boot chain deprecated replaced by OP-TEE.

3.5. Security[edit source]

  • Rework the firewall control management: use a bus controller to add the device tree node to a probe list
  • TZC400 configuration managed in OP-TEE
  • Calibration binding updated: Use a dedicated binding for the calibration, out from the RCC node.
  • Remove the proprietary SMC access replaced by the SCMI access or the dedicated PTA.
  • Move RNG to secure RNG by default.
  • Remove the SCMI channel 1 that is unused and rename SCMI0 to SCMI.
  • New BSEC PTA for OTP management
  • New Introduce the Trusted UI framework
  • New SCMI performance for STM32MP13 lines
  • New Use the clock framework to manage clocks

3.6. User space and applications[edit source]

A new "weston" user is now required for "wayland", which avoids executing some application with root profile for security reasons.

  • su -l weston -c "<command>" could be used to specify the user profile, which mainly impacts Graphic and Audio frameworks usage.

4. References[edit source]