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:
- STM32MP157C-EV1 Evaluation board. For more information on this board, please read the article STM32MP157C-EV1 - hardware description
- STM32MP157X-DK1 and STM32MP157X-DK2 Discovery kit. For more information on these boards, please read the article STM32MP157X-DKX - hardware description
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]
- Added support for the following device trees on the supported boards:
- 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
- Added device tree for the following supported boards:
- stm32mp157c-ev1
- stm32mp157c-ed1
- stm32mp157a-dk1
- stm32mp157c-dk2
- Added defconfig for the two supported boot chains:
- 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.
- The "Trusted" boot chain (defconfig_file : stm32mp15_trusted_defconfig)
- 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]
- Added support for Trusted Bootchain (Monitor or OP-TEE)
- 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)
- Added device tree for the following supported boards
- 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)
- Added support for STM32CubeProgrammer
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:
- Switch to github® mode your Distribution package.
- Use the devtool modify <recipe name> command to directly access the source code git uses by build processes.
- 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 |