Last edited 4 years ago

STM32MP15 OpenSTLinux release note - v1.2.0

This article describes the content of OpenSTLinux distribution software release version openstlinux-20-02-19, which is part of STM32MP15 ecosystem release note - v1.2.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.2.0 (see the STM32MP15 ecosystem release note - v1.2.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 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.94
  • TF-A version v2.0
  • U-Boot version v2018.11
  • OP-TEE version v3.3.0
  • STM32CubeMP1 FW v1.2.0
  • OpenEmbedded Thud (v2.6.4)
  • 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. Userland part[edit source]

This release introduces the package repository service that enables the live installation of packages.

5.2.2. Kernel part[edit source]

5.2.2.1. v4.19-stm32mp-r3 update release information[edit source]

v4.19-stm32mp-r3 corresponds to Linux Kernel LTS v4.19.94 delivery supporting STMP32MP15x (for build details see README.HOW_TO.txt):

  • Added support for 800 MHz part numbers (15xD and 15xF)
  • Added support for DFSDM ADC scale/offset attributes
  • Improved RPMSG TTY driver
  • Improved RPROC driver
  • Added support for DMA FIFO bypass (Direct mode)
  • Added support for UART DMA
  • Added PINCTRL RSVD (reserved) pin configuration to reserve pins for a coprocessor
  • Added support for I2C SMBus Alert
  • Added support for I2C any bus frequency
  • Added STMFX, PMIC drivers backport from kernel mainline
  • Various fixes and improvements in addition to all the fixes incrementally delivered on Github.
5.2.2.2. v4.19-stm32mp-r2 update release information[edit source]
  • Added GPIO expansion and Arduino connector pin configuration for PWM, SDMMC3, I2C5 and ADC
  • Added USB_OTG and USBH wakeup from CStop with a USB device
  • Added USB_OTG dynamic role switch on Type-C connector
  • Audio improvements
  • Added DDR Performance Monitor linux driver
  • Added support for EFI Boot Stub
  • Various fixes and improvements, in addition to all the fixes incrementaly delivered on Github.
5.2.2.3. v4.19-stm32mp-r1 initial release information[edit source]
  • stm32mp157c-ev1
  • stm32mp157c-ed1
  • stm32mp157a-dk1
  • stm32mp157c-dk2
  • Added support for the following drivers in the kernel:
Cortex® -A7 Features Internal peripheral Linux framework Available
ADC ADC iio yes
DAC DAC iio yes
DMA DMA dmaengine yes
sigma delta ADC DFSDM iio yes
Audio Playback or Record SAI asoc yes
Audio Playback or Record I2S asoc yes
Audio record, SPDIF SPDIF asoc yes
Audio Record with DFSDM DFSDM asoc yes
Backlight PWM video/backlight yes
BT UART yes
Camera DCMI v4l2 yes
CAN FDCAN network yes
CEC CEC v4l2 yes
Coprocessing IPCC rpm yes
Crypto CRYPTO crypto yes
Crypto HASH crypto yes
Crypto CRC crypto yes
Crypto RNG yes
DDR DDR NA yes
DSI Backlight DSI drm/kms & video/backlight yes
DSI Display DSI drm/kms yes
eMMC SDMMC mmc yes
Ethernet ETH network yes
GPU GPU yes
HDMI Audio I2S asoc yes on DK
HDMI Display LTDC & I2C drm/kms yes
HW spinlock HSEM hw_spinlock yes
I2C I2C i2c yes
RGB display LTDC drm/kms yes
NAND Flash FMC mtd yes
NOR Flash QUADSPI mtd yes
Pin control GPIO Pinctrl yes
Power PSCI1.0 PSCI1.0 yes
PMIC PMIC regulator yes
RTC RTC rtc yes
SDCard - SDR50 SDMMC mmc yes
SDCard - SDR104 SDMMC mmc yes
SPI SPI spi yes
Timers LPTIMER pwm/iio yes
Timers TIMER pwm/iio yes
Timers - Capture TIMER pwm yes
Touchscreen I2C input/touchscreen yes
UART U(S)ART tty yes
USB Host USBH usb yes
USB OTG USBOTG usb yes
Video (GStreamer) NA NA yes
VREFBUF VREFBUF regulator yes
Watchdog IWDG watchdog yes
Wifi SDIO yes

5.2.3. U-boot part[edit source]

5.2.3.1. v2018.11-stm32mp-r4 update release information[edit source]

v2018.11-stm32mp-r4 corresponds to U-Boot v2018.11 delivery supporting STMP32MP15x (for build details, see board/st/stm32mp1/README or STM32MP15 U-Boot wiki page):

  • Added support for STM32MP15x Rev.Z
  • Added supported for 800 MHz part numbers (15xD and 15xF)
  • Allowed PLL1 configuration with OPP
  • Increased vdd2_ddr for 32-bit LPDDR2/3
  • Corrected power-cycle for SDMMC
  • Allowed all I2C bus frequencies
  • Correctly handled resource table and elf header in remote proc
  • Added support for phy-reset-gpios in net driver
  • Corrected handle reference between video and panel driver (avoid crash for NULL ref)
  • Aligned Device tree with v4.19-stm32mp-r3
  • Minor fixes
5.2.3.2. v2018.11-stm32mp-r3 update release information[edit source]
  • Added SPI driver
  • Added RTC driver for UEFI
  • Migrated QUADSPI driver to spi-mem framework
  • Aligned DDR setting v1.45 with latest STM32CubeMX generation
  • Fixed issues on Ethernet driver and phy
  • Activated UEFI support for EBBR (https://github.com/ARM-software/ebbr)
  • Updated bootcmd and migrated to Kconfig (CONFIG_BOOTCOMMAND)
  • Activated U-Boot ENV support on boot device (NOR/NAND/eMMC or SD card)
  • Prepared bootcmd for Android
  • Aligned to latest kernel device tree v4.19-stm32mp-r2
  • Aligned with upstreamed drivers
  • Additional fixed implemented
5.2.3.3. v2018.11-stm32mp-r2 initial release information[edit source]
  • Added stm32mp architecture (arch/arm/mach-stm32mp) to support STMP32MP15x
  • Added STMicroelectronics stm32mp1 board (board/st/stm32mp1).
    This generic board supports all the bootable devices for all
    STM32MP1 boards with generic distribution feature (CONFIG_DISTRO).
    The supported bootable devices are the following:
  • SDCard
  • eMMC
  • NOR Flash memory devices (SF)
  • NAND Flash memory devices
  • stm32mp157c-ev1
  • stm32mp157c-ed1
  • stm32mp157a-dk1
  • stm32mp157c-dk2
  • The "Trusted" boot chain (defconfig_file : stm32mp15_trusted_defconfig)
    ROM code => FSBL = Trusted Firmware-A (TF-A) => SSBL = U-Boot in non-secure world - 'The trusted boot chain is the default full-featured boot chain solution delivered by STMicroelectronics.
  • The "Basic" boot chain (defconfig_file : stm32mp15_basic_defconfig)
    ROM code => FSBL = U-Boot SPL => SSBL = U-Boot in secure world - STMicroelectronics upstreams the Basic boot chain with a limited number of features. The U-Boot community can then extend it.
  • Added support for the following drivers in U-Boot:
  • RCC drivers for Clock, Reset, Sysreset
  • drivers/clk/clk_stm32mp1.c
  • drivers/reset/stm32-reset.c
  • GPIO (drivers/gpio/stm32f7_gpio.c)
  • PINCONTROL (drivers/pinctrl/pinctrl_stm32.c)
  • UART/USART (drivers/serial/serial_stm32.c)
  • DDR controller and PHY (drivers/ram/stm32mp1)
  • SDCard/MMC controller = SDMMC (drivers/mmc/stm32_sdmmc2.c)
  • NAND controller FMC (drivers/mtd/nand/raw/stm32_fmc2_nand.c)
  • NOR controller QSPI (drivers/spi/stm32_qspi.c)
  • USB_OTG controller (OTG DWC2) and PHY (USBPHYC)
  • drivers/phy/phy-stm32-usbphyc.c
  • drivers/usb/gadget/dwc2_udc_otg.c
  • drivers/usb/gadget/gen_udc_otg_phy.c
  • drivers/usb/host/dwc2.c
  • ETH (drivers/net/dwc_eth_qos.c)
  • I2C (drivers/i2c/stm32f7_i2c.c)
  • PWR regulator (arch/arm/mach-stm32mp/pwr_regulator.c)
  • VREF regulator (drivers/power/regulator/stm32-vrefbuf.c)
  • STPMIC1 (PMIC and regulator)
  • drivers/power/pmic/stpmic1.c
  • drivers/power/regulator/stpmic1.c
  • BSEC for OTP (arch/arm/mach-stm32mp/bsec.c)
  • WATCHDOG (drivers/watchdog/stm32mp_wdt.c)
  • ADC (drivers/adc/stm32-adc.c and stm32-adc-core.c)
  • HWSINLOCK (drivers/hwspinlock/stm32_hwspinlock.c)
  • IPCC mailbox (drivers/mailbox/stm32-ipcc.c)
  • VIDEO drivers for LTDC and DSI
  • drivers/video/stm32/stm32_dsi.c
  • drivers/video/stm32/stm32_ltdc.c
  • Panel drivers:
  • drivers/video/dw_mipi_dsi.c
  • drivers/video/mipi_display.c
  • drivers/video/orisetech_otm8009a.c
  • drivers/video/raydium-rm68200.c
  • SYSCFG init (in board: board/st/stm32mp1/stm32mp1.c)
  • STMFX gpio expender (drivers/pinctrl/pinctrl-stmfx.c)
  • The following commands have been added, supported or modified:
  • stm32prog for STM32CubeProgrammer tools support (USB or UART) in U-Boot (arch/arm/mach-stm32mp/cmd_stm32prog)
  • rproc for M4 firmware load (drivers/remoteproc/stm32_copro.c)
  • fuse support with 2 banks for OTP (BSEC) and STMPIC1 non volatile memory (drivers/misc/stm32mp_fuse.c)
  • poweroff (arch/arm/mach-stm32mp/cmd_poweroff.c)
  • stm32key (arch/arm/mach-stm32mp/cmd_stm32key.c)
  • Please note that:
  • savenv is not supported (CONFIG_ENV_IS_NOWHERE is activated by default)
  • boot from NAND is not supported for basic boot
  • STM32CubeProgrammer is not supported by SPL in basic boot

5.2.4. TF-A part[edit source]

5.2.4.1. v2.0-stm32mp-r3 update release information[edit source]

v2.0-stm32mp-r3 corresponds to TF-A v3.0 delivery for STM32MP15 support (for build details see docs/plat/stm32mp1.rst or STM32MP15 TF-A wiki page):

  • Added support for STM32MP15x Rev.Z
  • Added support for 800 MHz part numbers (15xD and 15xF)
  • Changed boot sequence to support the maximum frequency at boot time
  • Reduced CPU frequency in low-power mode
  • Added support for DDR auto self refresh
  • Added TZC400 interrupt management
  • Added SDMMC power cycle management
  • Added Device tree OTP management
  • Added I2C4 for PMIC up to 400KHz
  • Corrected exit from Standby
  • Corrected STGEN time after Standby
  • Implemented additional security fixes
5.2.4.2. v2.0-stm32mp-r2 update release information[edit source]
  • Enabled LP/LV Stop on evaluation board
  • Aligned DDR setting with latest CubeMX generation
  • For TF-A, added support for Flasher and/or storage over build flags (BL2)
  • Enabled digital bypass check inside Flash part
  • Increased timer precision for calibration
  • Updated OTP management
  • Decreased PLL1 frequency when switching to low-power mode
  • Additional fixed implemented.
5.2.4.3. v2.0-stm32mp-r1 initial release information[edit source]
  • Bootrom -> TF-A (BL2) -> TF-A(SP_MIN) -> U-BOOT
  • Bootrom -> TF-A (BL2) -> OP-TEE -> U-BOOT
  • Added stm32mp1 architecture (plat/st/stm32mp1) to support STM32MP15
  • Ensured compliance with ARM requirements docs/porting-guide.rst
  • Added an stm32mp common part (plat/st/stm32mp)
  • Added stm32 peripherals drivers
  • The official board now supports all the following bootable devices:
  • SDCard
  • eMMC
  • NOR Flash memory devices (SPI Flash, Single and Dual mode)
  • NAND Flash memory devices (FMC controlled, BCH4/BCH8, ONFI, NON-ONFI)
  • stm32mp157c-ev1
  • stm32mp157c-ed1
  • stm32mp157a-dk1
  • stm32mp157c-dk2
  • Added clock tree configuration based on device tree
  • Platform initialization
  • CSI/HSI Calibration
  • Added DDR initialization (device tree based) v1.41
  • Added secure boot authentication and integrity check (ECDSA based) using dedicated STM32 header
  • Added secure platform configuration over device tree
  • Added support for shared resources management
  • Added early watchdog interrupt management
  • Added secure interrupt management
  • Added support for PSCI for power management
  • Added support for STM32Programmer
  • Added the following drivers:
    • BSEC driver for OTP management (drivers/st/bsec/bsec.c)
    • RCC driver for Clock, Reset
      • drivers/st/clk/stm32mp1_clk.c
      • drivers/st/clk/stm32mp1_func.c
      • drivers/st/clk/stm32mp_func.c
      • driver/st/reset/stm32mp1_reset.c
    • DDR controller and PHY
      • drivers/st/ddr/stm32mp1_ddr.c
      • drivers/st/ddr/stm32mp1_ddr_helpers.c
      • drivers/st/ddr/stm32mp1_ram.c
    • ETZPC driver (driver/etzpc/etzpc.c)
    • HASH driver (driver/hash/hash_sec.c)
    • I2C (driver/i2c/stm32_i2c.c)
    • I/O interface
      • driver/st/io/io_mmc.c
      • driver/st/io/io_stm32image.c
    • WATCHDOG (driver/st/stm32_iwdg.c)
    • SDCard/MMC controller (driver/st/mmc/stm32_sdmmc.c)
    • NAND controller FMC
      • driver/st/nand/io_nand.c
      • driver/st/nand/nand.c
    • STPMIC1
      • driver/st/pmic/stm32mp_pmic.c
      • driver/st/pmic/stpmic1.c
    • NOR controller QSPI (driver/st/qspi/io_qspi.c)
    • RNG driver (driver/st/rng/stm32_rng.c)
    • RTC driver (driver/st/rtc/stm32_rtc.c)
    • TAMPER driver(driver/st/tamper/stm32_tamp.c)
    • TIMER driver for clock calibration (driver/st/timer/stm32_timer.c)
    • UART driver (Console management)
      • driver/st/uart/aarch32/stm32_console.S
      • driver/st/uart/stm32mp1xx_hal_uart.c
    • USB driver (No enumeration)
      • driver/st/usb/usb_dwc2.c
  • Others features:
    • Added support for STM32CubeProgrammer
      • driver/st/io/io_programmer_st_usb.c
      • driver/st/uart/ io_programmer_uart.c
    • ARM SiP services:
      • Definition (plat/st/stm32mp1/services/stm32mp1_svc_setup.c)
      • Clock/Reset (plat/st/stm32mp1/services/rcc_svc.c)
      • Power (plat/st/stm32mp1/services/pwr_svc.c)
      • NVMEM (plat/st/stm32mp1/services/bsec_svc.c)
      • Power Domain (plat/st/stm32mp1/services/low_power_svc.c)
    • Dedicated STM32 Header tools (tools/stm32image/stm32image.c)

5.2.5. OP-TEE part[edit source]

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. The other OP-TEE packages not do require any modification to support STM32MP15x platforms.

5.2.5.1. 3.3.0-stm32mp-r3 update release information[edit source]

3.3.0-stm32mp-r3 corresponds to OP-TEE 3.3.0 delivery for STMP32MP15x support.
Build instructions can be found in STM32MP15 OP-TEE wiki page.

  • Added support for STM32MP15x Rev.Z
  • Added support for 800 MHz part numbers (15xD and 15xF)
  • Reduced CPU frequency on low-power mode
  • Added management of Device tree OTP
  • Added I2C4 for PMIC up to 400KHz
  • Build warning corrections
5.2.5.2. 3.3.0-stm32mp-r2 update release information[edit source]
  • Increased timer precision for calibration
  • Updated OTP management
  • Aligned DDR setting v1.45 with latest CubeMX generation
  • Decreased PLL1 frequency when switching in low-power mode
  • Many others fixes implemented
5.2.5.3. 3.3.0-stm32mp-r1 initial release information[edit source]

Delivery based on OP-TEE release tag 3.3.0 with the following modifications:

  • Added support for stm32mp1 architecture for STM32MP15x with OP-TEE core running in internal SYSRAM (OP-TEE pager enabled):
  • core/arch/arm/plat-stm32mp1/*
  • Updated STM32 UART driver for OP-TEE debug (output) console:
  • core/drivers/stm32_uart.c
  • Added generic board configuration through device tree technology and STM32MP15x boards description:
  • stm32mp157c-ev1
  • stm32mp157c-ed1
  • stm32mp157c-dk2
  • stm32mp157a-dk1 available for test only as it does not support suspend/resume mode.
  • core/secure_dt.mk & changes in core/arch/arm/generic_boot.c
  • core/arch/arm/fdts/*
  • core/include/dt-bindings/*
  • Added stm32mp1 platform clocks, reset and PWR drivers:
    Clock driver excludes clock tree parenthood configuration which is expected from the secure bootloader for consistency considerations.
  • core/arch/arm/plat-stm32mp1/drivers/stm32mp1_clk.c
  • core/arch/arm/plat-stm32mp1/drivers/stm32mp1_rcc.c
  • core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pwr.c
  • core/arch/arm/plat-stm32mp1/drivers/stm32_reset.c
  • Added stm32mp1 platform CSI/HSI calibration, using STM32 TIM driver:
  • core/arch/arm/plat-stm32mp1/drivers/stm32mp1_calib.c
  • core/drivers/stm32_timer.c
  • Added STPMIC1 driver and stm32mp1 platform driver for STPMIC1:
  • core/drivers/stpmic1.c
  • core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
  • Added several STM32 drivers:
  • STM32 BSEC (OTP): core/drivers/stm32_i2c.c
  • STM32 ETZPC: core/drivers/stm32_etzpc.c
  • STM32 GPIO and pin muxing: core/drivers/stm32_gpio.c
  • STM32 I2C: core/drivers/stm32_i2c.c
  • STM32 IWDG: core/drivers/stm32_iwdg.c
  • STM32 RNG: core/drivers/stm32_rng.c
  • STM32 RTC: core/drivers/stm32_rtc.c
  • STM32 TIM: core/drivers/stm32_timer.c (support for HSI/CSI calibration only)
  • Added support for peripheral assignment to secure and/or non-secure world:
  • core/arch/arm/plat-stm32mp1/shared_resources.c
  • Added SiP platform services for BSEC, PWR and RCC accesses from non-secure world:
  • core/arch/arm/plat-stm32mp1/service/bsec_svc.c
  • core/arch/arm/plat-stm32mp1/service/pwr_svc.c
  • core/arch/arm/plat-stm32mp1/service/rcc_svc.c
  • Added platform suspend/resume for platform low-power support over PSCI protocol:
    This includes a DDR driver for autorefresh mode and SiP services for power states configuration.
  • core/arm/arch/plat-stm32mp1/pm/*
  • core/arch/arm/plat-stm32mp1/drivers/stm32mp1_ddr.c
  • core/arch/arm/plat-stm32mp1/service/low_power.c
  • Updated GIC driver for low power state supports:
  • core/drivers/gic.c
  • core/kernel/interrupt.c
  • Added generic timeout detection functions:
  • core/arch/arm/kernel/delay.c
  • Updated generic memory mapping driver to support mapping of secure read-only memory:
  • core/arch/arm/mm/core_mmu.c
  • Updated generic CPU suspend support to support LPAE mapping:
  • core/arch/arm/sm/pm_a32.S
  • Added Util for pre-formating OP-TEE boot images for verified boot (STM32 Header tool):
  • core/arch/arm/plat-stm32mp1/stm32image.py

6. Main restrictions[edit source]

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

7. Minor release updates[edit source]

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

  1. Switch to github® mode your Distribution package.
  2. Use the devtool modify <recipe name> command to directly access the source code git uses by build processes.
  3. In the source code just extracted, use the git checkout -b WORK <github® TAG> command such to point to the new component revision.

STMicroelectronics also delivers dedicated fixes on layers through github®. These changes can be integrated (via git commands) into your local STM32MP1 Distribution Package environment. Below the github® links corresponding to each layer:

7.1. v1.2.3[edit source]

Component Recipe name new github® release
tf-a tf-a-stm32mp v2.0-stm32mp-r3.3
u-boot u-boot-stm32mp v2018.11-stm32mp-r4.3
kernel linux-stm32mp v4.19-stm32mp-r3.3
optee-os optee-os-stm32mp 3.3.0-stm32mp-r3.3

7.2. v1.2.2[edit source]

Component Recipe name new github® release
tf-a tf-a-stm32mp v2.0-stm32mp-r3.2
u-boot u-boot-stm32mp v2018.11-stm32mp-r4.3
kernel linux-stm32mp v4.19-stm32mp-r3.2
optee-os optee-os-stm32mp 3.3.0-stm32mp-r3.2

7.3. v1.2.1[edit source]

Component Recipe name new github® release
tf-a tf-a-stm32mp v2.0-stm32mp-r3.1
u-boot u-boot-stm32mp v2018.11-stm32mp-r4.2
kernel linux-stm32mp v4.19-stm32mp-r3.1
optee-os optee-os-stm32mp 3.3.0-stm32mp-r3.1

8. How to get started with openstlinux-20-02-19[edit source]

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

9. Associated tools[edit source]

Refer to the Referenced tools release notes .

10. Detailed delivery content[edit source]

10.1. Detailed description of STMicroelectronics layers[edit source]

In OpenEmbedded, the build framework that 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.

10.1.1. meta-st-stm32mp[edit source]

Name of layer Description
meta-st-stm32mp BSP Layer for stm32mp
Recipe name Recipe path 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 bootloader for embedded devices for stm32mp
u-boot-stm32mp-extlinux recipes-bsp/u-boot/u-boot-stm32mp-extlinux.bb This recipe provides 'extlinux.conf' file for U-Boot
u-boot-stm32mp-splash recipes-bsp/u-boot/u-boot-stm32mp-splash_2018.11.bb Universal bootloader splash screen for stm32mp embedded devices
wifi-suspend recipes-connectivity/wifi/wifi-suspend.bb Systemd service to correctly suspend/resume Wi-Fi communications
cmsis-svd recipes-devtools/cmsis-svd_git.bb CMSIS SVD data files and parser
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 ready-to-flash image
svd-tools recipes-devtools/svd-tools/svd-tools_git.bb Python script for using CMSIS SVD parser with GDB
libb64 recipes-extended/libb64/libb64_git.bb Library for base64 encoding/decoding data
linux-examples-stm32mp1 recipes-extended/linux-examples/linux-examples-stm32mp1.bb STMicroelectronics STM32MP1 projects for Linux examples
m4fwcoredump recipes-extended/m4coredump/m4fwcoredump.bb Script for managing coredump on Cortex-M4 core
m4projects-stm32mp1 recipes-extended/m4projects/m4projects-stm32mp1.bb STM32MP1 firmware examples for Cortex-M4 core
gcnano-userland-multi-binary-debug-stm32mp recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-debug-stm32mp.bb [DEBUG] Vivante OpenGL ES, OpenVG and EGL (multi backend) libraries
gcnano-userland-multi-binary-stm32mp recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bb Vivante OpenGL ES, OpenVG and EGL (multi backend) libraries
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
packagegroup-st-demo recipes-st/packagegroups/packagegroup-st-demo.bb List of the packages that need to be installed on Userfs (with potential dependency)
hidapi-stm32mp recipes-support/hidapi/hidapi-stm32mp_0.8.0-rc1.bb Multiplatform library to interface with USB and Bluetooth HID-Class devices
libopencsd recipes-support/libopencsd/libopencsd_0.10.0.bb CoreSight Trace Decode library
Recipe add-ons (such as configuration and patches)
Recipe name Recipe path
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
cmsis-svd recipes-devtools/cmsis-svd/cmsis-svd_git.bbappend
gdb-cross recipes-devtools/gdb/gdb-cross_%.bbappend
gdb-cross-canadian recipes-devtools/gdb/gdb-cross-canadian_%.bbappend
svd-tools recipes-devtools/svd-tools/svd-tools_git.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

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

Name of layer Description
meta-st-stm32mp-addons BSP addons layer for stm32mp
Addons on recipes (such as configuration and patches)
Recipe name Recipe path
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

10.1.3. meta-st-openstlinux[edit source]

Name of layer Description
meta-st-openstlinux OpenSTLinux layer - framework/image settings
Recipe name Recipe path 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 This recipe enables USB gadget configuration
psplash-drm recipes-core/psplash/psplash-drm.bb Basic splash screen that displays 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
apt-openstlinux recipes-devtool/apt-openstlinux/apt-openstlinux_1.0.bb apt configuration files for OpenSTLinux
lsb-openstlinux recipes-extended/lsb/lsb-openstlinux.bb LSB support for checking gpu provider
openstlinux-qt-eglfs recipes-qt/qt5/openstlinux-qt-eglfs.bb Script and material for configuring eglfs qt
ai-hand-char-reco-launcher recipes-samples/ai-nn-application/ai-hand-char-reco-launcher.bb Handwriting character recognition launcher based on HCR Neural Network
demo-application-3d-cube recipes-samples/demo-application/demo-application-3d-cube.bb Support for 3D Cube application on Demo Launcher
demo-launcher recipes-samples/demo/demo-launcher.bb Python script that launches several usecases
qrenc recipes-samples/demo/qrenc.bb qrenc using libqrencode to generate QR-code
sensors-iks01a2 recipes-samples/demo/sensors-iks01a2.bb Python script for monitoring the temperature measured by a sensor on Nucleo extension board iks01a2a
event-gtk-player recipes-samples/event-gtk-player/event-gtk-player_git.bb GTK player with touchscreen management
demo-hotspot-wifi recipes-samples/hotspot-wifi/demo-hotspot-wifi.bb Shell script that enables/disables hotsopt Wi-Fi configuration
st-example-image-qt recipes-samples/images/st-example-image-qt.bb STMicroelectronics example of an image based on QT framework.
st-example-image-x11 recipes-samples/images/st-example-image-x11.bb STMicroelectronics example of an image based on X11.
st-example-image-xfce recipes-samples/images/st-example-image-xfce.bb STMicroelectronics example of an 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
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
userfs-cleanup-package recipes-support/userfs/userfs-cleanup-package.bb Tools for cleaning apt databse
Recipes add-ons (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
ltrace oe-core/recipes-devtools/ltrace/ltrace_git.bbappend
cups oe-core/recipes-extended/cups/cups_%.bbappend
mesa oe-core/recipes-graphics/mesa/mesa_18.1.9.bbappend
ckermit oe-core/recipes-support/ckermit/ckermit_%.bbappend
libiio oe-core/recipes-support/libiio/libiio_git.bbappend
lvm2 oe-core/recipes-support/lvm2/lvm2_%.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
apt recipes-devtool/apt/apt_%.bbappend
bash recipes-extended/bash/bash_%.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-ini 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
packagegroup-st-demo recipes-st/packagegroups/packagegroup-st-demo.bbappend
ntp recipes-support/ntp/ntp_%.bbappend
netdata recipes-webadmin/netdata/netdata_git.bbappend